@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
|
@@ -1,65 +1,81 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
22
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.
|
|
24
|
-
|
|
25
|
-
|
|
36
|
+
exports.networkIds = void 0;
|
|
37
|
+
exports.encodeSignature = encodeSignature;
|
|
38
|
+
exports.encodeHexSignature = encodeHexSignature;
|
|
39
|
+
exports.signatureDecode = signatureDecode;
|
|
40
|
+
exports.isHexString = isHexString;
|
|
41
|
+
exports.toNonNegativeBigInt = toNonNegativeBigInt;
|
|
42
|
+
exports.hexToBinUnsafe = hexToBinUnsafe;
|
|
43
|
+
exports.binToHex = binToHex;
|
|
44
|
+
exports.blockChainIndex = blockChainIndex;
|
|
45
|
+
exports.stringToHex = stringToHex;
|
|
46
|
+
exports.hexToString = hexToString;
|
|
47
|
+
exports.sleep = sleep;
|
|
48
|
+
exports.isDevnet = isDevnet;
|
|
49
|
+
exports.targetToDifficulty = targetToDifficulty;
|
|
50
|
+
exports.difficultyToTarget = difficultyToTarget;
|
|
51
|
+
exports.concatBytes = concatBytes;
|
|
52
|
+
exports.xorByte = xorByte;
|
|
53
|
+
exports.assertType = assertType;
|
|
54
|
+
const secp256k1 = __importStar(require("@noble/secp256k1"));
|
|
26
55
|
const constants_1 = require("../constants");
|
|
27
56
|
exports.networkIds = ['mainnet', 'testnet', 'devnet'];
|
|
28
|
-
const ec = new elliptic_1.ec('secp256k1');
|
|
29
57
|
function encodeSignature(signature) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
sNormalized = ec.n.sub(signature.s);
|
|
33
|
-
}
|
|
34
|
-
const r = signature.r.toString('hex', 66).slice(2);
|
|
35
|
-
const s = sNormalized.toString('hex', 66).slice(2);
|
|
36
|
-
return r + s;
|
|
58
|
+
const sig = new secp256k1.Signature(signature.r, signature.s).normalizeS();
|
|
59
|
+
return sig.toCompactHex();
|
|
37
60
|
}
|
|
38
|
-
exports.encodeSignature = encodeSignature;
|
|
39
61
|
function encodeHexSignature(rHex, sHex) {
|
|
40
|
-
return encodeSignature({ r:
|
|
62
|
+
return encodeSignature({ r: BigInt('0x' + rHex), s: BigInt('0x' + sHex) });
|
|
41
63
|
}
|
|
42
|
-
|
|
43
|
-
// the signature should be in hex string format for 64 bytes
|
|
44
|
-
function signatureDecode(ec, signature) {
|
|
64
|
+
function signatureDecode(signature) {
|
|
45
65
|
if (signature.length !== 128) {
|
|
46
66
|
throw new Error('Invalid signature length');
|
|
47
67
|
}
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const decoded = { r: signature.slice(0, 64), s: sHex };
|
|
52
|
-
return decoded;
|
|
68
|
+
const sig = secp256k1.Signature.fromCompact(signature);
|
|
69
|
+
if (!sig.hasHighS()) {
|
|
70
|
+
return { r: signature.slice(0, 64), s: signature.slice(64, 128) };
|
|
53
71
|
}
|
|
54
72
|
else {
|
|
55
73
|
throw new Error('The signature is not normalized');
|
|
56
74
|
}
|
|
57
75
|
}
|
|
58
|
-
exports.signatureDecode = signatureDecode;
|
|
59
76
|
function isHexString(input) {
|
|
60
77
|
return input.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(input);
|
|
61
78
|
}
|
|
62
|
-
exports.isHexString = isHexString;
|
|
63
79
|
function toNonNegativeBigInt(input) {
|
|
64
80
|
try {
|
|
65
81
|
const bigIntValue = BigInt(input);
|
|
@@ -69,7 +85,6 @@ function toNonNegativeBigInt(input) {
|
|
|
69
85
|
return undefined;
|
|
70
86
|
}
|
|
71
87
|
}
|
|
72
|
-
exports.toNonNegativeBigInt = toNonNegativeBigInt;
|
|
73
88
|
function hexToBinUnsafe(hex) {
|
|
74
89
|
const bytes = [];
|
|
75
90
|
for (let i = 0; i < hex.length; i += 2) {
|
|
@@ -77,13 +92,11 @@ function hexToBinUnsafe(hex) {
|
|
|
77
92
|
}
|
|
78
93
|
return new Uint8Array(bytes);
|
|
79
94
|
}
|
|
80
|
-
exports.hexToBinUnsafe = hexToBinUnsafe;
|
|
81
95
|
function binToHex(bin) {
|
|
82
96
|
return Array.from(bin)
|
|
83
97
|
.map((byte) => byte.toString(16).padStart(2, '0'))
|
|
84
98
|
.join('');
|
|
85
99
|
}
|
|
86
|
-
exports.binToHex = binToHex;
|
|
87
100
|
function blockChainIndex(blockHash) {
|
|
88
101
|
if (blockHash.length != 64) {
|
|
89
102
|
throw Error(`Invalid block hash: ${blockHash}`);
|
|
@@ -91,7 +104,6 @@ function blockChainIndex(blockHash) {
|
|
|
91
104
|
const rawIndex = Number('0x' + blockHash.slice(-4)) % constants_1.TOTAL_NUMBER_OF_CHAINS;
|
|
92
105
|
return { fromGroup: Math.floor(rawIndex / constants_1.TOTAL_NUMBER_OF_GROUPS), toGroup: rawIndex % constants_1.TOTAL_NUMBER_OF_GROUPS };
|
|
93
106
|
}
|
|
94
|
-
exports.blockChainIndex = blockChainIndex;
|
|
95
107
|
function stringToHex(str) {
|
|
96
108
|
let hex = '';
|
|
97
109
|
for (let i = 0; i < str.length; i++) {
|
|
@@ -99,7 +111,6 @@ function stringToHex(str) {
|
|
|
99
111
|
}
|
|
100
112
|
return hex;
|
|
101
113
|
}
|
|
102
|
-
exports.stringToHex = stringToHex;
|
|
103
114
|
function hexToString(str) {
|
|
104
115
|
if (!isHexString(str)) {
|
|
105
116
|
throw new Error(`Invalid hex string: ${str}`);
|
|
@@ -107,15 +118,12 @@ function hexToString(str) {
|
|
|
107
118
|
const bytes = hexToBinUnsafe(str);
|
|
108
119
|
return new TextDecoder().decode(bytes);
|
|
109
120
|
}
|
|
110
|
-
exports.hexToString = hexToString;
|
|
111
121
|
function sleep(ms) {
|
|
112
122
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
113
123
|
}
|
|
114
|
-
exports.sleep = sleep;
|
|
115
124
|
function isDevnet(networkId) {
|
|
116
125
|
return networkId !== 0 && networkId !== 1;
|
|
117
126
|
}
|
|
118
|
-
exports.isDevnet = isDevnet;
|
|
119
127
|
function targetToDifficulty(compactedTarget) {
|
|
120
128
|
if (!isHexString(compactedTarget) || compactedTarget.length !== 8) {
|
|
121
129
|
throw Error(`Invalid target ${compactedTarget}, expected a hex string of length 8`);
|
|
@@ -126,7 +134,6 @@ function targetToDifficulty(compactedTarget) {
|
|
|
126
134
|
const target = size <= 3 ? mantissa >> BigInt(8 * (3 - size)) : mantissa << BigInt(8 * (size - 3));
|
|
127
135
|
return maxBigInt / target;
|
|
128
136
|
}
|
|
129
|
-
exports.targetToDifficulty = targetToDifficulty;
|
|
130
137
|
function difficultyToTarget(diff) {
|
|
131
138
|
const maxBigInt = 1n << 256n;
|
|
132
139
|
const target = diff === 1n ? maxBigInt - 1n : maxBigInt / diff;
|
|
@@ -141,7 +148,6 @@ function difficultyToTarget(diff) {
|
|
|
141
148
|
mantissaBytes[3] = mantissa & 0xff;
|
|
142
149
|
return binToHex(mantissaBytes);
|
|
143
150
|
}
|
|
144
|
-
exports.difficultyToTarget = difficultyToTarget;
|
|
145
151
|
function concatBytes(arrays) {
|
|
146
152
|
const totalLength = arrays.reduce((acc, arr) => acc + arr.length, 0);
|
|
147
153
|
const result = new Uint8Array(totalLength);
|
|
@@ -152,7 +158,6 @@ function concatBytes(arrays) {
|
|
|
152
158
|
}
|
|
153
159
|
return result;
|
|
154
160
|
}
|
|
155
|
-
exports.concatBytes = concatBytes;
|
|
156
161
|
function xorByte(intValue) {
|
|
157
162
|
const byte0 = (intValue >> 24) & 0xff;
|
|
158
163
|
const byte1 = (intValue >> 16) & 0xff;
|
|
@@ -160,7 +165,5 @@ function xorByte(intValue) {
|
|
|
160
165
|
const byte3 = intValue & 0xff;
|
|
161
166
|
return (byte0 ^ byte1 ^ byte2 ^ byte3) & 0xff;
|
|
162
167
|
}
|
|
163
|
-
exports.xorByte = xorByte;
|
|
164
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars
|
|
165
168
|
function assertType() { }
|
|
166
|
-
|
|
169
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebCrypto = void 0;
|
|
4
|
+
class WebCrypto {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.subtle = globalThis.crypto.subtle;
|
|
7
|
+
}
|
|
8
|
+
getRandomValues(array) {
|
|
9
|
+
if (!ArrayBuffer.isView(array)) {
|
|
10
|
+
throw new TypeError("Failed to execute 'getRandomValues' on 'Crypto': parameter 1 is not of type 'ArrayBufferView'");
|
|
11
|
+
}
|
|
12
|
+
const bytes = new Uint8Array(array.buffer, array.byteOffset, array.byteLength);
|
|
13
|
+
globalThis.crypto.getRandomValues(bytes);
|
|
14
|
+
return array;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.WebCrypto = WebCrypto;
|
|
18
|
+
//# sourceMappingURL=webcrypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webcrypto.js","sourceRoot":"","sources":["../../../src/utils/webcrypto.ts"],"names":[],"mappings":";;;AAqBA,MAAa,SAAS;IAAtB;QACE,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAA;IAYnC,CAAC;IAVQ,eAAe,CAAmC,KAAQ;QAC/D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CACjB,+FAA+F,CAChG,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAC9E,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAbD,8BAaC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { KeyType } from '../signer';
|
|
2
|
+
import { LockupScript } from '../codec/lockup-script-codec';
|
|
3
|
+
export declare enum AddressType {
|
|
4
|
+
P2PKH = 0,
|
|
5
|
+
P2MPKH = 1,
|
|
6
|
+
P2SH = 2,
|
|
7
|
+
P2C = 3,
|
|
8
|
+
P2PK = 4,
|
|
9
|
+
P2HMPK = 5
|
|
10
|
+
}
|
|
11
|
+
export declare function validateAddress(address: string): void;
|
|
12
|
+
export declare function isValidAddress(address: string): boolean;
|
|
13
|
+
export declare function addressToBytes(address: string): Uint8Array;
|
|
14
|
+
export declare function isAssetAddress(address: string): boolean;
|
|
15
|
+
export declare function isGrouplessAddress(address: string): boolean;
|
|
16
|
+
export declare function isGrouplessAddressWithoutGroupIndex(address: string): boolean;
|
|
17
|
+
export declare function isGrouplessAddressWithGroupIndex(address: string): boolean;
|
|
18
|
+
export declare function defaultGroupOfGrouplessAddress(bytes: Uint8Array): number;
|
|
19
|
+
export declare function isContractAddress(address: string): boolean;
|
|
20
|
+
export declare function groupOfAddress(address: string): number;
|
|
21
|
+
export declare function contractIdFromAddress(address: string): Uint8Array;
|
|
22
|
+
export declare function tokenIdFromAddress(address: string): Uint8Array;
|
|
23
|
+
export declare function groupOfPrivateKey(privateKey: string, keyType?: KeyType): number;
|
|
24
|
+
export declare function publicKeyFromPrivateKey(privateKey: string, _keyType?: KeyType): string;
|
|
25
|
+
export declare function addressFromPublicKey(publicKey: string, _keyType?: KeyType): string;
|
|
26
|
+
export declare function addressFromScript(script: Uint8Array): string;
|
|
27
|
+
export declare function addressFromContractId(contractId: string): string;
|
|
28
|
+
export declare function addressFromTokenId(tokenId: string): string;
|
|
29
|
+
export declare function contractIdFromTx(txId: string, outputIndex: number): string;
|
|
30
|
+
export declare function subContractId(parentContractId: string, pathInHex: string, group: number): string;
|
|
31
|
+
export declare function groupOfLockupScript(lockupScript: LockupScript): number;
|
|
32
|
+
export declare function groupFromBytes(bytes: Uint8Array): number;
|
|
33
|
+
export declare function groupFromHint(hint: number): number;
|
|
34
|
+
export declare function hasExplicitGroupIndex(address: string): boolean;
|
|
35
|
+
export declare function addressWithoutExplicitGroupIndex(address: string): string;
|
|
36
|
+
export declare function addressFromLockupScript(lockupScript: LockupScript): string;
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import * as secp from '@noble/secp256k1';
|
|
2
|
+
import { p256 } from '@noble/curves/p256';
|
|
3
|
+
import { ed25519 } from '@noble/curves/ed25519';
|
|
4
|
+
import { TOTAL_NUMBER_OF_GROUPS } from '../constants';
|
|
5
|
+
import { blake2b } from '@noble/hashes/blake2b';
|
|
6
|
+
import bs58, { base58ToBytes } from '../utils/bs58';
|
|
7
|
+
import { binToHex, concatBytes, hexToBinUnsafe, isHexString, xorByte } from '../utils';
|
|
8
|
+
import { lockupScriptCodec } from '../codec/lockup-script-codec';
|
|
9
|
+
import { i32Codec } from '../codec';
|
|
10
|
+
import djb2 from '../utils/djb2';
|
|
11
|
+
import { TraceableError } from '../error';
|
|
12
|
+
import { byteCodec } from '../codec/codec';
|
|
13
|
+
import { safePublicKeyLikeCodec } from '../codec/public-key-like-codec';
|
|
14
|
+
const PublicKeyHashSize = 32;
|
|
15
|
+
export var AddressType;
|
|
16
|
+
(function (AddressType) {
|
|
17
|
+
AddressType[AddressType["P2PKH"] = 0] = "P2PKH";
|
|
18
|
+
AddressType[AddressType["P2MPKH"] = 1] = "P2MPKH";
|
|
19
|
+
AddressType[AddressType["P2SH"] = 2] = "P2SH";
|
|
20
|
+
AddressType[AddressType["P2C"] = 3] = "P2C";
|
|
21
|
+
AddressType[AddressType["P2PK"] = 4] = "P2PK";
|
|
22
|
+
AddressType[AddressType["P2HMPK"] = 5] = "P2HMPK";
|
|
23
|
+
})(AddressType || (AddressType = {}));
|
|
24
|
+
export function validateAddress(address) {
|
|
25
|
+
decodeAndValidateAddress(address);
|
|
26
|
+
}
|
|
27
|
+
export function isValidAddress(address) {
|
|
28
|
+
try {
|
|
29
|
+
validateAddress(address);
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function decodeAndValidateAddress(address) {
|
|
37
|
+
const decoded = addressToBytes(address);
|
|
38
|
+
if (decoded.length === 0)
|
|
39
|
+
throw new Error('Address is empty');
|
|
40
|
+
const addressType = decoded[0];
|
|
41
|
+
if (addressType === AddressType.P2MPKH) {
|
|
42
|
+
let multisig;
|
|
43
|
+
try {
|
|
44
|
+
multisig = lockupScriptCodec.decode(decoded).value;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
throw new TraceableError(`Invalid multisig address: ${address}`, error);
|
|
48
|
+
}
|
|
49
|
+
const n = multisig.publicKeyHashes.length;
|
|
50
|
+
const m = multisig.m;
|
|
51
|
+
if (n < m || m <= 0) {
|
|
52
|
+
throw new Error(`Invalid multisig address, n: ${n}, m: ${m}`);
|
|
53
|
+
}
|
|
54
|
+
const encodedNSize = i32Codec.encode(n).length;
|
|
55
|
+
const encodedMSize = i32Codec.encode(m).length;
|
|
56
|
+
const size = encodedNSize + PublicKeyHashSize * n + encodedMSize + 1;
|
|
57
|
+
if (decoded.length === size)
|
|
58
|
+
return decoded;
|
|
59
|
+
}
|
|
60
|
+
else if (addressType === AddressType.P2PKH || addressType === AddressType.P2SH || addressType === AddressType.P2C) {
|
|
61
|
+
if (decoded.length === 33)
|
|
62
|
+
return decoded;
|
|
63
|
+
}
|
|
64
|
+
else if (addressType === AddressType.P2PK) {
|
|
65
|
+
const p2pk = lockupScriptCodec.decode(decoded).value;
|
|
66
|
+
validateGroupIndex(p2pk.group);
|
|
67
|
+
return decoded;
|
|
68
|
+
}
|
|
69
|
+
else if (addressType === AddressType.P2HMPK) {
|
|
70
|
+
const p2hmpk = lockupScriptCodec.decode(decoded).value;
|
|
71
|
+
validateGroupIndex(p2hmpk.group);
|
|
72
|
+
return decoded;
|
|
73
|
+
}
|
|
74
|
+
throw new Error(`Invalid address: ${address}`);
|
|
75
|
+
}
|
|
76
|
+
export function addressToBytes(address) {
|
|
77
|
+
if (hasExplicitGroupIndex(address)) {
|
|
78
|
+
const groupIndex = parseGroupIndex(address[address.length - 1]);
|
|
79
|
+
const decoded = base58ToBytes(address.slice(0, address.length - 2));
|
|
80
|
+
if (decoded.length > 0 && isGrouplessType(decoded[0])) {
|
|
81
|
+
const groupByte = byteCodec.encode(groupIndex);
|
|
82
|
+
return new Uint8Array([...decoded, ...groupByte]);
|
|
83
|
+
}
|
|
84
|
+
throw new Error(`Invalid groupless address: ${address}`);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const decoded = base58ToBytes(address);
|
|
88
|
+
if (decoded.length > 0 && isGrouplessType(decoded[0])) {
|
|
89
|
+
const group = defaultGroupOfGrouplessAddress(decoded.slice(2, decoded.length - 4));
|
|
90
|
+
const groupByte = byteCodec.encode(group);
|
|
91
|
+
return new Uint8Array([...decoded, ...groupByte]);
|
|
92
|
+
}
|
|
93
|
+
return decoded;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export function isAssetAddress(address) {
|
|
97
|
+
const addressType = decodeAndValidateAddress(address)[0];
|
|
98
|
+
return (addressType === AddressType.P2PKH ||
|
|
99
|
+
addressType === AddressType.P2MPKH ||
|
|
100
|
+
addressType === AddressType.P2SH ||
|
|
101
|
+
addressType === AddressType.P2PK ||
|
|
102
|
+
addressType === AddressType.P2HMPK);
|
|
103
|
+
}
|
|
104
|
+
function isGrouplessType(type) {
|
|
105
|
+
return type === AddressType.P2PK || type === AddressType.P2HMPK;
|
|
106
|
+
}
|
|
107
|
+
export function isGrouplessAddress(address) {
|
|
108
|
+
return isGrouplessType(decodeAndValidateAddress(address)[0]);
|
|
109
|
+
}
|
|
110
|
+
export function isGrouplessAddressWithoutGroupIndex(address) {
|
|
111
|
+
return !hasExplicitGroupIndex(address) && isGrouplessAddress(address);
|
|
112
|
+
}
|
|
113
|
+
export function isGrouplessAddressWithGroupIndex(address) {
|
|
114
|
+
return hasExplicitGroupIndex(address) && isGrouplessAddress(address);
|
|
115
|
+
}
|
|
116
|
+
export function defaultGroupOfGrouplessAddress(bytes) {
|
|
117
|
+
return (bytes[bytes.length - 1] & 0xff) % TOTAL_NUMBER_OF_GROUPS;
|
|
118
|
+
}
|
|
119
|
+
export function isContractAddress(address) {
|
|
120
|
+
const addressType = decodeAndValidateAddress(address)[0];
|
|
121
|
+
return addressType === AddressType.P2C;
|
|
122
|
+
}
|
|
123
|
+
export function groupOfAddress(address) {
|
|
124
|
+
const decoded = decodeAndValidateAddress(address);
|
|
125
|
+
const addressType = decoded[0];
|
|
126
|
+
const addressBody = decoded.slice(1);
|
|
127
|
+
if (addressType === AddressType.P2PKH) {
|
|
128
|
+
return groupOfP2pkhAddress(addressBody);
|
|
129
|
+
}
|
|
130
|
+
else if (addressType === AddressType.P2MPKH) {
|
|
131
|
+
return groupOfP2mpkhAddress(addressBody);
|
|
132
|
+
}
|
|
133
|
+
else if (addressType === AddressType.P2SH) {
|
|
134
|
+
return groupOfP2shAddress(addressBody);
|
|
135
|
+
}
|
|
136
|
+
else if (isGrouplessType(addressType)) {
|
|
137
|
+
return groupOfGrouplessAddress(addressBody);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const id = contractIdFromAddress(address);
|
|
141
|
+
return id[`${id.length - 1}`];
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function groupOfP2pkhAddress(address) {
|
|
145
|
+
return groupFromBytes(address);
|
|
146
|
+
}
|
|
147
|
+
function groupOfP2mpkhAddress(address) {
|
|
148
|
+
return groupFromBytes(address.slice(1, 33));
|
|
149
|
+
}
|
|
150
|
+
function groupOfGrouplessAddress(address) {
|
|
151
|
+
return address[address.length - 1] % TOTAL_NUMBER_OF_GROUPS;
|
|
152
|
+
}
|
|
153
|
+
function groupOfP2shAddress(address) {
|
|
154
|
+
return groupFromBytes(address);
|
|
155
|
+
}
|
|
156
|
+
export function contractIdFromAddress(address) {
|
|
157
|
+
return idFromAddress(address);
|
|
158
|
+
}
|
|
159
|
+
export function tokenIdFromAddress(address) {
|
|
160
|
+
return idFromAddress(address);
|
|
161
|
+
}
|
|
162
|
+
function idFromAddress(address) {
|
|
163
|
+
const decoded = base58ToBytes(address);
|
|
164
|
+
if (decoded.length == 0)
|
|
165
|
+
throw new Error('Address string is empty');
|
|
166
|
+
const addressType = decoded[0];
|
|
167
|
+
const addressBody = decoded.slice(1);
|
|
168
|
+
if (addressType == AddressType.P2C) {
|
|
169
|
+
return addressBody;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
throw new Error(`Invalid contract address type: ${addressType}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
export function groupOfPrivateKey(privateKey, keyType) {
|
|
176
|
+
return groupOfAddress(addressFromPublicKey(publicKeyFromPrivateKey(privateKey, keyType), keyType));
|
|
177
|
+
}
|
|
178
|
+
export function publicKeyFromPrivateKey(privateKey, _keyType) {
|
|
179
|
+
const keyType = _keyType ?? 'default';
|
|
180
|
+
switch (keyType) {
|
|
181
|
+
case 'default':
|
|
182
|
+
case 'gl-secp256k1':
|
|
183
|
+
return binToHex(secp.getPublicKey(privateKey, true));
|
|
184
|
+
case 'gl-secp256r1':
|
|
185
|
+
case 'gl-webauthn':
|
|
186
|
+
return binToHex(p256.getPublicKey(hexToBinUnsafe(privateKey), true));
|
|
187
|
+
case 'gl-ed25519':
|
|
188
|
+
return binToHex(ed25519.getPublicKey(hexToBinUnsafe(privateKey)));
|
|
189
|
+
case 'bip340-schnorr':
|
|
190
|
+
return secp.Point.fromPrivateKey(privateKey).toHex(true).slice(2);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
function p2pkAddressFromPublicKey(publicKey, keyType) {
|
|
194
|
+
const rawBytes = hexToBinUnsafe(publicKey);
|
|
195
|
+
const publicKeyLike = keyType === 'gl-secp256k1'
|
|
196
|
+
? { kind: 'SecP256K1', value: rawBytes }
|
|
197
|
+
: keyType === 'gl-secp256r1'
|
|
198
|
+
? { kind: 'SecP256R1', value: rawBytes }
|
|
199
|
+
: keyType === 'gl-ed25519'
|
|
200
|
+
? { kind: 'ED25519', value: rawBytes }
|
|
201
|
+
: { kind: 'WebAuthn', value: rawBytes };
|
|
202
|
+
const publicKeyBytes = safePublicKeyLikeCodec.encode(publicKeyLike);
|
|
203
|
+
const bytes = new Uint8Array([AddressType.P2PK, ...publicKeyBytes]);
|
|
204
|
+
return bs58.encode(bytes);
|
|
205
|
+
}
|
|
206
|
+
export function addressFromPublicKey(publicKey, _keyType) {
|
|
207
|
+
const keyType = _keyType ?? 'default';
|
|
208
|
+
switch (keyType) {
|
|
209
|
+
case 'default': {
|
|
210
|
+
const hash = blake2b(hexToBinUnsafe(publicKey), { dkLen: 32 });
|
|
211
|
+
const bytes = new Uint8Array([AddressType.P2PKH, ...hash]);
|
|
212
|
+
return bs58.encode(bytes);
|
|
213
|
+
}
|
|
214
|
+
case 'bip340-schnorr': {
|
|
215
|
+
const lockupScript = hexToBinUnsafe(`0101000000000458144020${publicKey}8685`);
|
|
216
|
+
return addressFromScript(lockupScript);
|
|
217
|
+
}
|
|
218
|
+
default:
|
|
219
|
+
return p2pkAddressFromPublicKey(publicKey, keyType);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
export function addressFromScript(script) {
|
|
223
|
+
const scriptHash = blake2b(script, { dkLen: 32 });
|
|
224
|
+
return bs58.encode(new Uint8Array([AddressType.P2SH, ...scriptHash]));
|
|
225
|
+
}
|
|
226
|
+
export function addressFromContractId(contractId) {
|
|
227
|
+
const hash = hexToBinUnsafe(contractId);
|
|
228
|
+
const bytes = new Uint8Array([AddressType.P2C, ...hash]);
|
|
229
|
+
return bs58.encode(bytes);
|
|
230
|
+
}
|
|
231
|
+
export function addressFromTokenId(tokenId) {
|
|
232
|
+
const contractId = tokenId;
|
|
233
|
+
return addressFromContractId(contractId);
|
|
234
|
+
}
|
|
235
|
+
export function contractIdFromTx(txId, outputIndex) {
|
|
236
|
+
const txIdBin = hexToBinUnsafe(txId);
|
|
237
|
+
const data = new Uint8Array([...txIdBin, outputIndex]);
|
|
238
|
+
const hash = blake2b(data, { dkLen: 32 });
|
|
239
|
+
return binToHex(hash);
|
|
240
|
+
}
|
|
241
|
+
export function subContractId(parentContractId, pathInHex, group) {
|
|
242
|
+
if (group < 0 || group >= TOTAL_NUMBER_OF_GROUPS) {
|
|
243
|
+
throw new Error(`Invalid group ${group}`);
|
|
244
|
+
}
|
|
245
|
+
if (!isHexString(parentContractId)) {
|
|
246
|
+
throw new Error(`Invalid parent contract ID: ${parentContractId}, expected hex string`);
|
|
247
|
+
}
|
|
248
|
+
if (!isHexString(pathInHex)) {
|
|
249
|
+
throw new Error(`Invalid path: ${pathInHex}, expected hex string`);
|
|
250
|
+
}
|
|
251
|
+
const data = concatBytes([hexToBinUnsafe(parentContractId), hexToBinUnsafe(pathInHex)]);
|
|
252
|
+
const bytes = new Uint8Array([...blake2b(blake2b(data, { dkLen: 32 }), { dkLen: 32 }).slice(0, -1), group]);
|
|
253
|
+
return binToHex(bytes);
|
|
254
|
+
}
|
|
255
|
+
export function groupOfLockupScript(lockupScript) {
|
|
256
|
+
if (lockupScript.kind === 'P2PKH') {
|
|
257
|
+
return groupFromBytes(lockupScript.value);
|
|
258
|
+
}
|
|
259
|
+
else if (lockupScript.kind === 'P2MPKH') {
|
|
260
|
+
return groupFromBytes(lockupScript.value.publicKeyHashes[0]);
|
|
261
|
+
}
|
|
262
|
+
else if (lockupScript.kind === 'P2SH') {
|
|
263
|
+
return groupFromBytes(lockupScript.value);
|
|
264
|
+
}
|
|
265
|
+
else if (lockupScript.kind === 'P2PK' || lockupScript.kind === 'P2HMPK') {
|
|
266
|
+
return lockupScript.value.group % TOTAL_NUMBER_OF_GROUPS;
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
const contractId = lockupScript.value;
|
|
270
|
+
return contractId[`${contractId.length - 1}`];
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
export function groupFromBytes(bytes) {
|
|
274
|
+
const hint = djb2(bytes) | 1;
|
|
275
|
+
return groupFromHint(hint);
|
|
276
|
+
}
|
|
277
|
+
export function groupFromHint(hint) {
|
|
278
|
+
const hash = xorByte(hint);
|
|
279
|
+
return hash % TOTAL_NUMBER_OF_GROUPS;
|
|
280
|
+
}
|
|
281
|
+
export function hasExplicitGroupIndex(address) {
|
|
282
|
+
return address.length > 2 && address[address.length - 2] === ':';
|
|
283
|
+
}
|
|
284
|
+
export function addressWithoutExplicitGroupIndex(address) {
|
|
285
|
+
if (hasExplicitGroupIndex(address)) {
|
|
286
|
+
return address.slice(0, address.length - 2);
|
|
287
|
+
}
|
|
288
|
+
return address;
|
|
289
|
+
}
|
|
290
|
+
export function addressFromLockupScript(lockupScript) {
|
|
291
|
+
if (lockupScript.kind === 'P2PK' || lockupScript.kind === 'P2HMPK') {
|
|
292
|
+
const groupByte = lockupScriptCodec.encode(lockupScript).slice(-1);
|
|
293
|
+
const address = bs58.encode(lockupScriptCodec.encode(lockupScript).slice(0, -1));
|
|
294
|
+
return `${address}:${groupByte}`;
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
return bs58.encode(lockupScriptCodec.encode(lockupScript));
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
function parseGroupIndex(groupIndexStr) {
|
|
301
|
+
return validateGroupIndex(parseInt(groupIndexStr), groupIndexStr);
|
|
302
|
+
}
|
|
303
|
+
function validateGroupIndex(groupIndex, groupIndexStr) {
|
|
304
|
+
if (isNaN(groupIndex) || groupIndex < 0 || groupIndex >= TOTAL_NUMBER_OF_GROUPS) {
|
|
305
|
+
throw new Error(`Invalid group index: ${groupIndexStr ?? groupIndex}`);
|
|
306
|
+
}
|
|
307
|
+
return groupIndex;
|
|
308
|
+
}
|
|
309
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/address/address.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './address';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address/index.ts"],"names":[],"mappings":"AAkBA,cAAc,WAAW,CAAA"}
|