UNPKG

@multiversx/sdk-transaction-decoder

Version:
182 lines (181 loc) 8.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const transaction_decoder_1 = require("./../src/transaction.decoder"); test('Simple wallet to wallet transfer with dummy data text', () => { const decoder = new transaction_decoder_1.TransactionDecoder(); const metadata = decoder.getTransactionMetadata({ sender: 'erd18w6yj09l9jwlpj5cjqq9eccfgulkympv7d4rj6vq4u49j8fpwzwsvx7e85', receiver: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', data: 'ZHVtbXlUZXh0', value: '10000000000000000', }); expect(metadata).toEqual({ sender: 'erd18w6yj09l9jwlpj5cjqq9eccfgulkympv7d4rj6vq4u49j8fpwzwsvx7e85', receiver: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', value: BigInt('10000000000000000'), functionName: 'transfer', }); }); test('Smart contract call without arguments', () => { const decoder = new transaction_decoder_1.TransactionDecoder(); const metadata = decoder.getTransactionMetadata({ sender: 'erd18w6yj09l9jwlpj5cjqq9eccfgulkympv7d4rj6vq4u49j8fpwzwsvx7e85', receiver: 'erd1qqqqqqqqqqqqqpgqmua7hcd05yxypyj7sv7pffrquy9gf86s535qxct34s', data: 'bXlFbmRwb2ludA==', value: '0', }); expect(metadata).toEqual({ sender: 'erd18w6yj09l9jwlpj5cjqq9eccfgulkympv7d4rj6vq4u49j8fpwzwsvx7e85', receiver: 'erd1qqqqqqqqqqqqqpgqmua7hcd05yxypyj7sv7pffrquy9gf86s535qxct34s', value: BigInt('0'), functionName: 'myEndpoint', functionArgs: [], }); }); test('NFT Smart contract call', () => { const decoder = new transaction_decoder_1.TransactionDecoder(); const metadata = decoder.getTransactionMetadata({ sender: 'erd18w6yj09l9jwlpj5cjqq9eccfgulkympv7d4rj6vq4u49j8fpwzwsvx7e85', receiver: 'erd18w6yj09l9jwlpj5cjqq9eccfgulkympv7d4rj6vq4u49j8fpwzwsvx7e85', data: 'RVNEVE5GVFRyYW5zZmVyQDRjNGI0ZDQ1NTgyZDYxNjE2MjM5MzEzMEAyZmI0ZTlAZTQwZjE2OTk3MTY1NWU2YmIwNGNAMDAwMDAwMDAwMDAwMDAwMDA1MDBkZjNiZWJlMWFmYTEwYzQwOTI1ZTgzM2MxNGE0NjBlMTBhODQ5ZjUwYTQ2OEA3Mzc3NjE3MDVmNmM2YjZkNjU3ODVmNzQ2ZjVmNjU2NzZjNjRAMGIzNzdmMjYxYzNjNzE5MUA=', value: '0', }); expect(metadata).toEqual({ sender: 'erd18w6yj09l9jwlpj5cjqq9eccfgulkympv7d4rj6vq4u49j8fpwzwsvx7e85', receiver: 'erd1qqqqqqqqqqqqqpgqmua7hcd05yxypyj7sv7pffrquy9gf86s535qxct34s', value: BigInt('1076977887712805212893260'), functionName: 'swap_lkmex_to_egld', functionArgs: [ '0b377f261c3c7191', '', ], transfers: [ { value: BigInt('1076977887712805212893260'), properties: { collection: 'LKMEX-aab910', identifier: 'LKMEX-aab910-2fb4e9', }, }, ], }); }); test('MultiESDTNFTTransfer', () => { const decoder = new transaction_decoder_1.TransactionDecoder(); const metadata = decoder.getTransactionMetadata({ sender: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', receiver: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', data: 'TXVsdGlFU0RUTkZUVHJhbnNmZXJAMDAwMDAwMDAwMDAwMDAwMDA1MDBkZjNiZWJlMWFmYTEwYzQwOTI1ZTgzM2MxNGE0NjBlMTBhODQ5ZjUwYTQ2OEAwMkA0YzRiNGQ0NTU4MmQ2MTYxNjIzOTMxMzBAMmZlM2IwQDA5Yjk5YTZkYjMwMDI3ZTRmM2VjQDRjNGI0ZDQ1NTgyZDYxNjE2MjM5MzEzMEAzMTAyY2FAMDEyNjMwZTlhMjlmMmY5MzgxNDQ5MUA3Mzc3NjE3MDVmNmM2YjZkNjU3ODVmNzQ2ZjVmNjU2NzZjNjRAMGVkZTY0MzExYjhkMDFiNUA=', value: '0', }); expect(metadata).toEqual({ sender: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', receiver: 'erd1qqqqqqqqqqqqqpgqmua7hcd05yxypyj7sv7pffrquy9gf86s535qxct34s', value: BigInt('0'), functionName: 'swap_lkmex_to_egld', functionArgs: [ '0ede64311b8d01b5', '', ], transfers: [ { value: BigInt('45925073746530627023852'), properties: { collection: 'LKMEX-aab910', identifier: 'LKMEX-aab910-2fe3b0', }, }, { value: BigInt('1389278024872597502641297'), properties: { collection: 'LKMEX-aab910', identifier: 'LKMEX-aab910-3102ca', }, }, ], }); }); test('ESDT Transfer', () => { const decoder = new transaction_decoder_1.TransactionDecoder(); const metadata = decoder.getTransactionMetadata({ sender: 'erd1jvc6nyyl73q2yardw7dj8235h5zqaum4qyc8wlgs6aa26seysuvsrp48x2', receiver: 'erd1flqg2zf3knya94lcupscdwmrud029mes8a85r202rvwpzjyk5tjqxt8dxu', data: 'RVNEVFRyYW5zZmVyQDUwNGM0MTU0NDEyZDM5NjI2MTM2NjMzM0AwMTJhMDVmMjAw', value: '0', }); expect(metadata).toEqual({ sender: 'erd1jvc6nyyl73q2yardw7dj8235h5zqaum4qyc8wlgs6aa26seysuvsrp48x2', receiver: 'erd1flqg2zf3knya94lcupscdwmrud029mes8a85r202rvwpzjyk5tjqxt8dxu', value: BigInt('5000000000'), transfers: [ { value: BigInt('5000000000'), properties: { identifier: 'PLATA-9ba6c3', }, }, ], }); }); test('MultiESDTNFTTransfer fungible (with 00 nonce) + meta', () => { const decoder = new transaction_decoder_1.TransactionDecoder(); const metadata = decoder.getTransactionMetadata({ sender: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', receiver: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', data: 'TXVsdGlFU0RUTkZUVHJhbnNmZXJAMDAwMDAwMDAwMDAwMDAwMDA1MDBkZjNiZWJlMWFmYTEwYzQwOTI1ZTgzM2MxNGE0NjBlMTBhODQ5ZjUwYTQ2OEAwMkA0YzRiNGQ0NTU4MmQ2MTYxNjIzOTMxMzBAMmZlM2IwQDA5Yjk5YTZkYjMwMDI3ZTRmM2VjQDU1NTM0NDQzMmQzMzM1MzA2MzM0NjVAMDBAMDEyNjMwZTlhMjlmMmY5MzgxNDQ5MUA3MDYxNzk1ZjZkNjU3NDYxNWY2MTZlNjQ1ZjY2NzU2ZTY3Njk2MjZjNjVAMGVkZTY0MzExYjhkMDFiNUA=', value: '0', }); expect(metadata).toEqual({ sender: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', receiver: 'erd1qqqqqqqqqqqqqpgqmua7hcd05yxypyj7sv7pffrquy9gf86s535qxct34s', value: BigInt('0'), functionName: 'pay_meta_and_fungible', functionArgs: [ '0ede64311b8d01b5', '', ], transfers: [ { value: BigInt('45925073746530627023852'), properties: { collection: 'LKMEX-aab910', identifier: 'LKMEX-aab910-2fe3b0', }, }, { value: BigInt('1389278024872597502641297'), properties: { token: 'USDC-350c4e', }, }, ], }); }); test('MultiESDTNFTTransfer fungibles (00 and missing nonce)', () => { const decoder = new transaction_decoder_1.TransactionDecoder(); const metadata = decoder.getTransactionMetadata({ sender: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', receiver: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', data: 'TXVsdGlFU0RUTkZUVHJhbnNmZXJAMDAwMDAwMDAwMDAwMDAwMDA1MDBkZjNiZWJlMWFmYTEwYzQwOTI1ZTgzM2MxNGE0NjBlMTBhODQ5ZjUwYTQ2OEAwMkA1MjQ5NDQ0NTJkMzAzNTYyMzE2MjYyQDAwQDA5Yjk5YTZkYjMwMDI3ZTRmM2VjQDU1NTM0NDQzMmQzMzM1MzA2MzM0NjVAQDAxMjYzMGU5YTI5ZjJmOTM4MTQ0OTE=', value: '0', }); expect(metadata).toEqual({ sender: 'erd1lkrrrn3ws9sp854kdpzer9f77eglqpeet3e3k3uxvqxw9p3eq6xqxj43r9', receiver: 'erd1qqqqqqqqqqqqqpgqmua7hcd05yxypyj7sv7pffrquy9gf86s535qxct34s', value: BigInt('0'), transfers: [ { value: BigInt('45925073746530627023852'), properties: { token: 'RIDE-05b1bb', }, }, { value: BigInt('1389278024872597502641297'), properties: { token: 'USDC-350c4e', }, }, ], }); });