@alephium/web3 2.0.8 → 3.0.0-test.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +165 -0
- package/README.md +11 -1
- package/dist/{src → _cjs}/address/address.js +60 -77
- package/dist/_cjs/address/address.js.map +1 -0
- package/dist/{src → _cjs}/address/index.js +1 -17
- package/dist/_cjs/address/index.js.map +1 -0
- package/dist/_cjs/api/api-alephium.d.ts +1152 -0
- package/dist/{src → _cjs}/api/api-alephium.js +5 -756
- package/dist/_cjs/api/api-alephium.js.map +1 -0
- package/dist/_cjs/api/api-explorer.d.ts +586 -0
- package/dist/{src → _cjs}/api/api-explorer.js +14 -454
- package/dist/_cjs/api/api-explorer.js.map +1 -0
- package/dist/{src → _cjs}/api/explorer-provider.js +1 -18
- package/dist/_cjs/api/explorer-provider.js.map +1 -0
- package/dist/{src → _cjs}/api/index.js +18 -24
- package/dist/_cjs/api/index.js.map +1 -0
- package/dist/{src → _cjs}/api/node-provider.d.ts +1 -1
- package/dist/{src → _cjs}/api/node-provider.js +4 -26
- package/dist/_cjs/api/node-provider.js.map +1 -0
- package/dist/{src → _cjs}/api/types.js +25 -43
- package/dist/_cjs/api/types.js.map +1 -0
- package/dist/{src → _cjs}/api/utils.d.ts +1 -1
- package/dist/{src → _cjs}/api/utils.js +9 -21
- package/dist/_cjs/api/utils.js.map +1 -0
- package/dist/{src → _cjs}/block/block.js +20 -26
- package/dist/_cjs/block/block.js.map +1 -0
- package/dist/_cjs/block/index.d.ts +2 -0
- package/dist/_cjs/block/index.js +6 -0
- package/dist/_cjs/block/index.js.map +1 -0
- package/dist/{src → _cjs}/codec/array-codec.js +1 -17
- package/dist/_cjs/codec/array-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/asset-output-codec.js +1 -17
- package/dist/_cjs/codec/asset-output-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/bigint-codec.js +2 -33
- package/dist/_cjs/codec/bigint-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/bytestring-codec.d.ts +1 -1
- package/dist/{src → _cjs}/codec/bytestring-codec.js +1 -17
- package/dist/_cjs/codec/bytestring-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/checksum-codec.js +1 -17
- package/dist/_cjs/codec/checksum-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/codec.js +3 -19
- package/dist/_cjs/codec/codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/compact-int-codec.js +2 -18
- package/dist/_cjs/codec/compact-int-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/contract-codec.js +1 -17
- package/dist/_cjs/codec/contract-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/contract-output-codec.js +1 -17
- package/dist/_cjs/codec/contract-output-codec.js.map +1 -0
- package/dist/_cjs/codec/contract-output-ref-codec.js +12 -0
- package/dist/_cjs/codec/contract-output-ref-codec.js.map +1 -0
- package/dist/_cjs/codec/either-codec.js +8 -0
- package/dist/_cjs/codec/either-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/hash.d.ts +1 -1
- package/dist/_cjs/codec/hash.js +20 -0
- package/dist/_cjs/codec/hash.js.map +1 -0
- package/dist/{src → _cjs}/codec/index.js +18 -24
- package/dist/_cjs/codec/index.js.map +1 -0
- package/dist/{src → _cjs}/codec/input-codec.js +1 -0
- package/dist/_cjs/codec/input-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/instr-codec.js +4 -21
- package/dist/_cjs/codec/instr-codec.js.map +1 -0
- package/dist/_cjs/codec/int-as-4bytes-codec.js +16 -0
- package/dist/_cjs/codec/int-as-4bytes-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/lockup-script-codec.d.ts +1 -1
- package/dist/{src → _cjs}/codec/lockup-script-codec.js +1 -17
- package/dist/_cjs/codec/lockup-script-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/method-codec.js +1 -17
- package/dist/_cjs/codec/method-codec.js.map +1 -0
- package/dist/_cjs/codec/option-codec.js +19 -0
- package/dist/_cjs/codec/option-codec.js.map +1 -0
- package/dist/_cjs/codec/output-codec.js +10 -0
- package/dist/_cjs/codec/output-codec.js.map +1 -0
- package/dist/_cjs/codec/public-key-like-codec.js +14 -0
- package/dist/_cjs/codec/public-key-like-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/reader.js +1 -17
- package/dist/_cjs/codec/reader.js.map +1 -0
- package/dist/_cjs/codec/script-codec.js +18 -0
- package/dist/_cjs/codec/script-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/signature-codec.d.ts +1 -1
- package/dist/_cjs/codec/signature-codec.js +8 -0
- package/dist/_cjs/codec/signature-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/timestamp-codec.js +1 -17
- package/dist/_cjs/codec/timestamp-codec.js.map +1 -0
- package/dist/_cjs/codec/token-codec.js +12 -0
- package/dist/_cjs/codec/token-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/transaction-codec.js +1 -17
- package/dist/_cjs/codec/transaction-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/unlock-script-codec.d.ts +1 -1
- package/dist/{src → _cjs}/codec/unlock-script-codec.js +1 -17
- package/dist/_cjs/codec/unlock-script-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/unsigned-tx-codec.js +1 -0
- package/dist/_cjs/codec/unsigned-tx-codec.js.map +1 -0
- package/dist/{src → _cjs}/codec/val.js +1 -17
- package/dist/_cjs/codec/val.js.map +1 -0
- package/dist/{src → _cjs}/constants.d.ts +0 -3
- package/dist/{src → _cjs}/constants.js +1 -20
- package/dist/_cjs/constants.js.map +1 -0
- package/dist/{src → _cjs}/contract/contract.js +89 -80
- package/dist/_cjs/contract/contract.js.map +1 -0
- package/dist/{src → _cjs}/contract/dapp-tx-builder.js +3 -19
- package/dist/_cjs/contract/dapp-tx-builder.js.map +1 -0
- package/dist/_cjs/contract/deployment.js +3 -0
- package/dist/_cjs/contract/deployment.js.map +1 -0
- package/dist/{src → _cjs}/contract/events.js +20 -26
- package/dist/_cjs/contract/events.js.map +1 -0
- package/dist/{src → _cjs}/contract/index.js +1 -17
- package/dist/_cjs/contract/index.js.map +1 -0
- package/dist/{src → _cjs}/contract/ralph.js +35 -69
- package/dist/_cjs/contract/ralph.js.map +1 -0
- package/dist/{src → _cjs}/contract/script-simulator.d.ts +0 -12
- package/dist/{src → _cjs}/contract/script-simulator.js +23 -64
- package/dist/_cjs/contract/script-simulator.js.map +1 -0
- package/dist/_cjs/debug.js +29 -0
- package/dist/_cjs/debug.js.map +1 -0
- package/dist/{src → _cjs}/error.js +1 -17
- package/dist/_cjs/error.js.map +1 -0
- package/dist/{src → _cjs}/exchange/exchange.js +8 -26
- package/dist/_cjs/exchange/exchange.js.map +1 -0
- package/dist/_cjs/exchange/index.d.ts +2 -0
- package/dist/{src → _cjs}/exchange/index.js +1 -17
- package/dist/_cjs/exchange/index.js.map +1 -0
- package/dist/{src → _cjs}/global.js +7 -26
- package/dist/_cjs/global.js.map +1 -0
- package/dist/{src → _cjs}/index.js +18 -27
- package/dist/_cjs/index.js.map +1 -0
- package/dist/_cjs/package.json +1 -0
- package/dist/{src → _cjs}/signer/index.js +1 -17
- package/dist/_cjs/signer/index.js.map +1 -0
- package/dist/{src → _cjs}/signer/signer.js +16 -63
- package/dist/_cjs/signer/signer.js.map +1 -0
- package/dist/{src → _cjs}/signer/tx-builder.js +4 -21
- package/dist/_cjs/signer/tx-builder.js.map +1 -0
- package/dist/{src → _cjs}/signer/types.js +6 -22
- package/dist/_cjs/signer/types.js.map +1 -0
- package/dist/{src → _cjs}/token/index.js +1 -17
- package/dist/_cjs/token/index.js.map +1 -0
- package/dist/{src → _cjs}/token/nft.d.ts +0 -1
- package/dist/{src → _cjs}/token/nft.js +5 -24
- package/dist/_cjs/token/nft.js.map +1 -0
- package/dist/{src → _cjs}/transaction/index.js +1 -17
- package/dist/_cjs/transaction/index.js.map +1 -0
- package/dist/{src → _cjs}/transaction/sign-verify.js +20 -27
- package/dist/_cjs/transaction/sign-verify.js.map +1 -0
- package/dist/{src → _cjs}/transaction/status.js +20 -26
- package/dist/_cjs/transaction/status.js.map +1 -0
- package/dist/{src → _cjs}/transaction/utils.js +3 -20
- package/dist/_cjs/transaction/utils.js.map +1 -0
- package/dist/{src → _cjs}/utils/bs58.d.ts +0 -1
- package/dist/{src → _cjs}/utils/bs58.js +4 -21
- package/dist/_cjs/utils/bs58.js.map +1 -0
- package/dist/_cjs/utils/djb2.js +11 -0
- package/dist/_cjs/utils/djb2.js.map +1 -0
- package/dist/{src → _cjs}/utils/index.js +1 -17
- package/dist/_cjs/utils/index.js.map +1 -0
- package/dist/{src → _cjs}/utils/number.d.ts +0 -2
- package/dist/{src → _cjs}/utils/number.fixture.js +1 -17
- package/dist/_cjs/utils/number.fixture.js.map +1 -0
- package/dist/{src → _cjs}/utils/number.js +10 -44
- package/dist/_cjs/utils/number.js.map +1 -0
- package/dist/_cjs/utils/sign.js +89 -0
- package/dist/_cjs/utils/sign.js.map +1 -0
- package/dist/{src → _cjs}/utils/subscription.js +1 -17
- package/dist/_cjs/utils/subscription.js.map +1 -0
- package/dist/{src → _cjs}/utils/utils.d.ts +7 -6
- package/dist/{src → _cjs}/utils/utils.js +60 -57
- package/dist/_cjs/utils/utils.js.map +1 -0
- package/dist/{src → _cjs}/utils/webcrypto.d.ts +1 -3
- package/dist/_cjs/utils/webcrypto.js +18 -0
- package/dist/_cjs/utils/webcrypto.js.map +1 -0
- package/dist/_esm/address/address.d.ts +36 -0
- package/dist/_esm/address/address.js +309 -0
- package/dist/_esm/address/address.js.map +1 -0
- package/dist/_esm/address/index.d.ts +1 -0
- package/dist/_esm/address/index.js +2 -0
- package/dist/_esm/address/index.js.map +1 -0
- package/dist/_esm/api/api-alephium.d.ts +1152 -0
- package/dist/_esm/api/api-alephium.js +797 -0
- package/dist/_esm/api/api-alephium.js.map +1 -0
- package/dist/_esm/api/api-explorer.d.ts +586 -0
- package/dist/_esm/api/api-explorer.js +577 -0
- package/dist/_esm/api/api-explorer.js.map +1 -0
- package/dist/_esm/api/explorer-provider.d.ts +21 -0
- package/dist/_esm/api/explorer-provider.js +48 -0
- package/dist/_esm/api/explorer-provider.js.map +1 -0
- package/dist/_esm/api/index.d.ts +6 -0
- package/dist/_esm/api/index.js +7 -0
- package/dist/_esm/api/index.js.map +1 -0
- package/dist/_esm/api/node-provider.d.ts +46 -0
- package/dist/_esm/api/node-provider.js +178 -0
- package/dist/_esm/api/node-provider.js.map +1 -0
- package/dist/_esm/api/types.d.ts +71 -0
- package/dist/_esm/api/types.js +219 -0
- package/dist/_esm/api/types.js.map +1 -0
- package/dist/_esm/api/utils.d.ts +10 -0
- package/dist/_esm/api/utils.js +37 -0
- package/dist/_esm/api/utils.js.map +1 -0
- package/dist/_esm/block/block.d.ts +27 -0
- package/dist/_esm/block/block.js +128 -0
- package/dist/_esm/block/block.js.map +1 -0
- package/dist/_esm/block/index.d.ts +2 -0
- package/dist/_esm/block/index.js +2 -0
- package/dist/_esm/block/index.js.map +1 -0
- package/dist/_esm/codec/array-codec.d.ts +8 -0
- package/dist/_esm/codec/array-codec.js +25 -0
- package/dist/_esm/codec/array-codec.js.map +1 -0
- package/dist/_esm/codec/asset-output-codec.d.ts +21 -0
- package/dist/_esm/codec/asset-output-codec.js +74 -0
- package/dist/_esm/codec/asset-output-codec.js.map +1 -0
- package/dist/_esm/codec/bigint-codec.d.ts +5 -0
- package/dist/_esm/codec/bigint-codec.js +62 -0
- package/dist/_esm/codec/bigint-codec.js.map +1 -0
- package/dist/_esm/codec/bytestring-codec.d.ts +10 -0
- package/dist/_esm/codec/bytestring-codec.js +16 -0
- package/dist/_esm/codec/bytestring-codec.js.map +1 -0
- package/dist/_esm/codec/checksum-codec.d.ts +8 -0
- package/dist/_esm/codec/checksum-codec.js +27 -0
- package/dist/_esm/codec/checksum-codec.js.map +1 -0
- package/dist/_esm/codec/codec.d.ts +57 -0
- package/dist/_esm/codec/codec.js +114 -0
- package/dist/_esm/codec/codec.js.map +1 -0
- package/dist/_esm/codec/compact-int-codec.d.ts +68 -0
- package/dist/_esm/codec/compact-int-codec.js +287 -0
- package/dist/_esm/codec/compact-int-codec.js.map +1 -0
- package/dist/_esm/codec/contract-codec.d.ts +19 -0
- package/dist/_esm/codec/contract-codec.js +47 -0
- package/dist/_esm/codec/contract-codec.js.map +1 -0
- package/dist/_esm/codec/contract-output-codec.d.ts +14 -0
- package/dist/_esm/codec/contract-output-codec.js +40 -0
- package/dist/_esm/codec/contract-output-codec.js.map +1 -0
- package/dist/_esm/codec/contract-output-ref-codec.d.ts +8 -0
- package/dist/_esm/codec/contract-output-ref-codec.js +9 -0
- package/dist/_esm/codec/contract-output-ref-codec.js.map +1 -0
- package/dist/_esm/codec/either-codec.d.ts +9 -0
- package/dist/_esm/codec/either-codec.js +5 -0
- package/dist/_esm/codec/either-codec.js.map +1 -0
- package/dist/_esm/codec/hash.d.ts +3 -0
- package/dist/_esm/codec/hash.js +15 -0
- package/dist/_esm/codec/hash.js.map +1 -0
- package/dist/_esm/codec/index.d.ts +24 -0
- package/dist/_esm/codec/index.js +25 -0
- package/dist/_esm/codec/index.js.map +1 -0
- package/dist/_esm/codec/input-codec.d.ts +15 -0
- package/dist/_esm/codec/input-codec.js +33 -0
- package/dist/_esm/codec/input-codec.js.map +1 -0
- package/dist/_esm/codec/instr-codec.d.ts +857 -0
- package/dist/_esm/codec/instr-codec.js +1138 -0
- package/dist/_esm/codec/instr-codec.js.map +1 -0
- package/dist/_esm/codec/int-as-4bytes-codec.d.ts +7 -0
- package/dist/_esm/codec/int-as-4bytes-codec.js +12 -0
- package/dist/_esm/codec/int-as-4bytes-codec.js.map +1 -0
- package/dist/_esm/codec/lockup-script-codec.d.ts +42 -0
- package/dist/_esm/codec/lockup-script-codec.js +28 -0
- package/dist/_esm/codec/lockup-script-codec.js.map +1 -0
- package/dist/_esm/codec/method-codec.d.ts +20 -0
- package/dist/_esm/codec/method-codec.js +54 -0
- package/dist/_esm/codec/method-codec.js.map +1 -0
- package/dist/_esm/codec/option-codec.d.ts +9 -0
- package/dist/_esm/codec/option-codec.js +16 -0
- package/dist/_esm/codec/option-codec.js.map +1 -0
- package/dist/_esm/codec/output-codec.d.ts +7 -0
- package/dist/_esm/codec/output-codec.js +7 -0
- package/dist/_esm/codec/output-codec.js.map +1 -0
- package/dist/_esm/codec/public-key-like-codec.d.ts +17 -0
- package/dist/_esm/codec/public-key-like-codec.js +11 -0
- package/dist/_esm/codec/public-key-like-codec.js.map +1 -0
- package/dist/_esm/codec/reader.d.ts +10 -0
- package/dist/_esm/codec/reader.js +38 -0
- package/dist/_esm/codec/reader.js.map +1 -0
- package/dist/_esm/codec/script-codec.d.ts +12 -0
- package/dist/_esm/codec/script-codec.js +14 -0
- package/dist/_esm/codec/script-codec.js.map +1 -0
- package/dist/_esm/codec/signature-codec.d.ts +5 -0
- package/dist/_esm/codec/signature-codec.js +5 -0
- package/dist/_esm/codec/signature-codec.js.map +1 -0
- package/dist/_esm/codec/timestamp-codec.d.ts +8 -0
- package/dist/_esm/codec/timestamp-codec.js +19 -0
- package/dist/_esm/codec/timestamp-codec.js.map +1 -0
- package/dist/_esm/codec/token-codec.d.ts +8 -0
- package/dist/_esm/codec/token-codec.js +9 -0
- package/dist/_esm/codec/token-codec.js.map +1 -0
- package/dist/_esm/codec/transaction-codec.d.ts +21 -0
- package/dist/_esm/codec/transaction-codec.js +82 -0
- package/dist/_esm/codec/transaction-codec.js.map +1 -0
- package/dist/_esm/codec/unlock-script-codec.d.ts +44 -0
- package/dist/_esm/codec/unlock-script-codec.js +49 -0
- package/dist/_esm/codec/unlock-script-codec.js.map +1 -0
- package/dist/_esm/codec/unsigned-tx-codec.d.ts +23 -0
- package/dist/_esm/codec/unsigned-tx-codec.js +57 -0
- package/dist/_esm/codec/unsigned-tx-codec.js.map +1 -0
- package/dist/_esm/codec/val.d.ts +27 -0
- package/dist/_esm/codec/val.js +14 -0
- package/dist/_esm/codec/val.js.map +1 -0
- package/dist/_esm/constants.d.ts +14 -0
- package/dist/_esm/constants.js +15 -0
- package/dist/_esm/constants.js.map +1 -0
- package/dist/_esm/contract/contract.d.ts +328 -0
- package/dist/_esm/contract/contract.js +1449 -0
- package/dist/_esm/contract/contract.js.map +1 -0
- package/dist/_esm/contract/dapp-tx-builder.d.ts +26 -0
- package/dist/_esm/contract/dapp-tx-builder.js +166 -0
- package/dist/_esm/contract/dapp-tx-builder.js.map +1 -0
- package/dist/_esm/contract/deployment.d.ts +21 -0
- package/dist/_esm/contract/deployment.js +2 -0
- package/dist/_esm/contract/deployment.js.map +1 -0
- package/dist/_esm/contract/events.d.ts +17 -0
- package/dist/_esm/contract/events.js +59 -0
- package/dist/_esm/contract/events.js.map +1 -0
- package/dist/_esm/contract/index.d.ts +6 -0
- package/dist/_esm/contract/index.js +7 -0
- package/dist/_esm/contract/index.js.map +1 -0
- package/dist/_esm/contract/ralph.d.ts +73 -0
- package/dist/_esm/contract/ralph.js +372 -0
- package/dist/_esm/contract/ralph.js.map +1 -0
- package/dist/_esm/contract/script-simulator.d.ts +15 -0
- package/dist/_esm/contract/script-simulator.js +712 -0
- package/dist/_esm/contract/script-simulator.js.map +1 -0
- package/dist/_esm/debug.d.ts +6 -0
- package/dist/_esm/debug.js +21 -0
- package/dist/_esm/debug.js.map +1 -0
- package/dist/_esm/error.d.ts +4 -0
- package/dist/_esm/error.js +16 -0
- package/dist/_esm/error.js.map +1 -0
- package/dist/_esm/exchange/exchange.d.ts +21 -0
- package/dist/_esm/exchange/exchange.js +137 -0
- package/dist/_esm/exchange/exchange.js.map +1 -0
- package/dist/_esm/exchange/index.d.ts +2 -0
- package/dist/_esm/exchange/index.js +2 -0
- package/dist/_esm/exchange/index.js.map +1 -0
- package/dist/_esm/global.d.ts +10 -0
- package/dist/_esm/global.js +49 -0
- package/dist/_esm/global.js.map +1 -0
- package/dist/_esm/index.d.ts +15 -0
- package/dist/_esm/index.js +16 -0
- package/dist/_esm/index.js.map +1 -0
- package/dist/_esm/package.json +1 -0
- package/dist/_esm/signer/index.d.ts +3 -0
- package/dist/_esm/signer/index.js +4 -0
- package/dist/_esm/signer/index.js.map +1 -0
- package/dist/_esm/signer/signer.d.ts +63 -0
- package/dist/_esm/signer/signer.js +279 -0
- package/dist/_esm/signer/signer.js.map +1 -0
- package/dist/_esm/signer/tx-builder.d.ts +22 -0
- package/dist/_esm/signer/tx-builder.js +270 -0
- package/dist/_esm/signer/tx-builder.js.map +1 -0
- package/dist/_esm/signer/types.d.ts +167 -0
- package/dist/_esm/signer/types.js +27 -0
- package/dist/_esm/signer/types.js.map +1 -0
- package/dist/_esm/token/index.d.ts +1 -0
- package/dist/_esm/token/index.js +2 -0
- package/dist/_esm/token/index.js.map +1 -0
- package/dist/_esm/token/nft.d.ts +8 -0
- package/dist/_esm/token/nft.js +95 -0
- package/dist/_esm/token/nft.js.map +1 -0
- package/dist/_esm/transaction/index.d.ts +3 -0
- package/dist/_esm/transaction/index.js +4 -0
- package/dist/_esm/transaction/index.js.map +1 -0
- package/dist/_esm/transaction/sign-verify.d.ts +3 -0
- package/dist/_esm/transaction/sign-verify.js +8 -0
- package/dist/_esm/transaction/sign-verify.js.map +1 -0
- package/dist/_esm/transaction/status.d.ts +12 -0
- package/dist/_esm/transaction/status.js +33 -0
- package/dist/_esm/transaction/status.js.map +1 -0
- package/dist/_esm/transaction/utils.d.ts +4 -0
- package/dist/_esm/transaction/utils.js +35 -0
- package/dist/_esm/transaction/utils.js.map +1 -0
- package/dist/_esm/utils/bs58.d.ts +5 -0
- package/dist/_esm/utils/bs58.js +25 -0
- package/dist/_esm/utils/bs58.js.map +1 -0
- package/dist/_esm/utils/djb2.d.ts +1 -0
- package/dist/_esm/utils/djb2.js +8 -0
- package/dist/_esm/utils/djb2.js.map +1 -0
- package/dist/_esm/utils/index.d.ts +7 -0
- package/dist/_esm/utils/index.js +8 -0
- package/dist/_esm/utils/index.js.map +1 -0
- package/dist/_esm/utils/number.d.ts +17 -0
- package/dist/_esm/utils/number.fixture.d.ts +12 -0
- package/dist/_esm/utils/number.fixture.js +170 -0
- package/dist/_esm/utils/number.fixture.js.map +1 -0
- package/dist/_esm/utils/number.js +104 -0
- package/dist/_esm/utils/number.js.map +1 -0
- package/dist/_esm/utils/sign.d.ts +3 -0
- package/dist/_esm/utils/sign.js +52 -0
- package/dist/_esm/utils/sign.js.map +1 -0
- package/dist/_esm/utils/subscription.d.ts +22 -0
- package/dist/_esm/utils/subscription.js +31 -0
- package/dist/_esm/utils/subscription.js.map +1 -0
- package/dist/_esm/utils/utils.d.ts +40 -0
- package/dist/_esm/utils/utils.js +116 -0
- package/dist/_esm/utils/utils.js.map +1 -0
- package/dist/_esm/utils/webcrypto.d.ts +4 -0
- package/dist/_esm/utils/webcrypto.js +14 -0
- package/dist/_esm/utils/webcrypto.js.map +1 -0
- package/package.json +34 -40
- package/src/address/address.ts +12 -17
- package/src/api/api-alephium.ts +4 -5
- package/src/api/api-explorer.ts +4 -5
- package/src/api/types.ts +3 -2
- package/src/api/utils.ts +13 -1
- package/src/block/index.ts +2 -1
- package/src/codec/hash.ts +2 -2
- package/src/contract/contract.ts +54 -15
- package/src/exchange/index.ts +1 -3
- package/src/index.ts +0 -4
- package/src/signer/signer.ts +17 -11
- package/src/token/nft.ts +0 -1
- package/src/utils/sign.ts +19 -20
- package/src/utils/utils.ts +9 -20
- package/src/utils/webcrypto.ts +4 -10
- package/tsconfig.build.json +9 -0
- package/dist/alephium-web3.min.js +0 -3
- package/dist/alephium-web3.min.js.LICENSE.txt +0 -12
- package/dist/alephium-web3.min.js.map +0 -1
- package/dist/scripts/check-versions.d.ts +0 -1
- package/dist/scripts/check-versions.js +0 -39
- package/dist/scripts/header.d.ts +0 -0
- package/dist/scripts/header.js +0 -18
- package/dist/src/api/api-alephium.d.ts +0 -2433
- package/dist/src/api/api-explorer.d.ts +0 -1472
- package/dist/src/block/index.d.ts +0 -1
- package/dist/src/block/index.js +0 -22
- package/dist/src/codec/contract-output-ref-codec.js +0 -28
- package/dist/src/codec/either-codec.js +0 -25
- package/dist/src/codec/hash.js +0 -40
- package/dist/src/codec/int-as-4bytes-codec.js +0 -32
- package/dist/src/codec/option-codec.js +0 -36
- package/dist/src/codec/output-codec.js +0 -26
- package/dist/src/codec/public-key-like-codec.js +0 -30
- package/dist/src/codec/script-codec.js +0 -34
- package/dist/src/codec/signature-codec.js +0 -24
- package/dist/src/codec/token-codec.js +0 -28
- package/dist/src/contract/deployment.js +0 -19
- package/dist/src/debug.js +0 -46
- package/dist/src/exchange/index.d.ts +0 -1
- package/dist/src/utils/djb2.js +0 -27
- package/dist/src/utils/sign.js +0 -96
- package/dist/src/utils/webcrypto.js +0 -41
- package/webpack.config.js +0 -56
- /package/dist/{src → _cjs}/address/address.d.ts +0 -0
- /package/dist/{src → _cjs}/address/index.d.ts +0 -0
- /package/dist/{src → _cjs}/api/explorer-provider.d.ts +0 -0
- /package/dist/{src → _cjs}/api/index.d.ts +0 -0
- /package/dist/{src → _cjs}/api/types.d.ts +0 -0
- /package/dist/{src → _cjs}/block/block.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/array-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/asset-output-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/bigint-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/checksum-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/compact-int-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/contract-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/contract-output-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/contract-output-ref-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/either-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/index.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/input-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/instr-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/int-as-4bytes-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/method-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/option-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/output-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/public-key-like-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/reader.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/script-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/timestamp-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/token-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/transaction-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/unsigned-tx-codec.d.ts +0 -0
- /package/dist/{src → _cjs}/codec/val.d.ts +0 -0
- /package/dist/{src → _cjs}/contract/contract.d.ts +0 -0
- /package/dist/{src → _cjs}/contract/dapp-tx-builder.d.ts +0 -0
- /package/dist/{src → _cjs}/contract/deployment.d.ts +0 -0
- /package/dist/{src → _cjs}/contract/events.d.ts +0 -0
- /package/dist/{src → _cjs}/contract/index.d.ts +0 -0
- /package/dist/{src → _cjs}/contract/ralph.d.ts +0 -0
- /package/dist/{src → _cjs}/debug.d.ts +0 -0
- /package/dist/{src → _cjs}/error.d.ts +0 -0
- /package/dist/{src → _cjs}/exchange/exchange.d.ts +0 -0
- /package/dist/{src → _cjs}/global.d.ts +0 -0
- /package/dist/{src → _cjs}/index.d.ts +0 -0
- /package/dist/{src → _cjs}/signer/index.d.ts +0 -0
- /package/dist/{src → _cjs}/signer/signer.d.ts +0 -0
- /package/dist/{src → _cjs}/signer/tx-builder.d.ts +0 -0
- /package/dist/{src → _cjs}/signer/types.d.ts +0 -0
- /package/dist/{src → _cjs}/token/index.d.ts +0 -0
- /package/dist/{src → _cjs}/transaction/index.d.ts +0 -0
- /package/dist/{src → _cjs}/transaction/sign-verify.d.ts +0 -0
- /package/dist/{src → _cjs}/transaction/status.d.ts +0 -0
- /package/dist/{src → _cjs}/transaction/utils.d.ts +0 -0
- /package/dist/{src → _cjs}/utils/djb2.d.ts +0 -0
- /package/dist/{src → _cjs}/utils/index.d.ts +0 -0
- /package/dist/{src → _cjs}/utils/number.fixture.d.ts +0 -0
- /package/dist/{src → _cjs}/utils/sign.d.ts +0 -0
- /package/dist/{src → _cjs}/utils/subscription.d.ts +0 -0
|
@@ -0,0 +1,1138 @@
|
|
|
1
|
+
import { ArrayCodec } from './array-codec';
|
|
2
|
+
import { i256Codec, u256Codec, i32Codec } from './compact-int-codec';
|
|
3
|
+
import { byteStringCodec, byteStringsCodec } from './bytestring-codec';
|
|
4
|
+
import { lockupScriptCodec } from './lockup-script-codec';
|
|
5
|
+
import { byteCodec, Codec } from './codec';
|
|
6
|
+
import { intAs4BytesCodec } from './int-as-4bytes-codec';
|
|
7
|
+
export const CallLocalCode = 0x00;
|
|
8
|
+
export const CallExternalCode = 0x01;
|
|
9
|
+
export const I256ConstCode = 0x12;
|
|
10
|
+
export const U256ConstCode = 0x13;
|
|
11
|
+
export const BytesConstCode = 0x14;
|
|
12
|
+
export const AddressConstCode = 0x15;
|
|
13
|
+
export const LoadLocalCode = 0x16;
|
|
14
|
+
export const StoreLocalCode = 0x17;
|
|
15
|
+
export const JumpCode = 0x4a;
|
|
16
|
+
export const IfTrueCode = 0x4b;
|
|
17
|
+
export const IfFalseCode = 0x4c;
|
|
18
|
+
export const DEBUGCode = 0x7e;
|
|
19
|
+
export const DevInstrCode = 0x8f;
|
|
20
|
+
export const LoadMutFieldCode = 0xa0;
|
|
21
|
+
export const StoreMutFieldCode = 0xa1;
|
|
22
|
+
export const LoadImmFieldCode = 0xce;
|
|
23
|
+
export const CreateMapEntryCode = 0xd2;
|
|
24
|
+
export const MethodSelectorCode = 0xd3;
|
|
25
|
+
export const CallExternalBySelectorCode = 0xd4;
|
|
26
|
+
export const CallLocal = (index) => {
|
|
27
|
+
return { name: 'CallLocal', code: 0x00, index };
|
|
28
|
+
};
|
|
29
|
+
export const CallExternal = (index) => {
|
|
30
|
+
return { name: 'CallExternal', code: 0x01, index };
|
|
31
|
+
};
|
|
32
|
+
export const Return = { name: 'Return', code: 0x02 };
|
|
33
|
+
export const ConstTrue = { name: 'ConstTrue', code: 0x03 };
|
|
34
|
+
export const ConstFalse = { name: 'ConstFalse', code: 0x04 };
|
|
35
|
+
export const I256Const0 = { name: 'I256Const0', code: 0x05 };
|
|
36
|
+
export const I256Const1 = { name: 'I256Const1', code: 0x06 };
|
|
37
|
+
export const I256Const2 = { name: 'I256Const2', code: 0x07 };
|
|
38
|
+
export const I256Const3 = { name: 'I256Const3', code: 0x08 };
|
|
39
|
+
export const I256Const4 = { name: 'I256Const4', code: 0x09 };
|
|
40
|
+
export const I256Const5 = { name: 'I256Const5', code: 0x0a };
|
|
41
|
+
export const I256ConstN1 = { name: 'I256ConstN1', code: 0x0b };
|
|
42
|
+
export const U256Const0 = { name: 'U256Const0', code: 0x0c };
|
|
43
|
+
export const U256Const1 = { name: 'U256Const1', code: 0x0d };
|
|
44
|
+
export const U256Const2 = { name: 'U256Const2', code: 0x0e };
|
|
45
|
+
export const U256Const3 = { name: 'U256Const3', code: 0x0f };
|
|
46
|
+
export const U256Const4 = { name: 'U256Const4', code: 0x10 };
|
|
47
|
+
export const U256Const5 = { name: 'U256Const5', code: 0x11 };
|
|
48
|
+
export const I256Const = (value) => {
|
|
49
|
+
return { name: 'I256Const', code: 0x12, value };
|
|
50
|
+
};
|
|
51
|
+
export const U256Const = (value) => {
|
|
52
|
+
return { name: 'U256Const', code: 0x13, value };
|
|
53
|
+
};
|
|
54
|
+
export const BytesConst = (value) => {
|
|
55
|
+
return { name: 'BytesConst', code: 0x14, value };
|
|
56
|
+
};
|
|
57
|
+
export const AddressConst = (value) => {
|
|
58
|
+
return { name: 'AddressConst', code: 0x15, value };
|
|
59
|
+
};
|
|
60
|
+
export const LoadLocal = (index) => {
|
|
61
|
+
return { name: 'LoadLocal', code: 0x16, index };
|
|
62
|
+
};
|
|
63
|
+
export const StoreLocal = (index) => {
|
|
64
|
+
return { name: 'StoreLocal', code: 0x17, index };
|
|
65
|
+
};
|
|
66
|
+
export const Pop = { name: 'Pop', code: 0x18 };
|
|
67
|
+
export const BoolNot = { name: 'BoolNot', code: 0x19 };
|
|
68
|
+
export const BoolAnd = { name: 'BoolAnd', code: 0x1a };
|
|
69
|
+
export const BoolOr = { name: 'BoolOr', code: 0x1b };
|
|
70
|
+
export const BoolEq = { name: 'BoolEq', code: 0x1c };
|
|
71
|
+
export const BoolNeq = { name: 'BoolNeq', code: 0x1d };
|
|
72
|
+
export const BoolToByteVec = { name: 'BoolToByteVec', code: 0x1e };
|
|
73
|
+
export const I256Add = { name: 'I256Add', code: 0x1f };
|
|
74
|
+
export const I256Sub = { name: 'I256Sub', code: 0x20 };
|
|
75
|
+
export const I256Mul = { name: 'I256Mul', code: 0x21 };
|
|
76
|
+
export const I256Div = { name: 'I256Div', code: 0x22 };
|
|
77
|
+
export const I256Mod = { name: 'I256Mod', code: 0x23 };
|
|
78
|
+
export const I256Eq = { name: 'I256Eq', code: 0x24 };
|
|
79
|
+
export const I256Neq = { name: 'I256Neq', code: 0x25 };
|
|
80
|
+
export const I256Lt = { name: 'I256Lt', code: 0x26 };
|
|
81
|
+
export const I256Le = { name: 'I256Le', code: 0x27 };
|
|
82
|
+
export const I256Gt = { name: 'I256Gt', code: 0x28 };
|
|
83
|
+
export const I256Ge = { name: 'I256Ge', code: 0x29 };
|
|
84
|
+
export const U256Add = { name: 'U256Add', code: 0x2a };
|
|
85
|
+
export const U256Sub = { name: 'U256Sub', code: 0x2b };
|
|
86
|
+
export const U256Mul = { name: 'U256Mul', code: 0x2c };
|
|
87
|
+
export const U256Div = { name: 'U256Div', code: 0x2d };
|
|
88
|
+
export const U256Mod = { name: 'U256Mod', code: 0x2e };
|
|
89
|
+
export const U256Eq = { name: 'U256Eq', code: 0x2f };
|
|
90
|
+
export const U256Neq = { name: 'U256Neq', code: 0x30 };
|
|
91
|
+
export const U256Lt = { name: 'U256Lt', code: 0x31 };
|
|
92
|
+
export const U256Le = { name: 'U256Le', code: 0x32 };
|
|
93
|
+
export const U256Gt = { name: 'U256Gt', code: 0x33 };
|
|
94
|
+
export const U256Ge = { name: 'U256Ge', code: 0x34 };
|
|
95
|
+
export const U256ModAdd = { name: 'U256ModAdd', code: 0x35 };
|
|
96
|
+
export const U256ModSub = { name: 'U256ModSub', code: 0x36 };
|
|
97
|
+
export const U256ModMul = { name: 'U256ModMul', code: 0x37 };
|
|
98
|
+
export const NumericBitAnd = { name: 'NumericBitAnd', code: 0x38 };
|
|
99
|
+
export const NumericBitOr = { name: 'NumericBitOr', code: 0x39 };
|
|
100
|
+
export const NumericXor = { name: 'NumericXor', code: 0x3a };
|
|
101
|
+
export const NumericSHL = { name: 'NumericSHL', code: 0x3b };
|
|
102
|
+
export const NumericSHR = { name: 'NumericSHR', code: 0x3c };
|
|
103
|
+
export const I256ToU256 = { name: 'I256ToU256', code: 0x3d };
|
|
104
|
+
export const I256ToByteVec = { name: 'I256ToByteVec', code: 0x3e };
|
|
105
|
+
export const U256ToI256 = { name: 'U256ToI256', code: 0x3f };
|
|
106
|
+
export const U256ToByteVec = { name: 'U256ToByteVec', code: 0x40 };
|
|
107
|
+
export const ByteVecEq = { name: 'ByteVecEq', code: 0x41 };
|
|
108
|
+
export const ByteVecNeq = { name: 'ByteVecNeq', code: 0x42 };
|
|
109
|
+
export const ByteVecSize = { name: 'ByteVecSize', code: 0x43 };
|
|
110
|
+
export const ByteVecConcat = { name: 'ByteVecConcat', code: 0x44 };
|
|
111
|
+
export const AddressEq = { name: 'AddressEq', code: 0x45 };
|
|
112
|
+
export const AddressNeq = { name: 'AddressNeq', code: 0x46 };
|
|
113
|
+
export const AddressToByteVec = { name: 'AddressToByteVec', code: 0x47 };
|
|
114
|
+
export const IsAssetAddress = { name: 'IsAssetAddress', code: 0x48 };
|
|
115
|
+
export const IsContractAddress = { name: 'IsContractAddress', code: 0x49 };
|
|
116
|
+
export const Jump = (offset) => {
|
|
117
|
+
return { name: 'Jump', code: 0x4a, offset };
|
|
118
|
+
};
|
|
119
|
+
export const IfTrue = (offset) => {
|
|
120
|
+
return { name: 'IfTrue', code: 0x4b, offset };
|
|
121
|
+
};
|
|
122
|
+
export const IfFalse = (offset) => {
|
|
123
|
+
return { name: 'IfFalse', code: 0x4c, offset };
|
|
124
|
+
};
|
|
125
|
+
export const Assert = { name: 'Assert', code: 0x4d };
|
|
126
|
+
export const Blake2b = { name: 'Blake2b', code: 0x4e };
|
|
127
|
+
export const Keccak256 = { name: 'Keccak256', code: 0x4f };
|
|
128
|
+
export const Sha256 = { name: 'Sha256', code: 0x50 };
|
|
129
|
+
export const Sha3 = { name: 'Sha3', code: 0x51 };
|
|
130
|
+
export const VerifyTxSignature = { name: 'VerifyTxSignature', code: 0x52 };
|
|
131
|
+
export const VerifySecP256K1 = { name: 'VerifySecP256K1', code: 0x53 };
|
|
132
|
+
export const VerifyED25519 = { name: 'VerifyED25519', code: 0x54 };
|
|
133
|
+
export const NetworkId = { name: 'NetworkId', code: 0x55 };
|
|
134
|
+
export const BlockTimeStamp = { name: 'BlockTimeStamp', code: 0x56 };
|
|
135
|
+
export const BlockTarget = { name: 'BlockTarget', code: 0x57 };
|
|
136
|
+
export const TxId = { name: 'TxId', code: 0x58 };
|
|
137
|
+
export const TxInputAddressAt = { name: 'TxInputAddressAt', code: 0x59 };
|
|
138
|
+
export const TxInputsSize = { name: 'TxInputsSize', code: 0x5a };
|
|
139
|
+
export const VerifyAbsoluteLocktime = { name: 'VerifyAbsoluteLocktime', code: 0x5b };
|
|
140
|
+
export const VerifyRelativeLocktime = { name: 'VerifyRelativeLocktime', code: 0x5c };
|
|
141
|
+
export const Log1 = { name: 'Log1', code: 0x5d };
|
|
142
|
+
export const Log2 = { name: 'Log2', code: 0x5e };
|
|
143
|
+
export const Log3 = { name: 'Log3', code: 0x5f };
|
|
144
|
+
export const Log4 = { name: 'Log4', code: 0x60 };
|
|
145
|
+
export const Log5 = { name: 'Log5', code: 0x61 };
|
|
146
|
+
export const ByteVecSlice = { name: 'ByteVecSlice', code: 0x62 };
|
|
147
|
+
export const ByteVecToAddress = { name: 'ByteVecToAddress', code: 0x63 };
|
|
148
|
+
export const Encode = { name: 'Encode', code: 0x64 };
|
|
149
|
+
export const Zeros = { name: 'Zeros', code: 0x65 };
|
|
150
|
+
export const U256To1Byte = { name: 'U256To1Byte', code: 0x66 };
|
|
151
|
+
export const U256To2Byte = { name: 'U256To2Byte', code: 0x67 };
|
|
152
|
+
export const U256To4Byte = { name: 'U256To4Byte', code: 0x68 };
|
|
153
|
+
export const U256To8Byte = { name: 'U256To8Byte', code: 0x69 };
|
|
154
|
+
export const U256To16Byte = { name: 'U256To16Byte', code: 0x6a };
|
|
155
|
+
export const U256To32Byte = { name: 'U256To32Byte', code: 0x6b };
|
|
156
|
+
export const U256From1Byte = { name: 'U256From1Byte', code: 0x6c };
|
|
157
|
+
export const U256From2Byte = { name: 'U256From2Byte', code: 0x6d };
|
|
158
|
+
export const U256From4Byte = { name: 'U256From4Byte', code: 0x6e };
|
|
159
|
+
export const U256From8Byte = { name: 'U256From8Byte', code: 0x6f };
|
|
160
|
+
export const U256From16Byte = { name: 'U256From16Byte', code: 0x70 };
|
|
161
|
+
export const U256From32Byte = { name: 'U256From32Byte', code: 0x71 };
|
|
162
|
+
export const EthEcRecover = { name: 'EthEcRecover', code: 0x72 };
|
|
163
|
+
export const Log6 = { name: 'Log6', code: 0x73 };
|
|
164
|
+
export const Log7 = { name: 'Log7', code: 0x74 };
|
|
165
|
+
export const Log8 = { name: 'Log8', code: 0x75 };
|
|
166
|
+
export const Log9 = { name: 'Log9', code: 0x76 };
|
|
167
|
+
export const ContractIdToAddress = { name: 'ContractIdToAddress', code: 0x77 };
|
|
168
|
+
export const LoadLocalByIndex = { name: 'LoadLocalByIndex', code: 0x78 };
|
|
169
|
+
export const StoreLocalByIndex = { name: 'StoreLocalByIndex', code: 0x79 };
|
|
170
|
+
export const Dup = { name: 'Dup', code: 0x7a };
|
|
171
|
+
export const AssertWithErrorCode = { name: 'AssertWithErrorCode', code: 0x7b };
|
|
172
|
+
export const Swap = { name: 'Swap', code: 0x7c };
|
|
173
|
+
export const BlockHash = { name: 'BlockHash', code: 0x7d };
|
|
174
|
+
export const DEBUG = (stringParts) => {
|
|
175
|
+
return { name: 'DEBUG', code: 0x7e, stringParts };
|
|
176
|
+
};
|
|
177
|
+
export const TxGasPrice = { name: 'TxGasPrice', code: 0x7f };
|
|
178
|
+
export const TxGasAmount = { name: 'TxGasAmount', code: 0x80 };
|
|
179
|
+
export const TxGasFee = { name: 'TxGasFee', code: 0x81 };
|
|
180
|
+
export const I256Exp = { name: 'I256Exp', code: 0x82 };
|
|
181
|
+
export const U256Exp = { name: 'U256Exp', code: 0x83 };
|
|
182
|
+
export const U256ModExp = { name: 'U256ModExp', code: 0x84 };
|
|
183
|
+
export const VerifyBIP340Schnorr = { name: 'VerifyBIP340Schnorr', code: 0x85 };
|
|
184
|
+
export const GetSegregatedSignature = { name: 'GetSegregatedSignature', code: 0x86 };
|
|
185
|
+
export const MulModN = { name: 'MulModN', code: 0x87 };
|
|
186
|
+
export const AddModN = { name: 'AddModN', code: 0x88 };
|
|
187
|
+
export const U256ToString = { name: 'U256ToString', code: 0x89 };
|
|
188
|
+
export const I256ToString = { name: 'I256ToString', code: 0x8a };
|
|
189
|
+
export const BoolToString = { name: 'BoolToString', code: 0x8b };
|
|
190
|
+
export const GroupOfAddress = { name: 'GroupOfAddress', code: 0x8c };
|
|
191
|
+
export const VerifySignature = { name: 'VerifySignature', code: 0x8d };
|
|
192
|
+
export const GetSegregatedWebAuthnSignature = { name: 'GetSegregatedWebAuthnSignature', code: 0x8e };
|
|
193
|
+
export const DevInstr = (instr) => {
|
|
194
|
+
return { name: 'DevInstr', code: 0x8f, instr };
|
|
195
|
+
};
|
|
196
|
+
export const I256RoundInfinityDiv = { name: 'I256RoundInfinityDiv', code: 0x90 };
|
|
197
|
+
export const U256RoundInfinityDiv = { name: 'U256RoundInfinityDiv', code: 0x91 };
|
|
198
|
+
export const LoadMutField = (index) => {
|
|
199
|
+
return { name: 'LoadMutField', code: 0xa0, index };
|
|
200
|
+
};
|
|
201
|
+
export const StoreMutField = (index) => {
|
|
202
|
+
return { name: 'StoreMutField', code: 0xa1, index };
|
|
203
|
+
};
|
|
204
|
+
export const ApproveAlph = { name: 'ApproveAlph', code: 0xa2 };
|
|
205
|
+
export const ApproveToken = { name: 'ApproveToken', code: 0xa3 };
|
|
206
|
+
export const AlphRemaining = { name: 'AlphRemaining', code: 0xa4 };
|
|
207
|
+
export const TokenRemaining = { name: 'TokenRemaining', code: 0xa5 };
|
|
208
|
+
export const IsPaying = { name: 'IsPaying', code: 0xa6 };
|
|
209
|
+
export const TransferAlph = { name: 'TransferAlph', code: 0xa7 };
|
|
210
|
+
export const TransferAlphFromSelf = { name: 'TransferAlphFromSelf', code: 0xa8 };
|
|
211
|
+
export const TransferAlphToSelf = { name: 'TransferAlphToSelf', code: 0xa9 };
|
|
212
|
+
export const TransferToken = { name: 'TransferToken', code: 0xaa };
|
|
213
|
+
export const TransferTokenFromSelf = { name: 'TransferTokenFromSelf', code: 0xab };
|
|
214
|
+
export const TransferTokenToSelf = { name: 'TransferTokenToSelf', code: 0xac };
|
|
215
|
+
export const CreateContract = { name: 'CreateContract', code: 0xad };
|
|
216
|
+
export const CreateContractWithToken = { name: 'CreateContractWithToken', code: 0xae };
|
|
217
|
+
export const CopyCreateContract = { name: 'CopyCreateContract', code: 0xaf };
|
|
218
|
+
export const DestroySelf = { name: 'DestroySelf', code: 0xb0 };
|
|
219
|
+
export const SelfContractId = { name: 'SelfContractId', code: 0xb1 };
|
|
220
|
+
export const SelfAddress = { name: 'SelfAddress', code: 0xb2 };
|
|
221
|
+
export const CallerContractId = { name: 'CallerContractId', code: 0xb3 };
|
|
222
|
+
export const CallerAddress = { name: 'CallerAddress', code: 0xb4 };
|
|
223
|
+
export const IsCalledFromTxScript = { name: 'IsCalledFromTxScript', code: 0xb5 };
|
|
224
|
+
export const CallerInitialStateHash = { name: 'CallerInitialStateHash', code: 0xb6 };
|
|
225
|
+
export const CallerCodeHash = { name: 'CallerCodeHash', code: 0xb7 };
|
|
226
|
+
export const ContractInitialStateHash = { name: 'ContractInitialStateHash', code: 0xb8 };
|
|
227
|
+
export const ContractCodeHash = { name: 'ContractCodeHash', code: 0xb9 };
|
|
228
|
+
export const MigrateSimple = { name: 'MigrateSimple', code: 0xba };
|
|
229
|
+
export const MigrateWithFields = { name: 'MigrateWithFields', code: 0xbb };
|
|
230
|
+
export const CopyCreateContractWithToken = { name: 'CopyCreateContractWithToken', code: 0xbc };
|
|
231
|
+
export const BurnToken = { name: 'BurnToken', code: 0xbd };
|
|
232
|
+
export const LockApprovedAssets = { name: 'LockApprovedAssets', code: 0xbe };
|
|
233
|
+
export const CreateSubContract = { name: 'CreateSubContract', code: 0xbf };
|
|
234
|
+
export const CreateSubContractWithToken = { name: 'CreateSubContractWithToken', code: 0xc0 };
|
|
235
|
+
export const CopyCreateSubContract = { name: 'CopyCreateSubContract', code: 0xc1 };
|
|
236
|
+
export const CopyCreateSubContractWithToken = { name: 'CopyCreateSubContractWithToken', code: 0xc2 };
|
|
237
|
+
export const LoadMutFieldByIndex = { name: 'LoadMutFieldByIndex', code: 0xc3 };
|
|
238
|
+
export const StoreMutFieldByIndex = { name: 'StoreMutFieldByIndex', code: 0xc4 };
|
|
239
|
+
export const ContractExists = { name: 'ContractExists', code: 0xc5 };
|
|
240
|
+
export const CreateContractAndTransferToken = { name: 'CreateContractAndTransferToken', code: 0xc6 };
|
|
241
|
+
export const CopyCreateContractAndTransferToken = { name: 'CopyCreateContractAndTransferToken', code: 0xc7 };
|
|
242
|
+
export const CreateSubContractAndTransferToken = { name: 'CreateSubContractAndTransferToken', code: 0xc8 };
|
|
243
|
+
export const CopyCreateSubContractAndTransferToken = {
|
|
244
|
+
name: 'CopyCreateSubContractAndTransferToken',
|
|
245
|
+
code: 0xc9
|
|
246
|
+
};
|
|
247
|
+
export const NullContractAddress = { name: 'NullContractAddress', code: 0xca };
|
|
248
|
+
export const SubContractId = { name: 'SubContractId', code: 0xcb };
|
|
249
|
+
export const SubContractIdOf = { name: 'SubContractIdOf', code: 0xcc };
|
|
250
|
+
export const ALPHTokenId = { name: 'ALPHTokenId', code: 0xcd };
|
|
251
|
+
export const LoadImmField = (index) => {
|
|
252
|
+
return { name: 'LoadImmField', code: 0xce, index };
|
|
253
|
+
};
|
|
254
|
+
export const LoadImmFieldByIndex = { name: 'LoadImmFieldByIndex', code: 0xcf };
|
|
255
|
+
export const PayGasFee = { name: 'PayGasFee', code: 0xd0 };
|
|
256
|
+
export const MinimalContractDeposit = { name: 'MinimalContractDeposit', code: 0xd1 };
|
|
257
|
+
export const CreateMapEntry = (immFieldsNum, mutFieldsNum) => {
|
|
258
|
+
return { name: 'CreateMapEntry', code: 0xd2, immFieldsNum, mutFieldsNum };
|
|
259
|
+
};
|
|
260
|
+
export const MethodSelector = (selector) => {
|
|
261
|
+
return { name: 'MethodSelector', code: 0xd3, selector };
|
|
262
|
+
};
|
|
263
|
+
export const CallExternalBySelector = (selector) => {
|
|
264
|
+
return { name: 'CallExternalBySelector', code: 0xd4, selector };
|
|
265
|
+
};
|
|
266
|
+
export const ExternalCallerContractId = { name: 'ExternalCallerContractId', code: 0xd5 };
|
|
267
|
+
export const ExternalCallerAddress = { name: 'ExternalCallerAddress', code: 0xd6 };
|
|
268
|
+
export class InstrCodec extends Codec {
|
|
269
|
+
encode(instr) {
|
|
270
|
+
switch (instr.name) {
|
|
271
|
+
case 'CallLocal':
|
|
272
|
+
return new Uint8Array([0x00, ...byteCodec.encode(instr.index)]);
|
|
273
|
+
case 'CallExternal':
|
|
274
|
+
return new Uint8Array([0x01, ...byteCodec.encode(instr.index)]);
|
|
275
|
+
case 'Return':
|
|
276
|
+
return new Uint8Array([0x02]);
|
|
277
|
+
case 'ConstTrue':
|
|
278
|
+
return new Uint8Array([0x03]);
|
|
279
|
+
case 'ConstFalse':
|
|
280
|
+
return new Uint8Array([0x04]);
|
|
281
|
+
case 'I256Const0':
|
|
282
|
+
return new Uint8Array([0x05]);
|
|
283
|
+
case 'I256Const1':
|
|
284
|
+
return new Uint8Array([0x06]);
|
|
285
|
+
case 'I256Const2':
|
|
286
|
+
return new Uint8Array([0x07]);
|
|
287
|
+
case 'I256Const3':
|
|
288
|
+
return new Uint8Array([0x08]);
|
|
289
|
+
case 'I256Const4':
|
|
290
|
+
return new Uint8Array([0x09]);
|
|
291
|
+
case 'I256Const5':
|
|
292
|
+
return new Uint8Array([0x0a]);
|
|
293
|
+
case 'I256ConstN1':
|
|
294
|
+
return new Uint8Array([0x0b]);
|
|
295
|
+
case 'U256Const0':
|
|
296
|
+
return new Uint8Array([0x0c]);
|
|
297
|
+
case 'U256Const1':
|
|
298
|
+
return new Uint8Array([0x0d]);
|
|
299
|
+
case 'U256Const2':
|
|
300
|
+
return new Uint8Array([0x0e]);
|
|
301
|
+
case 'U256Const3':
|
|
302
|
+
return new Uint8Array([0x0f]);
|
|
303
|
+
case 'U256Const4':
|
|
304
|
+
return new Uint8Array([0x10]);
|
|
305
|
+
case 'U256Const5':
|
|
306
|
+
return new Uint8Array([0x11]);
|
|
307
|
+
case 'I256Const':
|
|
308
|
+
return new Uint8Array([0x12, ...i256Codec.encode(instr.value)]);
|
|
309
|
+
case 'U256Const':
|
|
310
|
+
return new Uint8Array([0x13, ...u256Codec.encode(instr.value)]);
|
|
311
|
+
case 'BytesConst':
|
|
312
|
+
return new Uint8Array([0x14, ...byteStringCodec.encode(instr.value)]);
|
|
313
|
+
case 'AddressConst':
|
|
314
|
+
return new Uint8Array([0x15, ...lockupScriptCodec.encode(instr.value)]);
|
|
315
|
+
case 'LoadLocal':
|
|
316
|
+
return new Uint8Array([0x16, ...byteCodec.encode(instr.index)]);
|
|
317
|
+
case 'StoreLocal':
|
|
318
|
+
return new Uint8Array([0x17, ...byteCodec.encode(instr.index)]);
|
|
319
|
+
case 'Pop':
|
|
320
|
+
return new Uint8Array([0x18]);
|
|
321
|
+
case 'BoolNot':
|
|
322
|
+
return new Uint8Array([0x19]);
|
|
323
|
+
case 'BoolAnd':
|
|
324
|
+
return new Uint8Array([0x1a]);
|
|
325
|
+
case 'BoolOr':
|
|
326
|
+
return new Uint8Array([0x1b]);
|
|
327
|
+
case 'BoolEq':
|
|
328
|
+
return new Uint8Array([0x1c]);
|
|
329
|
+
case 'BoolNeq':
|
|
330
|
+
return new Uint8Array([0x1d]);
|
|
331
|
+
case 'BoolToByteVec':
|
|
332
|
+
return new Uint8Array([0x1e]);
|
|
333
|
+
case 'I256Add':
|
|
334
|
+
return new Uint8Array([0x1f]);
|
|
335
|
+
case 'I256Sub':
|
|
336
|
+
return new Uint8Array([0x20]);
|
|
337
|
+
case 'I256Mul':
|
|
338
|
+
return new Uint8Array([0x21]);
|
|
339
|
+
case 'I256Div':
|
|
340
|
+
return new Uint8Array([0x22]);
|
|
341
|
+
case 'I256Mod':
|
|
342
|
+
return new Uint8Array([0x23]);
|
|
343
|
+
case 'I256Eq':
|
|
344
|
+
return new Uint8Array([0x24]);
|
|
345
|
+
case 'I256Neq':
|
|
346
|
+
return new Uint8Array([0x25]);
|
|
347
|
+
case 'I256Lt':
|
|
348
|
+
return new Uint8Array([0x26]);
|
|
349
|
+
case 'I256Le':
|
|
350
|
+
return new Uint8Array([0x27]);
|
|
351
|
+
case 'I256Gt':
|
|
352
|
+
return new Uint8Array([0x28]);
|
|
353
|
+
case 'I256Ge':
|
|
354
|
+
return new Uint8Array([0x29]);
|
|
355
|
+
case 'U256Add':
|
|
356
|
+
return new Uint8Array([0x2a]);
|
|
357
|
+
case 'U256Sub':
|
|
358
|
+
return new Uint8Array([0x2b]);
|
|
359
|
+
case 'U256Mul':
|
|
360
|
+
return new Uint8Array([0x2c]);
|
|
361
|
+
case 'U256Div':
|
|
362
|
+
return new Uint8Array([0x2d]);
|
|
363
|
+
case 'U256Mod':
|
|
364
|
+
return new Uint8Array([0x2e]);
|
|
365
|
+
case 'U256Eq':
|
|
366
|
+
return new Uint8Array([0x2f]);
|
|
367
|
+
case 'U256Neq':
|
|
368
|
+
return new Uint8Array([0x30]);
|
|
369
|
+
case 'U256Lt':
|
|
370
|
+
return new Uint8Array([0x31]);
|
|
371
|
+
case 'U256Le':
|
|
372
|
+
return new Uint8Array([0x32]);
|
|
373
|
+
case 'U256Gt':
|
|
374
|
+
return new Uint8Array([0x33]);
|
|
375
|
+
case 'U256Ge':
|
|
376
|
+
return new Uint8Array([0x34]);
|
|
377
|
+
case 'U256ModAdd':
|
|
378
|
+
return new Uint8Array([0x35]);
|
|
379
|
+
case 'U256ModSub':
|
|
380
|
+
return new Uint8Array([0x36]);
|
|
381
|
+
case 'U256ModMul':
|
|
382
|
+
return new Uint8Array([0x37]);
|
|
383
|
+
case 'NumericBitAnd':
|
|
384
|
+
return new Uint8Array([0x38]);
|
|
385
|
+
case 'NumericBitOr':
|
|
386
|
+
return new Uint8Array([0x39]);
|
|
387
|
+
case 'NumericXor':
|
|
388
|
+
return new Uint8Array([0x3a]);
|
|
389
|
+
case 'NumericSHL':
|
|
390
|
+
return new Uint8Array([0x3b]);
|
|
391
|
+
case 'NumericSHR':
|
|
392
|
+
return new Uint8Array([0x3c]);
|
|
393
|
+
case 'I256ToU256':
|
|
394
|
+
return new Uint8Array([0x3d]);
|
|
395
|
+
case 'I256ToByteVec':
|
|
396
|
+
return new Uint8Array([0x3e]);
|
|
397
|
+
case 'U256ToI256':
|
|
398
|
+
return new Uint8Array([0x3f]);
|
|
399
|
+
case 'U256ToByteVec':
|
|
400
|
+
return new Uint8Array([0x40]);
|
|
401
|
+
case 'ByteVecEq':
|
|
402
|
+
return new Uint8Array([0x41]);
|
|
403
|
+
case 'ByteVecNeq':
|
|
404
|
+
return new Uint8Array([0x42]);
|
|
405
|
+
case 'ByteVecSize':
|
|
406
|
+
return new Uint8Array([0x43]);
|
|
407
|
+
case 'ByteVecConcat':
|
|
408
|
+
return new Uint8Array([0x44]);
|
|
409
|
+
case 'AddressEq':
|
|
410
|
+
return new Uint8Array([0x45]);
|
|
411
|
+
case 'AddressNeq':
|
|
412
|
+
return new Uint8Array([0x46]);
|
|
413
|
+
case 'AddressToByteVec':
|
|
414
|
+
return new Uint8Array([0x47]);
|
|
415
|
+
case 'IsAssetAddress':
|
|
416
|
+
return new Uint8Array([0x48]);
|
|
417
|
+
case 'IsContractAddress':
|
|
418
|
+
return new Uint8Array([0x49]);
|
|
419
|
+
case 'Jump':
|
|
420
|
+
return new Uint8Array([0x4a, ...i32Codec.encode(instr.offset)]);
|
|
421
|
+
case 'IfTrue':
|
|
422
|
+
return new Uint8Array([0x4b, ...i32Codec.encode(instr.offset)]);
|
|
423
|
+
case 'IfFalse':
|
|
424
|
+
return new Uint8Array([0x4c, ...i32Codec.encode(instr.offset)]);
|
|
425
|
+
case 'Assert':
|
|
426
|
+
return new Uint8Array([0x4d]);
|
|
427
|
+
case 'Blake2b':
|
|
428
|
+
return new Uint8Array([0x4e]);
|
|
429
|
+
case 'Keccak256':
|
|
430
|
+
return new Uint8Array([0x4f]);
|
|
431
|
+
case 'Sha256':
|
|
432
|
+
return new Uint8Array([0x50]);
|
|
433
|
+
case 'Sha3':
|
|
434
|
+
return new Uint8Array([0x51]);
|
|
435
|
+
case 'VerifyTxSignature':
|
|
436
|
+
return new Uint8Array([0x52]);
|
|
437
|
+
case 'VerifySecP256K1':
|
|
438
|
+
return new Uint8Array([0x53]);
|
|
439
|
+
case 'VerifyED25519':
|
|
440
|
+
return new Uint8Array([0x54]);
|
|
441
|
+
case 'NetworkId':
|
|
442
|
+
return new Uint8Array([0x55]);
|
|
443
|
+
case 'BlockTimeStamp':
|
|
444
|
+
return new Uint8Array([0x56]);
|
|
445
|
+
case 'BlockTarget':
|
|
446
|
+
return new Uint8Array([0x57]);
|
|
447
|
+
case 'TxId':
|
|
448
|
+
return new Uint8Array([0x58]);
|
|
449
|
+
case 'TxInputAddressAt':
|
|
450
|
+
return new Uint8Array([0x59]);
|
|
451
|
+
case 'TxInputsSize':
|
|
452
|
+
return new Uint8Array([0x5a]);
|
|
453
|
+
case 'VerifyAbsoluteLocktime':
|
|
454
|
+
return new Uint8Array([0x5b]);
|
|
455
|
+
case 'VerifyRelativeLocktime':
|
|
456
|
+
return new Uint8Array([0x5c]);
|
|
457
|
+
case 'Log1':
|
|
458
|
+
return new Uint8Array([0x5d]);
|
|
459
|
+
case 'Log2':
|
|
460
|
+
return new Uint8Array([0x5e]);
|
|
461
|
+
case 'Log3':
|
|
462
|
+
return new Uint8Array([0x5f]);
|
|
463
|
+
case 'Log4':
|
|
464
|
+
return new Uint8Array([0x60]);
|
|
465
|
+
case 'Log5':
|
|
466
|
+
return new Uint8Array([0x61]);
|
|
467
|
+
case 'ByteVecSlice':
|
|
468
|
+
return new Uint8Array([0x62]);
|
|
469
|
+
case 'ByteVecToAddress':
|
|
470
|
+
return new Uint8Array([0x63]);
|
|
471
|
+
case 'Encode':
|
|
472
|
+
return new Uint8Array([0x64]);
|
|
473
|
+
case 'Zeros':
|
|
474
|
+
return new Uint8Array([0x65]);
|
|
475
|
+
case 'U256To1Byte':
|
|
476
|
+
return new Uint8Array([0x66]);
|
|
477
|
+
case 'U256To2Byte':
|
|
478
|
+
return new Uint8Array([0x67]);
|
|
479
|
+
case 'U256To4Byte':
|
|
480
|
+
return new Uint8Array([0x68]);
|
|
481
|
+
case 'U256To8Byte':
|
|
482
|
+
return new Uint8Array([0x69]);
|
|
483
|
+
case 'U256To16Byte':
|
|
484
|
+
return new Uint8Array([0x6a]);
|
|
485
|
+
case 'U256To32Byte':
|
|
486
|
+
return new Uint8Array([0x6b]);
|
|
487
|
+
case 'U256From1Byte':
|
|
488
|
+
return new Uint8Array([0x6c]);
|
|
489
|
+
case 'U256From2Byte':
|
|
490
|
+
return new Uint8Array([0x6d]);
|
|
491
|
+
case 'U256From4Byte':
|
|
492
|
+
return new Uint8Array([0x6e]);
|
|
493
|
+
case 'U256From8Byte':
|
|
494
|
+
return new Uint8Array([0x6f]);
|
|
495
|
+
case 'U256From16Byte':
|
|
496
|
+
return new Uint8Array([0x70]);
|
|
497
|
+
case 'U256From32Byte':
|
|
498
|
+
return new Uint8Array([0x71]);
|
|
499
|
+
case 'EthEcRecover':
|
|
500
|
+
return new Uint8Array([0x72]);
|
|
501
|
+
case 'Log6':
|
|
502
|
+
return new Uint8Array([0x73]);
|
|
503
|
+
case 'Log7':
|
|
504
|
+
return new Uint8Array([0x74]);
|
|
505
|
+
case 'Log8':
|
|
506
|
+
return new Uint8Array([0x75]);
|
|
507
|
+
case 'Log9':
|
|
508
|
+
return new Uint8Array([0x76]);
|
|
509
|
+
case 'ContractIdToAddress':
|
|
510
|
+
return new Uint8Array([0x77]);
|
|
511
|
+
case 'LoadLocalByIndex':
|
|
512
|
+
return new Uint8Array([0x78]);
|
|
513
|
+
case 'StoreLocalByIndex':
|
|
514
|
+
return new Uint8Array([0x79]);
|
|
515
|
+
case 'Dup':
|
|
516
|
+
return new Uint8Array([0x7a]);
|
|
517
|
+
case 'AssertWithErrorCode':
|
|
518
|
+
return new Uint8Array([0x7b]);
|
|
519
|
+
case 'Swap':
|
|
520
|
+
return new Uint8Array([0x7c]);
|
|
521
|
+
case 'BlockHash':
|
|
522
|
+
return new Uint8Array([0x7d]);
|
|
523
|
+
case 'DEBUG':
|
|
524
|
+
return new Uint8Array([0x7e, ...byteStringsCodec.encode(instr.stringParts)]);
|
|
525
|
+
case 'TxGasPrice':
|
|
526
|
+
return new Uint8Array([0x7f]);
|
|
527
|
+
case 'TxGasAmount':
|
|
528
|
+
return new Uint8Array([0x80]);
|
|
529
|
+
case 'TxGasFee':
|
|
530
|
+
return new Uint8Array([0x81]);
|
|
531
|
+
case 'I256Exp':
|
|
532
|
+
return new Uint8Array([0x82]);
|
|
533
|
+
case 'U256Exp':
|
|
534
|
+
return new Uint8Array([0x83]);
|
|
535
|
+
case 'U256ModExp':
|
|
536
|
+
return new Uint8Array([0x84]);
|
|
537
|
+
case 'VerifyBIP340Schnorr':
|
|
538
|
+
return new Uint8Array([0x85]);
|
|
539
|
+
case 'GetSegregatedSignature':
|
|
540
|
+
return new Uint8Array([0x86]);
|
|
541
|
+
case 'MulModN':
|
|
542
|
+
return new Uint8Array([0x87]);
|
|
543
|
+
case 'AddModN':
|
|
544
|
+
return new Uint8Array([0x88]);
|
|
545
|
+
case 'U256ToString':
|
|
546
|
+
return new Uint8Array([0x89]);
|
|
547
|
+
case 'I256ToString':
|
|
548
|
+
return new Uint8Array([0x8a]);
|
|
549
|
+
case 'BoolToString':
|
|
550
|
+
return new Uint8Array([0x8b]);
|
|
551
|
+
case 'GroupOfAddress':
|
|
552
|
+
return new Uint8Array([0x8c]);
|
|
553
|
+
case 'VerifySignature':
|
|
554
|
+
return new Uint8Array([0x8d]);
|
|
555
|
+
case 'GetSegregatedWebAuthnSignature':
|
|
556
|
+
return new Uint8Array([0x8e]);
|
|
557
|
+
case 'DevInstr':
|
|
558
|
+
return new Uint8Array([0x8f, ...byteCodec.encode(instr.instr)]);
|
|
559
|
+
case 'I256RoundInfinityDiv':
|
|
560
|
+
return new Uint8Array([0x90]);
|
|
561
|
+
case 'U256RoundInfinityDiv':
|
|
562
|
+
return new Uint8Array([0x91]);
|
|
563
|
+
case 'LoadMutField':
|
|
564
|
+
return new Uint8Array([0xa0, ...byteCodec.encode(instr.index)]);
|
|
565
|
+
case 'StoreMutField':
|
|
566
|
+
return new Uint8Array([0xa1, ...byteCodec.encode(instr.index)]);
|
|
567
|
+
case 'ApproveAlph':
|
|
568
|
+
return new Uint8Array([0xa2]);
|
|
569
|
+
case 'ApproveToken':
|
|
570
|
+
return new Uint8Array([0xa3]);
|
|
571
|
+
case 'AlphRemaining':
|
|
572
|
+
return new Uint8Array([0xa4]);
|
|
573
|
+
case 'TokenRemaining':
|
|
574
|
+
return new Uint8Array([0xa5]);
|
|
575
|
+
case 'IsPaying':
|
|
576
|
+
return new Uint8Array([0xa6]);
|
|
577
|
+
case 'TransferAlph':
|
|
578
|
+
return new Uint8Array([0xa7]);
|
|
579
|
+
case 'TransferAlphFromSelf':
|
|
580
|
+
return new Uint8Array([0xa8]);
|
|
581
|
+
case 'TransferAlphToSelf':
|
|
582
|
+
return new Uint8Array([0xa9]);
|
|
583
|
+
case 'TransferToken':
|
|
584
|
+
return new Uint8Array([0xaa]);
|
|
585
|
+
case 'TransferTokenFromSelf':
|
|
586
|
+
return new Uint8Array([0xab]);
|
|
587
|
+
case 'TransferTokenToSelf':
|
|
588
|
+
return new Uint8Array([0xac]);
|
|
589
|
+
case 'CreateContract':
|
|
590
|
+
return new Uint8Array([0xad]);
|
|
591
|
+
case 'CreateContractWithToken':
|
|
592
|
+
return new Uint8Array([0xae]);
|
|
593
|
+
case 'CopyCreateContract':
|
|
594
|
+
return new Uint8Array([0xaf]);
|
|
595
|
+
case 'DestroySelf':
|
|
596
|
+
return new Uint8Array([0xb0]);
|
|
597
|
+
case 'SelfContractId':
|
|
598
|
+
return new Uint8Array([0xb1]);
|
|
599
|
+
case 'SelfAddress':
|
|
600
|
+
return new Uint8Array([0xb2]);
|
|
601
|
+
case 'CallerContractId':
|
|
602
|
+
return new Uint8Array([0xb3]);
|
|
603
|
+
case 'CallerAddress':
|
|
604
|
+
return new Uint8Array([0xb4]);
|
|
605
|
+
case 'IsCalledFromTxScript':
|
|
606
|
+
return new Uint8Array([0xb5]);
|
|
607
|
+
case 'CallerInitialStateHash':
|
|
608
|
+
return new Uint8Array([0xb6]);
|
|
609
|
+
case 'CallerCodeHash':
|
|
610
|
+
return new Uint8Array([0xb7]);
|
|
611
|
+
case 'ContractInitialStateHash':
|
|
612
|
+
return new Uint8Array([0xb8]);
|
|
613
|
+
case 'ContractCodeHash':
|
|
614
|
+
return new Uint8Array([0xb9]);
|
|
615
|
+
case 'MigrateSimple':
|
|
616
|
+
return new Uint8Array([0xba]);
|
|
617
|
+
case 'MigrateWithFields':
|
|
618
|
+
return new Uint8Array([0xbb]);
|
|
619
|
+
case 'CopyCreateContractWithToken':
|
|
620
|
+
return new Uint8Array([0xbc]);
|
|
621
|
+
case 'BurnToken':
|
|
622
|
+
return new Uint8Array([0xbd]);
|
|
623
|
+
case 'LockApprovedAssets':
|
|
624
|
+
return new Uint8Array([0xbe]);
|
|
625
|
+
case 'CreateSubContract':
|
|
626
|
+
return new Uint8Array([0xbf]);
|
|
627
|
+
case 'CreateSubContractWithToken':
|
|
628
|
+
return new Uint8Array([0xc0]);
|
|
629
|
+
case 'CopyCreateSubContract':
|
|
630
|
+
return new Uint8Array([0xc1]);
|
|
631
|
+
case 'CopyCreateSubContractWithToken':
|
|
632
|
+
return new Uint8Array([0xc2]);
|
|
633
|
+
case 'LoadMutFieldByIndex':
|
|
634
|
+
return new Uint8Array([0xc3]);
|
|
635
|
+
case 'StoreMutFieldByIndex':
|
|
636
|
+
return new Uint8Array([0xc4]);
|
|
637
|
+
case 'ContractExists':
|
|
638
|
+
return new Uint8Array([0xc5]);
|
|
639
|
+
case 'CreateContractAndTransferToken':
|
|
640
|
+
return new Uint8Array([0xc6]);
|
|
641
|
+
case 'CopyCreateContractAndTransferToken':
|
|
642
|
+
return new Uint8Array([0xc7]);
|
|
643
|
+
case 'CreateSubContractAndTransferToken':
|
|
644
|
+
return new Uint8Array([0xc8]);
|
|
645
|
+
case 'CopyCreateSubContractAndTransferToken':
|
|
646
|
+
return new Uint8Array([0xc9]);
|
|
647
|
+
case 'NullContractAddress':
|
|
648
|
+
return new Uint8Array([0xca]);
|
|
649
|
+
case 'SubContractId':
|
|
650
|
+
return new Uint8Array([0xcb]);
|
|
651
|
+
case 'SubContractIdOf':
|
|
652
|
+
return new Uint8Array([0xcc]);
|
|
653
|
+
case 'ALPHTokenId':
|
|
654
|
+
return new Uint8Array([0xcd]);
|
|
655
|
+
case 'LoadImmField':
|
|
656
|
+
return new Uint8Array([0xce, ...byteCodec.encode(instr.index)]);
|
|
657
|
+
case 'LoadImmFieldByIndex':
|
|
658
|
+
return new Uint8Array([0xcf]);
|
|
659
|
+
case 'PayGasFee':
|
|
660
|
+
return new Uint8Array([0xd0]);
|
|
661
|
+
case 'MinimalContractDeposit':
|
|
662
|
+
return new Uint8Array([0xd1]);
|
|
663
|
+
case 'CreateMapEntry':
|
|
664
|
+
return new Uint8Array([0xd2, ...byteCodec.encode(instr.immFieldsNum), ...byteCodec.encode(instr.mutFieldsNum)]);
|
|
665
|
+
case 'MethodSelector':
|
|
666
|
+
return new Uint8Array([0xd3, ...intAs4BytesCodec.encode(instr.selector)]);
|
|
667
|
+
case 'CallExternalBySelector':
|
|
668
|
+
return new Uint8Array([0xd4, ...intAs4BytesCodec.encode(instr.selector)]);
|
|
669
|
+
case 'ExternalCallerContractId':
|
|
670
|
+
return new Uint8Array([0xd5]);
|
|
671
|
+
case 'ExternalCallerAddress':
|
|
672
|
+
return new Uint8Array([0xd6]);
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
_decode(input) {
|
|
676
|
+
const code = input.consumeByte();
|
|
677
|
+
switch (code) {
|
|
678
|
+
case 0x00:
|
|
679
|
+
return CallLocal(byteCodec._decode(input));
|
|
680
|
+
case 0x01:
|
|
681
|
+
return CallExternal(byteCodec._decode(input));
|
|
682
|
+
case 0x02:
|
|
683
|
+
return Return;
|
|
684
|
+
case 0x03:
|
|
685
|
+
return ConstTrue;
|
|
686
|
+
case 0x04:
|
|
687
|
+
return ConstFalse;
|
|
688
|
+
case 0x05:
|
|
689
|
+
return I256Const0;
|
|
690
|
+
case 0x06:
|
|
691
|
+
return I256Const1;
|
|
692
|
+
case 0x07:
|
|
693
|
+
return I256Const2;
|
|
694
|
+
case 0x08:
|
|
695
|
+
return I256Const3;
|
|
696
|
+
case 0x09:
|
|
697
|
+
return I256Const4;
|
|
698
|
+
case 0x0a:
|
|
699
|
+
return I256Const5;
|
|
700
|
+
case 0x0b:
|
|
701
|
+
return I256ConstN1;
|
|
702
|
+
case 0x0c:
|
|
703
|
+
return U256Const0;
|
|
704
|
+
case 0x0d:
|
|
705
|
+
return U256Const1;
|
|
706
|
+
case 0x0e:
|
|
707
|
+
return U256Const2;
|
|
708
|
+
case 0x0f:
|
|
709
|
+
return U256Const3;
|
|
710
|
+
case 0x10:
|
|
711
|
+
return U256Const4;
|
|
712
|
+
case 0x11:
|
|
713
|
+
return U256Const5;
|
|
714
|
+
case 0x12:
|
|
715
|
+
return I256Const(i256Codec._decode(input));
|
|
716
|
+
case 0x13:
|
|
717
|
+
return U256Const(u256Codec._decode(input));
|
|
718
|
+
case 0x14:
|
|
719
|
+
return BytesConst(byteStringCodec._decode(input));
|
|
720
|
+
case 0x15:
|
|
721
|
+
return AddressConst(lockupScriptCodec._decode(input));
|
|
722
|
+
case 0x16:
|
|
723
|
+
return LoadLocal(byteCodec._decode(input));
|
|
724
|
+
case 0x17:
|
|
725
|
+
return StoreLocal(byteCodec._decode(input));
|
|
726
|
+
case 0x18:
|
|
727
|
+
return Pop;
|
|
728
|
+
case 0x19:
|
|
729
|
+
return BoolNot;
|
|
730
|
+
case 0x1a:
|
|
731
|
+
return BoolAnd;
|
|
732
|
+
case 0x1b:
|
|
733
|
+
return BoolOr;
|
|
734
|
+
case 0x1c:
|
|
735
|
+
return BoolEq;
|
|
736
|
+
case 0x1d:
|
|
737
|
+
return BoolNeq;
|
|
738
|
+
case 0x1e:
|
|
739
|
+
return BoolToByteVec;
|
|
740
|
+
case 0x1f:
|
|
741
|
+
return I256Add;
|
|
742
|
+
case 0x20:
|
|
743
|
+
return I256Sub;
|
|
744
|
+
case 0x21:
|
|
745
|
+
return I256Mul;
|
|
746
|
+
case 0x22:
|
|
747
|
+
return I256Div;
|
|
748
|
+
case 0x23:
|
|
749
|
+
return I256Mod;
|
|
750
|
+
case 0x24:
|
|
751
|
+
return I256Eq;
|
|
752
|
+
case 0x25:
|
|
753
|
+
return I256Neq;
|
|
754
|
+
case 0x26:
|
|
755
|
+
return I256Lt;
|
|
756
|
+
case 0x27:
|
|
757
|
+
return I256Le;
|
|
758
|
+
case 0x28:
|
|
759
|
+
return I256Gt;
|
|
760
|
+
case 0x29:
|
|
761
|
+
return I256Ge;
|
|
762
|
+
case 0x2a:
|
|
763
|
+
return U256Add;
|
|
764
|
+
case 0x2b:
|
|
765
|
+
return U256Sub;
|
|
766
|
+
case 0x2c:
|
|
767
|
+
return U256Mul;
|
|
768
|
+
case 0x2d:
|
|
769
|
+
return U256Div;
|
|
770
|
+
case 0x2e:
|
|
771
|
+
return U256Mod;
|
|
772
|
+
case 0x2f:
|
|
773
|
+
return U256Eq;
|
|
774
|
+
case 0x30:
|
|
775
|
+
return U256Neq;
|
|
776
|
+
case 0x31:
|
|
777
|
+
return U256Lt;
|
|
778
|
+
case 0x32:
|
|
779
|
+
return U256Le;
|
|
780
|
+
case 0x33:
|
|
781
|
+
return U256Gt;
|
|
782
|
+
case 0x34:
|
|
783
|
+
return U256Ge;
|
|
784
|
+
case 0x35:
|
|
785
|
+
return U256ModAdd;
|
|
786
|
+
case 0x36:
|
|
787
|
+
return U256ModSub;
|
|
788
|
+
case 0x37:
|
|
789
|
+
return U256ModMul;
|
|
790
|
+
case 0x38:
|
|
791
|
+
return NumericBitAnd;
|
|
792
|
+
case 0x39:
|
|
793
|
+
return NumericBitOr;
|
|
794
|
+
case 0x3a:
|
|
795
|
+
return NumericXor;
|
|
796
|
+
case 0x3b:
|
|
797
|
+
return NumericSHL;
|
|
798
|
+
case 0x3c:
|
|
799
|
+
return NumericSHR;
|
|
800
|
+
case 0x3d:
|
|
801
|
+
return I256ToU256;
|
|
802
|
+
case 0x3e:
|
|
803
|
+
return I256ToByteVec;
|
|
804
|
+
case 0x3f:
|
|
805
|
+
return U256ToI256;
|
|
806
|
+
case 0x40:
|
|
807
|
+
return U256ToByteVec;
|
|
808
|
+
case 0x41:
|
|
809
|
+
return ByteVecEq;
|
|
810
|
+
case 0x42:
|
|
811
|
+
return ByteVecNeq;
|
|
812
|
+
case 0x43:
|
|
813
|
+
return ByteVecSize;
|
|
814
|
+
case 0x44:
|
|
815
|
+
return ByteVecConcat;
|
|
816
|
+
case 0x45:
|
|
817
|
+
return AddressEq;
|
|
818
|
+
case 0x46:
|
|
819
|
+
return AddressNeq;
|
|
820
|
+
case 0x47:
|
|
821
|
+
return AddressToByteVec;
|
|
822
|
+
case 0x48:
|
|
823
|
+
return IsAssetAddress;
|
|
824
|
+
case 0x49:
|
|
825
|
+
return IsContractAddress;
|
|
826
|
+
case 0x4a:
|
|
827
|
+
return Jump(i32Codec._decode(input));
|
|
828
|
+
case 0x4b:
|
|
829
|
+
return IfTrue(i32Codec._decode(input));
|
|
830
|
+
case 0x4c:
|
|
831
|
+
return IfFalse(i32Codec._decode(input));
|
|
832
|
+
case 0x4d:
|
|
833
|
+
return Assert;
|
|
834
|
+
case 0x4e:
|
|
835
|
+
return Blake2b;
|
|
836
|
+
case 0x4f:
|
|
837
|
+
return Keccak256;
|
|
838
|
+
case 0x50:
|
|
839
|
+
return Sha256;
|
|
840
|
+
case 0x51:
|
|
841
|
+
return Sha3;
|
|
842
|
+
case 0x52:
|
|
843
|
+
return VerifyTxSignature;
|
|
844
|
+
case 0x53:
|
|
845
|
+
return VerifySecP256K1;
|
|
846
|
+
case 0x54:
|
|
847
|
+
return VerifyED25519;
|
|
848
|
+
case 0x55:
|
|
849
|
+
return NetworkId;
|
|
850
|
+
case 0x56:
|
|
851
|
+
return BlockTimeStamp;
|
|
852
|
+
case 0x57:
|
|
853
|
+
return BlockTarget;
|
|
854
|
+
case 0x58:
|
|
855
|
+
return TxId;
|
|
856
|
+
case 0x59:
|
|
857
|
+
return TxInputAddressAt;
|
|
858
|
+
case 0x5a:
|
|
859
|
+
return TxInputsSize;
|
|
860
|
+
case 0x5b:
|
|
861
|
+
return VerifyAbsoluteLocktime;
|
|
862
|
+
case 0x5c:
|
|
863
|
+
return VerifyRelativeLocktime;
|
|
864
|
+
case 0x5d:
|
|
865
|
+
return Log1;
|
|
866
|
+
case 0x5e:
|
|
867
|
+
return Log2;
|
|
868
|
+
case 0x5f:
|
|
869
|
+
return Log3;
|
|
870
|
+
case 0x60:
|
|
871
|
+
return Log4;
|
|
872
|
+
case 0x61:
|
|
873
|
+
return Log5;
|
|
874
|
+
case 0x62:
|
|
875
|
+
return ByteVecSlice;
|
|
876
|
+
case 0x63:
|
|
877
|
+
return ByteVecToAddress;
|
|
878
|
+
case 0x64:
|
|
879
|
+
return Encode;
|
|
880
|
+
case 0x65:
|
|
881
|
+
return Zeros;
|
|
882
|
+
case 0x66:
|
|
883
|
+
return U256To1Byte;
|
|
884
|
+
case 0x67:
|
|
885
|
+
return U256To2Byte;
|
|
886
|
+
case 0x68:
|
|
887
|
+
return U256To4Byte;
|
|
888
|
+
case 0x69:
|
|
889
|
+
return U256To8Byte;
|
|
890
|
+
case 0x6a:
|
|
891
|
+
return U256To16Byte;
|
|
892
|
+
case 0x6b:
|
|
893
|
+
return U256To32Byte;
|
|
894
|
+
case 0x6c:
|
|
895
|
+
return U256From1Byte;
|
|
896
|
+
case 0x6d:
|
|
897
|
+
return U256From2Byte;
|
|
898
|
+
case 0x6e:
|
|
899
|
+
return U256From4Byte;
|
|
900
|
+
case 0x6f:
|
|
901
|
+
return U256From8Byte;
|
|
902
|
+
case 0x70:
|
|
903
|
+
return U256From16Byte;
|
|
904
|
+
case 0x71:
|
|
905
|
+
return U256From32Byte;
|
|
906
|
+
case 0x72:
|
|
907
|
+
return EthEcRecover;
|
|
908
|
+
case 0x73:
|
|
909
|
+
return Log6;
|
|
910
|
+
case 0x74:
|
|
911
|
+
return Log7;
|
|
912
|
+
case 0x75:
|
|
913
|
+
return Log8;
|
|
914
|
+
case 0x76:
|
|
915
|
+
return Log9;
|
|
916
|
+
case 0x77:
|
|
917
|
+
return ContractIdToAddress;
|
|
918
|
+
case 0x78:
|
|
919
|
+
return LoadLocalByIndex;
|
|
920
|
+
case 0x79:
|
|
921
|
+
return StoreLocalByIndex;
|
|
922
|
+
case 0x7a:
|
|
923
|
+
return Dup;
|
|
924
|
+
case 0x7b:
|
|
925
|
+
return AssertWithErrorCode;
|
|
926
|
+
case 0x7c:
|
|
927
|
+
return Swap;
|
|
928
|
+
case 0x7d:
|
|
929
|
+
return BlockHash;
|
|
930
|
+
case 0x7e:
|
|
931
|
+
return DEBUG(byteStringsCodec._decode(input));
|
|
932
|
+
case 0x7f:
|
|
933
|
+
return TxGasPrice;
|
|
934
|
+
case 0x80:
|
|
935
|
+
return TxGasAmount;
|
|
936
|
+
case 0x81:
|
|
937
|
+
return TxGasFee;
|
|
938
|
+
case 0x82:
|
|
939
|
+
return I256Exp;
|
|
940
|
+
case 0x83:
|
|
941
|
+
return U256Exp;
|
|
942
|
+
case 0x84:
|
|
943
|
+
return U256ModExp;
|
|
944
|
+
case 0x85:
|
|
945
|
+
return VerifyBIP340Schnorr;
|
|
946
|
+
case 0x86:
|
|
947
|
+
return GetSegregatedSignature;
|
|
948
|
+
case 0x87:
|
|
949
|
+
return MulModN;
|
|
950
|
+
case 0x88:
|
|
951
|
+
return AddModN;
|
|
952
|
+
case 0x89:
|
|
953
|
+
return U256ToString;
|
|
954
|
+
case 0x8a:
|
|
955
|
+
return I256ToString;
|
|
956
|
+
case 0x8b:
|
|
957
|
+
return BoolToString;
|
|
958
|
+
case 0x8c:
|
|
959
|
+
return GroupOfAddress;
|
|
960
|
+
case 0x8d:
|
|
961
|
+
return VerifySignature;
|
|
962
|
+
case 0x8e:
|
|
963
|
+
return GetSegregatedWebAuthnSignature;
|
|
964
|
+
case 0x8f:
|
|
965
|
+
return DevInstr(byteCodec._decode(input));
|
|
966
|
+
case 0x90:
|
|
967
|
+
return I256RoundInfinityDiv;
|
|
968
|
+
case 0x91:
|
|
969
|
+
return U256RoundInfinityDiv;
|
|
970
|
+
case 0xa0:
|
|
971
|
+
return LoadMutField(byteCodec._decode(input));
|
|
972
|
+
case 0xa1:
|
|
973
|
+
return StoreMutField(byteCodec._decode(input));
|
|
974
|
+
case 0xa2:
|
|
975
|
+
return ApproveAlph;
|
|
976
|
+
case 0xa3:
|
|
977
|
+
return ApproveToken;
|
|
978
|
+
case 0xa4:
|
|
979
|
+
return AlphRemaining;
|
|
980
|
+
case 0xa5:
|
|
981
|
+
return TokenRemaining;
|
|
982
|
+
case 0xa6:
|
|
983
|
+
return IsPaying;
|
|
984
|
+
case 0xa7:
|
|
985
|
+
return TransferAlph;
|
|
986
|
+
case 0xa8:
|
|
987
|
+
return TransferAlphFromSelf;
|
|
988
|
+
case 0xa9:
|
|
989
|
+
return TransferAlphToSelf;
|
|
990
|
+
case 0xaa:
|
|
991
|
+
return TransferToken;
|
|
992
|
+
case 0xab:
|
|
993
|
+
return TransferTokenFromSelf;
|
|
994
|
+
case 0xac:
|
|
995
|
+
return TransferTokenToSelf;
|
|
996
|
+
case 0xad:
|
|
997
|
+
return CreateContract;
|
|
998
|
+
case 0xae:
|
|
999
|
+
return CreateContractWithToken;
|
|
1000
|
+
case 0xaf:
|
|
1001
|
+
return CopyCreateContract;
|
|
1002
|
+
case 0xb0:
|
|
1003
|
+
return DestroySelf;
|
|
1004
|
+
case 0xb1:
|
|
1005
|
+
return SelfContractId;
|
|
1006
|
+
case 0xb2:
|
|
1007
|
+
return SelfAddress;
|
|
1008
|
+
case 0xb3:
|
|
1009
|
+
return CallerContractId;
|
|
1010
|
+
case 0xb4:
|
|
1011
|
+
return CallerAddress;
|
|
1012
|
+
case 0xb5:
|
|
1013
|
+
return IsCalledFromTxScript;
|
|
1014
|
+
case 0xb6:
|
|
1015
|
+
return CallerInitialStateHash;
|
|
1016
|
+
case 0xb7:
|
|
1017
|
+
return CallerCodeHash;
|
|
1018
|
+
case 0xb8:
|
|
1019
|
+
return ContractInitialStateHash;
|
|
1020
|
+
case 0xb9:
|
|
1021
|
+
return ContractCodeHash;
|
|
1022
|
+
case 0xba:
|
|
1023
|
+
return MigrateSimple;
|
|
1024
|
+
case 0xbb:
|
|
1025
|
+
return MigrateWithFields;
|
|
1026
|
+
case 0xbc:
|
|
1027
|
+
return CopyCreateContractWithToken;
|
|
1028
|
+
case 0xbd:
|
|
1029
|
+
return BurnToken;
|
|
1030
|
+
case 0xbe:
|
|
1031
|
+
return LockApprovedAssets;
|
|
1032
|
+
case 0xbf:
|
|
1033
|
+
return CreateSubContract;
|
|
1034
|
+
case 0xc0:
|
|
1035
|
+
return CreateSubContractWithToken;
|
|
1036
|
+
case 0xc1:
|
|
1037
|
+
return CopyCreateSubContract;
|
|
1038
|
+
case 0xc2:
|
|
1039
|
+
return CopyCreateSubContractWithToken;
|
|
1040
|
+
case 0xc3:
|
|
1041
|
+
return LoadMutFieldByIndex;
|
|
1042
|
+
case 0xc4:
|
|
1043
|
+
return StoreMutFieldByIndex;
|
|
1044
|
+
case 0xc5:
|
|
1045
|
+
return ContractExists;
|
|
1046
|
+
case 0xc6:
|
|
1047
|
+
return CreateContractAndTransferToken;
|
|
1048
|
+
case 0xc7:
|
|
1049
|
+
return CopyCreateContractAndTransferToken;
|
|
1050
|
+
case 0xc8:
|
|
1051
|
+
return CreateSubContractAndTransferToken;
|
|
1052
|
+
case 0xc9:
|
|
1053
|
+
return CopyCreateSubContractAndTransferToken;
|
|
1054
|
+
case 0xca:
|
|
1055
|
+
return NullContractAddress;
|
|
1056
|
+
case 0xcb:
|
|
1057
|
+
return SubContractId;
|
|
1058
|
+
case 0xcc:
|
|
1059
|
+
return SubContractIdOf;
|
|
1060
|
+
case 0xcd:
|
|
1061
|
+
return ALPHTokenId;
|
|
1062
|
+
case 0xce:
|
|
1063
|
+
return LoadImmField(byteCodec._decode(input));
|
|
1064
|
+
case 0xcf:
|
|
1065
|
+
return LoadImmFieldByIndex;
|
|
1066
|
+
case 0xd0:
|
|
1067
|
+
return PayGasFee;
|
|
1068
|
+
case 0xd1:
|
|
1069
|
+
return MinimalContractDeposit;
|
|
1070
|
+
case 0xd2:
|
|
1071
|
+
return CreateMapEntry(byteCodec._decode(input), byteCodec._decode(input));
|
|
1072
|
+
case 0xd3:
|
|
1073
|
+
return MethodSelector(intAs4BytesCodec._decode(input));
|
|
1074
|
+
case 0xd4:
|
|
1075
|
+
return CallExternalBySelector(intAs4BytesCodec._decode(input));
|
|
1076
|
+
case 0xd5:
|
|
1077
|
+
return ExternalCallerContractId;
|
|
1078
|
+
case 0xd6:
|
|
1079
|
+
return ExternalCallerAddress;
|
|
1080
|
+
default:
|
|
1081
|
+
throw new Error(`Unknown instr code: ${code}`);
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
export const instrCodec = new InstrCodec();
|
|
1086
|
+
export const instrsCodec = new ArrayCodec(instrCodec);
|
|
1087
|
+
function checkU256(number) {
|
|
1088
|
+
if (number < 0n || number >= 2n ** 256n) {
|
|
1089
|
+
throw new Error(`Invalid u256 number: ${number}`);
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
export function toU256(number) {
|
|
1093
|
+
checkU256(number);
|
|
1094
|
+
switch (number) {
|
|
1095
|
+
case 0n:
|
|
1096
|
+
return U256Const0;
|
|
1097
|
+
case 1n:
|
|
1098
|
+
return U256Const1;
|
|
1099
|
+
case 2n:
|
|
1100
|
+
return U256Const2;
|
|
1101
|
+
case 3n:
|
|
1102
|
+
return U256Const3;
|
|
1103
|
+
case 4n:
|
|
1104
|
+
return U256Const4;
|
|
1105
|
+
case 5n:
|
|
1106
|
+
return U256Const5;
|
|
1107
|
+
default:
|
|
1108
|
+
return U256Const(number);
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
function checkI256(number) {
|
|
1112
|
+
const upperBound = 2n ** 255n;
|
|
1113
|
+
if (number < -upperBound || number >= upperBound) {
|
|
1114
|
+
throw new Error(`Invalid i256 number: ${number}`);
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
export function toI256(number) {
|
|
1118
|
+
checkI256(number);
|
|
1119
|
+
switch (number) {
|
|
1120
|
+
case 0n:
|
|
1121
|
+
return I256Const0;
|
|
1122
|
+
case 1n:
|
|
1123
|
+
return I256Const1;
|
|
1124
|
+
case 2n:
|
|
1125
|
+
return I256Const2;
|
|
1126
|
+
case 3n:
|
|
1127
|
+
return I256Const3;
|
|
1128
|
+
case 4n:
|
|
1129
|
+
return I256Const4;
|
|
1130
|
+
case 5n:
|
|
1131
|
+
return I256Const5;
|
|
1132
|
+
case -1n:
|
|
1133
|
+
return I256ConstN1;
|
|
1134
|
+
default:
|
|
1135
|
+
return I256Const(number);
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
//# sourceMappingURL=instr-codec.js.map
|