Skip to content

Commit

Permalink
fix unwrapOrdefault issue
Browse files Browse the repository at this point in the history
  • Loading branch information
justraman committed Mar 1, 2024
1 parent 693fcf7 commit a3ab730
Showing 1 changed file with 30 additions and 22 deletions.
52 changes: 30 additions & 22 deletions src/populateBlock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -336,60 +336,68 @@ async function syncToken(ctx: CommonContext, block: SubstrateBlock) {
const collection = await ctx.store.findOneOrFail(Collection, { where: { id: collectionId.toString() } })

let cap = null
if (data.cap?.unwrapOrDefault().isSupply) {
if (data.cap.isNone) {
cap = null
} else if (data.cap.unwrap().isSupply) {
cap = new TokenCapSupply({
type: CapType.Supply,
supply: data.cap.unwrapOrDefault().asSupply.toBigInt(),
supply: data.cap.unwrap().asSupply.toBigInt(),
})
} else if (data.cap?.unwrapOrDefault().isSingleMint) {
} else if (data.cap.unwrap().isSingleMint) {
cap = new TokenCapSingleMint({
type: CapType.SingleMint,
})
}

let behavior = null
if (data.marketBehavior?.unwrapOrDefault().isIsCurrency) {
if (data.marketBehavior.isNone) {
behavior = null
} else if (data.marketBehavior.unwrap().isIsCurrency) {
behavior = new TokenBehaviorIsCurrency({
type: TokenBehaviorType.IsCurrency,
})
} else if (data.marketBehavior?.unwrapOrDefault().isHasRoyalty) {
const { beneficiary } = data.marketBehavior.unwrapOrDefault().asHasRoyalty
} else if (data.marketBehavior.unwrap().isHasRoyalty) {
const { beneficiary } = data.marketBehavior.unwrap().asHasRoyalty
// eslint-disable-next-line no-await-in-loop
await getAccountMap(ctx, [beneficiary.toU8a()])

behavior = new TokenBehaviorHasRoyalty({
type: TokenBehaviorType.HasRoyalty,
royalty: new Royalty({
beneficiary: u8aToHex(beneficiary),
percentage: data.marketBehavior.unwrapOrDefault().asHasRoyalty.percentage.toNumber(),
percentage: data.marketBehavior.unwrap().asHasRoyalty.percentage.toNumber(),
}),
})
}

let freezeState = null

switch (data.freezeState?.unwrapOrDefault().type) {
case 'Temporary':
freezeState = FreezeState.Temporary
break
case 'Permanent':
freezeState = FreezeState.Permanent
break
case 'Never':
freezeState = FreezeState.Never
break
default:
freezeState = null
break
if (data.freezeState.isNone) {
freezeState = null
} else {
switch (data.freezeState.unwrap().type) {
case 'Temporary':
freezeState = FreezeState.Temporary
break
case 'Permanent':
freezeState = FreezeState.Permanent
break
case 'Never':
freezeState = FreezeState.Never
break
default:
freezeState = null
break
}
}

const token = new Token({
id: `${collectionId}-${tokenId}`,
tokenId: BigInt(tokenId),
collection,
attributeCount: data.attributeCount?.toNumber() ?? 0,
attributeCount: data.attributeCount.toNumber() ?? 0,
supply: data.supply.toBigInt(),
isFrozen: data.freezeState.unwrapOrDefault().isPermanent || data.freezeState.unwrapOrDefault().isTemporary,
isFrozen: freezeState === FreezeState.Permanent || freezeState === FreezeState.Temporary,
cap,
behavior,
freezeState,
Expand Down

0 comments on commit a3ab730

Please sign in to comment.