fix: nft value encoding in /transactions_with_transfers #885

This commit is contained in:
Thomas Osmonson
2021-12-10 14:04:22 -06:00
committed by GitHub
parent d479309dcd
commit 4964fe7c5e
4 changed files with 55 additions and 16 deletions

View File

@@ -88,8 +88,18 @@
"description": "Non Fungible Token asset identifier."
},
"value": {
"type": "string",
"description": "Non Fungible Token asset value."
"type": "object",
"description": "Non Fungible Token asset value.",
"additionalProperties": false,
"required": ["hex", "repr"],
"properties": {
"hex": {
"type": "string"
},
"repr": {
"type": "string"
}
}
},
"sender": {
"type": "string",

5
docs/generated.d.ts vendored
View File

@@ -1023,7 +1023,10 @@ export interface AddressTransactionWithTransfers {
/**
* Non Fungible Token asset value.
*/
value: string;
value: {
hex: string;
repr: string;
};
/**
* Principal that sent the asset.
*/

View File

@@ -327,12 +327,20 @@ export function createAddressRouter(db: DataStore, chainId: ChainID): RouterWith
sender: transfer.sender,
recipient: transfer.recipient,
})),
nft_transfers: entry.nft_transfers.map(transfer => ({
asset_identifier: transfer.asset_identifier,
value: transfer.value.toString(),
sender: transfer.sender,
recipient: transfer.recipient,
})),
nft_transfers: entry.nft_transfers.map(transfer => {
const valueHex = bufferToHexPrefixString(transfer.value);
const valueRepr = cvToString(deserializeCV(transfer.value));
const nftTransfer = {
asset_identifier: transfer.asset_identifier,
value: {
hex: valueHex,
repr: valueRepr,
},
sender: transfer.sender,
recipient: transfer.recipient,
};
return nftTransfer;
}),
};
return result;
});

View File

@@ -3404,7 +3404,7 @@ describe('api tests', () => {
tx_id: tx.tx_id,
tx_index: tx.tx_index,
block_height: tx.block_height,
value: Buffer.from(amount.toString()),
value: serializeCV(uintCV(amount)),
recipient,
sender,
};
@@ -3514,13 +3514,19 @@ describe('api tests', () => {
asset_identifier: 'punk1',
sender: 'ST1HB64MAJ1MBV4CQ80GF01DZS4T1DSMX20ADCRA4',
recipient: 'ST3DWSXBPYDB484QXFTR81K4AWG4ZB5XZNFF3H70C',
value: '35',
value: {
hex: '0x0100000000000000000000000000000023',
repr: 'u35',
},
},
{
asset_identifier: 'punk1',
sender: 'ST1HB64MAJ1MBV4CQ80GF01DZS4T1DSMX20ADCRA4',
recipient: 'ST3DWSXBPYDB484QXFTR81K4AWG4ZB5XZNFF3H70C',
value: '35',
value: {
hex: '0x0100000000000000000000000000000023',
repr: 'u35',
},
},
],
},
@@ -3577,7 +3583,10 @@ describe('api tests', () => {
asset_identifier: 'punk1',
sender: 'ST1HB64MAJ1MBV4CQ80GF01DZS4T1DSMX20ADCRA4',
recipient: 'ST27W5M8BRKA7C5MZE2R1S1F4XTPHFWFRNHA9M04Y.hello-world',
value: '250',
value: {
hex: '0x01000000000000000000000000000000fa',
repr: 'u250',
},
},
],
},
@@ -3647,7 +3656,10 @@ describe('api tests', () => {
asset_identifier: 'punk1',
sender: 'ST1HB64MAJ1MBV4CQ80GF01DZS4T1DSMX20ADCRA4',
recipient: 'ST27W5M8BRKA7C5MZE2R1S1F4XTPHFWFRNHA9M04Y.hello-world',
value: '100',
value: {
hex: '0x0100000000000000000000000000000064',
repr: 'u100',
},
},
],
},
@@ -3802,13 +3814,19 @@ describe('api tests', () => {
asset_identifier: 'punk1',
sender: 'ST1HB64MAJ1MBV4CQ80GF01DZS4T1DSMX20ADCRA4',
recipient: 'ST3DWSXBPYDB484QXFTR81K4AWG4ZB5XZNFF3H70C',
value: '35',
value: {
hex: '0x0100000000000000000000000000000023',
repr: 'u35',
},
},
{
asset_identifier: 'punk1',
sender: 'ST1HB64MAJ1MBV4CQ80GF01DZS4T1DSMX20ADCRA4',
recipient: 'ST3DWSXBPYDB484QXFTR81K4AWG4ZB5XZNFF3H70C',
value: '35',
value: {
hex: '0x0100000000000000000000000000000023',
repr: 'u35',
},
},
],
},