diff --git a/BNB Smart Chain/bsc-starter/README.md b/BNB Smart Chain/bsc-starter/README.md index 3b8694b9..5f311a1d 100644 --- a/BNB Smart Chain/bsc-starter/README.md +++ b/BNB Smart Chain/bsc-starter/README.md @@ -90,12 +90,13 @@ For the `subql-starter` project, you can try to query with the following code to ```graphql query { - transfers(first: 5, orderBy: VALUE_DESC) { + transfers(first: 5, orderBy: BLOCK_HEIGHT_ASC) { nodes { id - value - to + blockHeight from + to + value contractAddress } } diff --git a/BNB Smart Chain/bsc-starter/package.json b/BNB Smart Chain/bsc-starter/package.json index 4acdb0bc..3289d8af 100644 --- a/BNB Smart Chain/bsc-starter/package.json +++ b/BNB Smart Chain/bsc-starter/package.json @@ -31,5 +31,8 @@ "@subql/types": "latest", "ethers": "^5.7.2", "typescript": "4.5.5" + }, + "resolutions":{ + "@polkadot/util": "11.1.3" } } diff --git a/BNB Smart Chain/bsc-starter/schema.graphql b/BNB Smart Chain/bsc-starter/schema.graphql index 9c2ab529..ac8c025d 100644 --- a/BNB Smart Chain/bsc-starter/schema.graphql +++ b/BNB Smart Chain/bsc-starter/schema.graphql @@ -4,16 +4,18 @@ type Transfer @entity { id: ID! # Transaction hash - value: BigInt! + blockHeight: String to: String! from: String! + value: BigInt! contractAddress: String! } type Approval @entity { id: ID! # Transaction hash - value: BigInt! + blockHeight: String owner: String! spender: String! + value: BigInt! contractAddress: String! } diff --git a/BNB Smart Chain/bsc-starter/src/mappings/mappingHandlers.ts b/BNB Smart Chain/bsc-starter/src/mappings/mappingHandlers.ts index a1a2596e..929c2a02 100644 --- a/BNB Smart Chain/bsc-starter/src/mappings/mappingHandlers.ts +++ b/BNB Smart Chain/bsc-starter/src/mappings/mappingHandlers.ts @@ -8,9 +8,10 @@ export async function handleLog(log: TransferLog): Promise { logger.info(`New transfer transaction log at block ${log.blockNumber}`); const transfer = Transfer.create({ id: log.transactionHash, - value: log.args.value.toBigInt(), + blockHeight: log.blockNumber.toString(), from: log.args.from, to: log.args.to, + value: log.args.value.toBigInt(), contractAddress: log.address, }); @@ -21,6 +22,7 @@ export async function handleTransaction(tx: ApproveTransaction): Promise { logger.info(`New Approval transaction at block ${tx.blockNumber}`); const approval = Approval.create({ id: tx.hash, + blockHeight: tx.blockNumber.toString(), owner: tx.from, spender: await tx.args[0], value: BigInt(await tx.args[1].toString()),