quasvel
Version:
Access and interact with Aragon Organizations and their apps.
44 lines (36 loc) • 1.09 kB
text/typescript
import { QueryResult } from '@aragon/connect-thegraph'
import { CollateralRequirementData } from '../../types'
import CollateralRequirement from '../../models/CollateralRequirement'
function buildCollateralRequirement(
collateralRequirement: any,
connector: any
): CollateralRequirement {
const {
id,
token,
disputable,
actionAmount,
challengeAmount,
challengeDuration,
} = collateralRequirement
const collateralRequirementData: CollateralRequirementData = {
id,
disputableAppId: disputable.id,
tokenId: token.id,
tokenDecimals: token.decimals,
actionAmount,
challengeAmount,
challengeDuration,
}
return new CollateralRequirement(collateralRequirementData, connector)
}
export function parseCollateralRequirement(
result: QueryResult,
connector: any
): CollateralRequirement {
const collateralRequirement = result.data.collateralRequirement
if (!collateralRequirement) {
throw new Error('Unable to parse collateral requirement.')
}
return buildCollateralRequirement(collateralRequirement, connector)
}