@ckb-ccc/core 1.12.5 → 1.13.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/CHANGELOG.md +44 -0
- package/dist/address.advanced-CWGrVD-M.mjs +2 -0
- package/dist/address.advanced-CWGrVD-M.mjs.map +1 -0
- package/dist/advanced.d.mts +2 -0
- package/dist/advanced.mjs +1 -0
- package/dist/advancedBarrel-BD7EAPVd.d.mts +5480 -0
- package/dist/advancedBarrel-BD7EAPVd.d.mts.map +1 -0
- package/dist/advancedBarrel.d.mts +2 -0
- package/dist/advancedBarrel.mjs +2 -0
- package/dist/advancedBarrel.mjs.map +1 -0
- package/dist/barrel-DchA_RPN.mjs +7 -0
- package/dist/barrel-DchA_RPN.mjs.map +1 -0
- package/dist/barrel.d.mts +2 -0
- package/dist/barrel.mjs +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.mjs +1 -0
- package/dist/rolldown-runtime-DK3Fl9T5.mjs +1 -0
- package/dist.commonjs/address.advanced-COp7SNhZ.js +2 -0
- package/dist.commonjs/address.advanced-COp7SNhZ.js.map +1 -0
- package/dist.commonjs/advanced.d.ts +2 -3
- package/dist.commonjs/advanced.js +1 -41
- package/dist.commonjs/advancedBarrel-DRDT4GBS.d.ts +5481 -0
- package/dist.commonjs/advancedBarrel-DRDT4GBS.d.ts.map +1 -0
- package/dist.commonjs/advancedBarrel.d.ts +2 -7
- package/dist.commonjs/advancedBarrel.js +2 -22
- package/dist.commonjs/advancedBarrel.js.map +1 -0
- package/dist.commonjs/barrel-CXC2Uy5L.js +7 -0
- package/dist.commonjs/barrel-CXC2Uy5L.js.map +1 -0
- package/dist.commonjs/barrel.d.ts +2 -14
- package/dist.commonjs/barrel.js +1 -29
- package/dist.commonjs/index.d.ts +2 -3
- package/dist.commonjs/index.js +1 -41
- package/package.json +20 -23
- package/src/barrel.ts +1 -0
- package/src/ckb/epoch.ts +489 -0
- package/src/ckb/index.ts +1 -0
- package/src/ckb/script.ts +4 -3
- package/src/ckb/transaction.ts +83 -94
- package/src/client/client.ts +377 -1
- package/src/client/clientPublicMainnet.advanced.ts +23 -0
- package/src/client/clientPublicTestnet.advanced.ts +23 -0
- package/src/client/clientTypes.ts +1 -2
- package/src/client/jsonRpc/transformers.ts +2 -2
- package/src/client/knownScript.ts +1 -0
- package/src/codec/codec.ts +108 -0
- package/src/{molecule → codec}/entity.ts +17 -7
- package/src/codec/predefined.ts +145 -0
- package/src/hasher/advanced.ts +3 -1
- package/src/hasher/hasherCkb.ts +1 -1
- package/src/hasher/hasherKeecak256.ts +1 -1
- package/src/keystore/index.ts +4 -4
- package/src/molecule/barrel.ts +10 -1
- package/src/molecule/codec.ts +33 -138
- package/src/molecule/predefined.ts +63 -50
- package/src/signer/btc/index.ts +1 -0
- package/src/signer/btc/psbt.ts +98 -0
- package/src/signer/btc/signerBtc.ts +41 -1
- package/src/signer/btc/signerBtcPublicKeyReadonly.ts +15 -0
- package/src/signer/btc/verify.ts +2 -1
- package/src/signer/ckb/signerCkbPrivateKey.ts +6 -11
- package/src/signer/ckb/verifyCkbSecp256k1.ts +6 -10
- package/src/signer/doge/signerDogePrivateKey.ts +6 -3
- package/src/signer/doge/verify.ts +7 -8
- package/src/signer/nostr/signerNostrPrivateKey.ts +9 -8
- package/src/signer/nostr/verify.ts +2 -2
- package/src/utils/index.ts +20 -1
- package/tsdown.config.mts +44 -0
- package/dist/address/address.advanced.d.ts +0 -65
- package/dist/address/address.advanced.d.ts.map +0 -1
- package/dist/address/address.advanced.js +0 -147
- package/dist/address/advanced.d.ts +0 -2
- package/dist/address/advanced.d.ts.map +0 -1
- package/dist/address/advanced.js +0 -1
- package/dist/address/index.d.ts +0 -58
- package/dist/address/index.d.ts.map +0 -1
- package/dist/address/index.js +0 -78
- package/dist/advanced.d.ts +0 -3
- package/dist/advanced.d.ts.map +0 -1
- package/dist/advanced.js +0 -2
- package/dist/advancedBarrel.d.ts +0 -7
- package/dist/advancedBarrel.d.ts.map +0 -1
- package/dist/advancedBarrel.js +0 -6
- package/dist/barrel.d.ts +0 -14
- package/dist/barrel.d.ts.map +0 -1
- package/dist/barrel.js +0 -13
- package/dist/bytes/advanced.d.ts +0 -6
- package/dist/bytes/advanced.d.ts.map +0 -1
- package/dist/bytes/advanced.js +0 -1
- package/dist/bytes/index.d.ts +0 -112
- package/dist/bytes/index.d.ts.map +0 -1
- package/dist/bytes/index.js +0 -155
- package/dist/ckb/advanced.d.ts +0 -3
- package/dist/ckb/advanced.d.ts.map +0 -1
- package/dist/ckb/advanced.js +0 -2
- package/dist/ckb/hash.d.ts +0 -18
- package/dist/ckb/hash.d.ts.map +0 -1
- package/dist/ckb/hash.js +0 -19
- package/dist/ckb/index.d.ts +0 -6
- package/dist/ckb/index.d.ts.map +0 -1
- package/dist/ckb/index.js +0 -5
- package/dist/ckb/script.advanced.d.ts +0 -5
- package/dist/ckb/script.advanced.d.ts.map +0 -1
- package/dist/ckb/script.advanced.js +0 -13
- package/dist/ckb/script.d.ts +0 -156
- package/dist/ckb/script.d.ts.map +0 -1
- package/dist/ckb/script.js +0 -184
- package/dist/ckb/transaction.advanced.d.ts +0 -5
- package/dist/ckb/transaction.advanced.d.ts.map +0 -1
- package/dist/ckb/transaction.advanced.js +0 -9
- package/dist/ckb/transaction.d.ts +0 -1401
- package/dist/ckb/transaction.d.ts.map +0 -1
- package/dist/ckb/transaction.js +0 -1880
- package/dist/ckb/transactionErrors.d.ts +0 -15
- package/dist/ckb/transactionErrors.d.ts.map +0 -1
- package/dist/ckb/transactionErrors.js +0 -21
- package/dist/ckb/transactionLumos.d.ts +0 -30
- package/dist/ckb/transactionLumos.d.ts.map +0 -1
- package/dist/ckb/transactionLumos.js +0 -1
- package/dist/client/advanced.d.ts +0 -6
- package/dist/client/advanced.d.ts.map +0 -1
- package/dist/client/advanced.js +0 -5
- package/dist/client/cache/advanced.d.ts +0 -2
- package/dist/client/cache/advanced.d.ts.map +0 -1
- package/dist/client/cache/advanced.js +0 -1
- package/dist/client/cache/cache.d.ts +0 -98
- package/dist/client/cache/cache.d.ts.map +0 -1
- package/dist/client/cache/cache.js +0 -139
- package/dist/client/cache/index.d.ts +0 -3
- package/dist/client/cache/index.d.ts.map +0 -1
- package/dist/client/cache/index.js +0 -2
- package/dist/client/cache/memory.advanced.d.ts +0 -52
- package/dist/client/cache/memory.advanced.d.ts.map +0 -1
- package/dist/client/cache/memory.advanced.js +0 -149
- package/dist/client/cache/memory.d.ts +0 -53
- package/dist/client/cache/memory.d.ts.map +0 -1
- package/dist/client/cache/memory.js +0 -148
- package/dist/client/client.d.ts +0 -107
- package/dist/client/client.d.ts.map +0 -1
- package/dist/client/client.js +0 -328
- package/dist/client/clientPublicMainnet.advanced.d.ts +0 -4
- package/dist/client/clientPublicMainnet.advanced.d.ts.map +0 -1
- package/dist/client/clientPublicMainnet.advanced.js +0 -402
- package/dist/client/clientPublicMainnet.d.ts +0 -17
- package/dist/client/clientPublicMainnet.d.ts.map +0 -1
- package/dist/client/clientPublicMainnet.js +0 -40
- package/dist/client/clientPublicTestnet.advanced.d.ts +0 -4
- package/dist/client/clientPublicTestnet.advanced.d.ts.map +0 -1
- package/dist/client/clientPublicTestnet.advanced.js +0 -412
- package/dist/client/clientPublicTestnet.d.ts +0 -17
- package/dist/client/clientPublicTestnet.d.ts.map +0 -1
- package/dist/client/clientPublicTestnet.js +0 -40
- package/dist/client/clientTypes.advanced.d.ts +0 -25
- package/dist/client/clientTypes.advanced.d.ts.map +0 -1
- package/dist/client/clientTypes.advanced.js +0 -6
- package/dist/client/clientTypes.d.ts +0 -335
- package/dist/client/clientTypes.d.ts.map +0 -1
- package/dist/client/clientTypes.js +0 -232
- package/dist/client/index.d.ts +0 -8
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -7
- package/dist/client/jsonRpc/advanced.d.ts +0 -3
- package/dist/client/jsonRpc/advanced.d.ts.map +0 -1
- package/dist/client/jsonRpc/advanced.js +0 -2
- package/dist/client/jsonRpc/client.d.ts +0 -160
- package/dist/client/jsonRpc/client.d.ts.map +0 -1
- package/dist/client/jsonRpc/client.js +0 -223
- package/dist/client/jsonRpc/index.d.ts +0 -2
- package/dist/client/jsonRpc/index.d.ts.map +0 -1
- package/dist/client/jsonRpc/index.js +0 -1
- package/dist/client/jsonRpc/transformers.d.ts +0 -51
- package/dist/client/jsonRpc/transformers.d.ts.map +0 -1
- package/dist/client/jsonRpc/transformers.js +0 -247
- package/dist/client/jsonRpc/types.d.ts +0 -101
- package/dist/client/jsonRpc/types.d.ts.map +0 -1
- package/dist/client/jsonRpc/types.js +0 -1
- package/dist/client/knownScript.d.ts +0 -27
- package/dist/client/knownScript.d.ts.map +0 -1
- package/dist/client/knownScript.js +0 -28
- package/dist/fixedPoint/index.d.ts +0 -55
- package/dist/fixedPoint/index.d.ts.map +0 -1
- package/dist/fixedPoint/index.js +0 -68
- package/dist/hasher/advanced.d.ts +0 -2
- package/dist/hasher/advanced.d.ts.map +0 -1
- package/dist/hasher/advanced.js +0 -1
- package/dist/hasher/hasher.d.ts +0 -35
- package/dist/hasher/hasher.d.ts.map +0 -1
- package/dist/hasher/hasher.js +0 -1
- package/dist/hasher/hasherCkb.d.ts +0 -57
- package/dist/hasher/hasherCkb.d.ts.map +0 -1
- package/dist/hasher/hasherCkb.js +0 -70
- package/dist/hasher/hasherKeecak256.d.ts +0 -41
- package/dist/hasher/hasherKeecak256.d.ts.map +0 -1
- package/dist/hasher/hasherKeecak256.js +0 -46
- package/dist/hasher/index.d.ts +0 -4
- package/dist/hasher/index.d.ts.map +0 -1
- package/dist/hasher/index.js +0 -3
- package/dist/hex/index.d.ts +0 -27
- package/dist/hex/index.d.ts.map +0 -1
- package/dist/hex/index.js +0 -17
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2
- package/dist/jsonRpc/advanced.d.ts +0 -2
- package/dist/jsonRpc/advanced.d.ts.map +0 -1
- package/dist/jsonRpc/advanced.js +0 -1
- package/dist/jsonRpc/index.d.ts +0 -2
- package/dist/jsonRpc/index.d.ts.map +0 -1
- package/dist/jsonRpc/index.js +0 -1
- package/dist/jsonRpc/requestor.d.ts +0 -49
- package/dist/jsonRpc/requestor.d.ts.map +0 -1
- package/dist/jsonRpc/requestor.js +0 -109
- package/dist/jsonRpc/transports/advanced.d.ts +0 -6
- package/dist/jsonRpc/transports/advanced.d.ts.map +0 -1
- package/dist/jsonRpc/transports/advanced.js +0 -5
- package/dist/jsonRpc/transports/factory.d.ts +0 -6
- package/dist/jsonRpc/transports/factory.d.ts.map +0 -1
- package/dist/jsonRpc/transports/factory.js +0 -8
- package/dist/jsonRpc/transports/fallback.d.ts +0 -8
- package/dist/jsonRpc/transports/fallback.d.ts.map +0 -1
- package/dist/jsonRpc/transports/fallback.js +0 -22
- package/dist/jsonRpc/transports/http.d.ts +0 -8
- package/dist/jsonRpc/transports/http.d.ts.map +0 -1
- package/dist/jsonRpc/transports/http.js +0 -22
- package/dist/jsonRpc/transports/transport.d.ts +0 -18
- package/dist/jsonRpc/transports/transport.d.ts.map +0 -1
- package/dist/jsonRpc/transports/transport.js +0 -1
- package/dist/jsonRpc/transports/webSocket.d.ts +0 -11
- package/dist/jsonRpc/transports/webSocket.d.ts.map +0 -1
- package/dist/jsonRpc/transports/webSocket.js +0 -87
- package/dist/keystore/index.d.ts +0 -31
- package/dist/keystore/index.d.ts.map +0 -1
- package/dist/keystore/index.js +0 -106
- package/dist/molecule/barrel.d.ts +0 -4
- package/dist/molecule/barrel.d.ts.map +0 -1
- package/dist/molecule/codec.d.ts +0 -146
- package/dist/molecule/codec.d.ts.map +0 -1
- package/dist/molecule/codec.js +0 -516
- package/dist/molecule/entity.d.ts +0 -112
- package/dist/molecule/entity.d.ts.map +0 -1
- package/dist/molecule/entity.js +0 -142
- package/dist/molecule/index.d.ts +0 -2
- package/dist/molecule/index.d.ts.map +0 -1
- package/dist/molecule/index.js +0 -1
- package/dist/molecule/predefined.d.ts +0 -57
- package/dist/molecule/predefined.d.ts.map +0 -1
- package/dist/molecule/predefined.js +0 -83
- package/dist/num/index.d.ts +0 -148
- package/dist/num/index.d.ts.map +0 -1
- package/dist/num/index.js +0 -204
- package/dist/signer/btc/index.d.ts +0 -4
- package/dist/signer/btc/index.d.ts.map +0 -1
- package/dist/signer/btc/index.js +0 -3
- package/dist/signer/btc/signerBtc.d.ts +0 -59
- package/dist/signer/btc/signerBtc.d.ts.map +0 -1
- package/dist/signer/btc/signerBtc.js +0 -83
- package/dist/signer/btc/signerBtcPublicKeyReadonly.d.ts +0 -55
- package/dist/signer/btc/signerBtcPublicKeyReadonly.d.ts.map +0 -1
- package/dist/signer/btc/signerBtcPublicKeyReadonly.js +0 -61
- package/dist/signer/btc/verify.d.ts +0 -40
- package/dist/signer/btc/verify.d.ts.map +0 -1
- package/dist/signer/btc/verify.js +0 -69
- package/dist/signer/ckb/index.d.ts +0 -6
- package/dist/signer/ckb/index.d.ts.map +0 -1
- package/dist/signer/ckb/index.js +0 -5
- package/dist/signer/ckb/signerCkbPrivateKey.d.ts +0 -16
- package/dist/signer/ckb/signerCkbPrivateKey.d.ts.map +0 -1
- package/dist/signer/ckb/signerCkbPrivateKey.js +0 -42
- package/dist/signer/ckb/signerCkbPublicKey.d.ts +0 -27
- package/dist/signer/ckb/signerCkbPublicKey.d.ts.map +0 -1
- package/dist/signer/ckb/signerCkbPublicKey.js +0 -101
- package/dist/signer/ckb/signerCkbScriptReadonly.d.ts +0 -68
- package/dist/signer/ckb/signerCkbScriptReadonly.d.ts.map +0 -1
- package/dist/signer/ckb/signerCkbScriptReadonly.js +0 -78
- package/dist/signer/ckb/verifyCkbSecp256k1.d.ts +0 -11
- package/dist/signer/ckb/verifyCkbSecp256k1.d.ts.map +0 -1
- package/dist/signer/ckb/verifyCkbSecp256k1.js +0 -22
- package/dist/signer/ckb/verifyJoyId.d.ts +0 -6
- package/dist/signer/ckb/verifyJoyId.d.ts.map +0 -1
- package/dist/signer/ckb/verifyJoyId.js +0 -16
- package/dist/signer/doge/index.d.ts +0 -5
- package/dist/signer/doge/index.d.ts.map +0 -1
- package/dist/signer/doge/index.js +0 -4
- package/dist/signer/doge/signerDoge.d.ts +0 -52
- package/dist/signer/doge/signerDoge.d.ts.map +0 -1
- package/dist/signer/doge/signerDoge.js +0 -82
- package/dist/signer/doge/signerDogeAddressReadonly.d.ts +0 -41
- package/dist/signer/doge/signerDogeAddressReadonly.d.ts.map +0 -1
- package/dist/signer/doge/signerDogeAddressReadonly.js +0 -45
- package/dist/signer/doge/signerDogePrivateKey.d.ts +0 -52
- package/dist/signer/doge/signerDogePrivateKey.d.ts.map +0 -1
- package/dist/signer/doge/signerDogePrivateKey.js +0 -68
- package/dist/signer/doge/verify.d.ts +0 -17
- package/dist/signer/doge/verify.d.ts.map +0 -1
- package/dist/signer/doge/verify.js +0 -29
- package/dist/signer/dummy/alwaysError.d.ts +0 -12
- package/dist/signer/dummy/alwaysError.d.ts.map +0 -1
- package/dist/signer/dummy/alwaysError.js +0 -13
- package/dist/signer/dummy/dummy.d.ts +0 -15
- package/dist/signer/dummy/dummy.d.ts.map +0 -1
- package/dist/signer/dummy/dummy.js +0 -22
- package/dist/signer/dummy/index.d.ts +0 -4
- package/dist/signer/dummy/index.d.ts.map +0 -1
- package/dist/signer/dummy/index.js +0 -3
- package/dist/signer/dummy/openLink.d.ts +0 -12
- package/dist/signer/dummy/openLink.d.ts.map +0 -1
- package/dist/signer/dummy/openLink.js +0 -13
- package/dist/signer/evm/index.d.ts +0 -4
- package/dist/signer/evm/index.d.ts.map +0 -1
- package/dist/signer/evm/index.js +0 -3
- package/dist/signer/evm/signerEvm.d.ts +0 -59
- package/dist/signer/evm/signerEvm.d.ts.map +0 -1
- package/dist/signer/evm/signerEvm.js +0 -139
- package/dist/signer/evm/signerEvmAddressReadonly.d.ts +0 -47
- package/dist/signer/evm/signerEvmAddressReadonly.d.ts.map +0 -1
- package/dist/signer/evm/signerEvmAddressReadonly.js +0 -51
- package/dist/signer/evm/verify.d.ts +0 -6
- package/dist/signer/evm/verify.d.ts.map +0 -1
- package/dist/signer/evm/verify.js +0 -9
- package/dist/signer/index.d.ts +0 -8
- package/dist/signer/index.d.ts.map +0 -1
- package/dist/signer/index.js +0 -7
- package/dist/signer/nostr/index.d.ts +0 -5
- package/dist/signer/nostr/index.d.ts.map +0 -1
- package/dist/signer/nostr/index.js +0 -4
- package/dist/signer/nostr/signerNostr.d.ts +0 -72
- package/dist/signer/nostr/signerNostr.d.ts.map +0 -1
- package/dist/signer/nostr/signerNostr.js +0 -96
- package/dist/signer/nostr/signerNostrPrivateKey.d.ts +0 -14
- package/dist/signer/nostr/signerNostrPrivateKey.d.ts.map +0 -1
- package/dist/signer/nostr/signerNostrPrivateKey.js +0 -34
- package/dist/signer/nostr/signerNostrPublicKeyReadonly.d.ts +0 -15
- package/dist/signer/nostr/signerNostrPublicKeyReadonly.d.ts.map +0 -1
- package/dist/signer/nostr/signerNostrPublicKeyReadonly.js +0 -26
- package/dist/signer/nostr/verify.d.ts +0 -9
- package/dist/signer/nostr/verify.d.ts.map +0 -1
- package/dist/signer/nostr/verify.js +0 -55
- package/dist/signer/signer/index.d.ts +0 -256
- package/dist/signer/signer/index.d.ts.map +0 -1
- package/dist/signer/signer/index.js +0 -305
- package/dist/utils/index.d.ts +0 -97
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -55
- package/dist.commonjs/address/address.advanced.d.ts +0 -65
- package/dist.commonjs/address/address.advanced.d.ts.map +0 -1
- package/dist.commonjs/address/address.advanced.js +0 -152
- package/dist.commonjs/address/advanced.d.ts +0 -2
- package/dist.commonjs/address/advanced.d.ts.map +0 -1
- package/dist.commonjs/address/advanced.js +0 -17
- package/dist.commonjs/address/index.d.ts +0 -58
- package/dist.commonjs/address/index.d.ts.map +0 -1
- package/dist.commonjs/address/index.js +0 -82
- package/dist.commonjs/advanced.d.ts.map +0 -1
- package/dist.commonjs/advancedBarrel.d.ts.map +0 -1
- package/dist.commonjs/barrel.d.ts.map +0 -1
- package/dist.commonjs/bytes/advanced.d.ts +0 -6
- package/dist.commonjs/bytes/advanced.d.ts.map +0 -1
- package/dist.commonjs/bytes/advanced.js +0 -2
- package/dist.commonjs/bytes/index.d.ts +0 -112
- package/dist.commonjs/bytes/index.d.ts.map +0 -1
- package/dist.commonjs/bytes/index.js +0 -163
- package/dist.commonjs/ckb/advanced.d.ts +0 -3
- package/dist.commonjs/ckb/advanced.d.ts.map +0 -1
- package/dist.commonjs/ckb/advanced.js +0 -18
- package/dist.commonjs/ckb/hash.d.ts +0 -18
- package/dist.commonjs/ckb/hash.d.ts.map +0 -1
- package/dist.commonjs/ckb/hash.js +0 -22
- package/dist.commonjs/ckb/index.d.ts +0 -6
- package/dist.commonjs/ckb/index.d.ts.map +0 -1
- package/dist.commonjs/ckb/index.js +0 -21
- package/dist.commonjs/ckb/script.advanced.d.ts +0 -5
- package/dist.commonjs/ckb/script.advanced.d.ts.map +0 -1
- package/dist.commonjs/ckb/script.advanced.js +0 -16
- package/dist.commonjs/ckb/script.d.ts +0 -156
- package/dist.commonjs/ckb/script.d.ts.map +0 -1
- package/dist.commonjs/ckb/script.js +0 -190
- package/dist.commonjs/ckb/transaction.advanced.d.ts +0 -5
- package/dist.commonjs/ckb/transaction.advanced.d.ts.map +0 -1
- package/dist.commonjs/ckb/transaction.advanced.js +0 -12
- package/dist.commonjs/ckb/transaction.d.ts +0 -1401
- package/dist.commonjs/ckb/transaction.d.ts.map +0 -1
- package/dist.commonjs/ckb/transaction.js +0 -1894
- package/dist.commonjs/ckb/transactionErrors.d.ts +0 -15
- package/dist.commonjs/ckb/transactionErrors.d.ts.map +0 -1
- package/dist.commonjs/ckb/transactionErrors.js +0 -26
- package/dist.commonjs/ckb/transactionLumos.d.ts +0 -30
- package/dist.commonjs/ckb/transactionLumos.d.ts.map +0 -1
- package/dist.commonjs/ckb/transactionLumos.js +0 -2
- package/dist.commonjs/client/advanced.d.ts +0 -6
- package/dist.commonjs/client/advanced.d.ts.map +0 -1
- package/dist.commonjs/client/advanced.js +0 -21
- package/dist.commonjs/client/cache/advanced.d.ts +0 -2
- package/dist.commonjs/client/cache/advanced.d.ts.map +0 -1
- package/dist.commonjs/client/cache/advanced.js +0 -17
- package/dist.commonjs/client/cache/cache.d.ts +0 -98
- package/dist.commonjs/client/cache/cache.d.ts.map +0 -1
- package/dist.commonjs/client/cache/cache.js +0 -143
- package/dist.commonjs/client/cache/index.d.ts +0 -3
- package/dist.commonjs/client/cache/index.d.ts.map +0 -1
- package/dist.commonjs/client/cache/index.js +0 -18
- package/dist.commonjs/client/cache/memory.advanced.d.ts +0 -52
- package/dist.commonjs/client/cache/memory.advanced.d.ts.map +0 -1
- package/dist.commonjs/client/cache/memory.advanced.js +0 -158
- package/dist.commonjs/client/cache/memory.d.ts +0 -53
- package/dist.commonjs/client/cache/memory.d.ts.map +0 -1
- package/dist.commonjs/client/cache/memory.js +0 -152
- package/dist.commonjs/client/client.d.ts +0 -107
- package/dist.commonjs/client/client.d.ts.map +0 -1
- package/dist.commonjs/client/client.js +0 -332
- package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts +0 -4
- package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +0 -1
- package/dist.commonjs/client/clientPublicMainnet.advanced.js +0 -405
- package/dist.commonjs/client/clientPublicMainnet.d.ts +0 -17
- package/dist.commonjs/client/clientPublicMainnet.d.ts.map +0 -1
- package/dist.commonjs/client/clientPublicMainnet.js +0 -47
- package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +0 -4
- package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +0 -1
- package/dist.commonjs/client/clientPublicTestnet.advanced.js +0 -415
- package/dist.commonjs/client/clientPublicTestnet.d.ts +0 -17
- package/dist.commonjs/client/clientPublicTestnet.d.ts.map +0 -1
- package/dist.commonjs/client/clientPublicTestnet.js +0 -47
- package/dist.commonjs/client/clientTypes.advanced.d.ts +0 -25
- package/dist.commonjs/client/clientTypes.advanced.d.ts.map +0 -1
- package/dist.commonjs/client/clientTypes.advanced.js +0 -10
- package/dist.commonjs/client/clientTypes.d.ts +0 -335
- package/dist.commonjs/client/clientTypes.d.ts.map +0 -1
- package/dist.commonjs/client/clientTypes.js +0 -251
- package/dist.commonjs/client/index.d.ts +0 -8
- package/dist.commonjs/client/index.d.ts.map +0 -1
- package/dist.commonjs/client/index.js +0 -23
- package/dist.commonjs/client/jsonRpc/advanced.d.ts +0 -3
- package/dist.commonjs/client/jsonRpc/advanced.d.ts.map +0 -1
- package/dist.commonjs/client/jsonRpc/advanced.js +0 -18
- package/dist.commonjs/client/jsonRpc/client.d.ts +0 -160
- package/dist.commonjs/client/jsonRpc/client.d.ts.map +0 -1
- package/dist.commonjs/client/jsonRpc/client.js +0 -227
- package/dist.commonjs/client/jsonRpc/index.d.ts +0 -2
- package/dist.commonjs/client/jsonRpc/index.d.ts.map +0 -1
- package/dist.commonjs/client/jsonRpc/index.js +0 -17
- package/dist.commonjs/client/jsonRpc/transformers.d.ts +0 -51
- package/dist.commonjs/client/jsonRpc/transformers.d.ts.map +0 -1
- package/dist.commonjs/client/jsonRpc/transformers.js +0 -251
- package/dist.commonjs/client/jsonRpc/types.d.ts +0 -101
- package/dist.commonjs/client/jsonRpc/types.d.ts.map +0 -1
- package/dist.commonjs/client/jsonRpc/types.js +0 -2
- package/dist.commonjs/client/knownScript.d.ts +0 -27
- package/dist.commonjs/client/knownScript.d.ts.map +0 -1
- package/dist.commonjs/client/knownScript.js +0 -31
- package/dist.commonjs/fixedPoint/index.d.ts +0 -55
- package/dist.commonjs/fixedPoint/index.d.ts.map +0 -1
- package/dist.commonjs/fixedPoint/index.js +0 -73
- package/dist.commonjs/hasher/advanced.d.ts +0 -2
- package/dist.commonjs/hasher/advanced.d.ts.map +0 -1
- package/dist.commonjs/hasher/advanced.js +0 -4
- package/dist.commonjs/hasher/hasher.d.ts +0 -35
- package/dist.commonjs/hasher/hasher.d.ts.map +0 -1
- package/dist.commonjs/hasher/hasher.js +0 -2
- package/dist.commonjs/hasher/hasherCkb.d.ts +0 -57
- package/dist.commonjs/hasher/hasherCkb.d.ts.map +0 -1
- package/dist.commonjs/hasher/hasherCkb.js +0 -75
- package/dist.commonjs/hasher/hasherKeecak256.d.ts +0 -41
- package/dist.commonjs/hasher/hasherKeecak256.d.ts.map +0 -1
- package/dist.commonjs/hasher/hasherKeecak256.js +0 -50
- package/dist.commonjs/hasher/index.d.ts +0 -4
- package/dist.commonjs/hasher/index.d.ts.map +0 -1
- package/dist.commonjs/hasher/index.js +0 -19
- package/dist.commonjs/hex/index.d.ts +0 -27
- package/dist.commonjs/hex/index.d.ts.map +0 -1
- package/dist.commonjs/hex/index.js +0 -20
- package/dist.commonjs/index.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/advanced.d.ts +0 -2
- package/dist.commonjs/jsonRpc/advanced.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/advanced.js +0 -17
- package/dist.commonjs/jsonRpc/index.d.ts +0 -2
- package/dist.commonjs/jsonRpc/index.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/index.js +0 -17
- package/dist.commonjs/jsonRpc/requestor.d.ts +0 -49
- package/dist.commonjs/jsonRpc/requestor.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/requestor.js +0 -113
- package/dist.commonjs/jsonRpc/transports/advanced.d.ts +0 -6
- package/dist.commonjs/jsonRpc/transports/advanced.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/transports/advanced.js +0 -21
- package/dist.commonjs/jsonRpc/transports/factory.d.ts +0 -6
- package/dist.commonjs/jsonRpc/transports/factory.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/transports/factory.js +0 -11
- package/dist.commonjs/jsonRpc/transports/fallback.d.ts +0 -8
- package/dist.commonjs/jsonRpc/transports/fallback.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/transports/fallback.js +0 -26
- package/dist.commonjs/jsonRpc/transports/http.d.ts +0 -8
- package/dist.commonjs/jsonRpc/transports/http.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/transports/http.js +0 -26
- package/dist.commonjs/jsonRpc/transports/transport.d.ts +0 -18
- package/dist.commonjs/jsonRpc/transports/transport.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/transports/transport.js +0 -2
- package/dist.commonjs/jsonRpc/transports/webSocket.d.ts +0 -11
- package/dist.commonjs/jsonRpc/transports/webSocket.d.ts.map +0 -1
- package/dist.commonjs/jsonRpc/transports/webSocket.js +0 -94
- package/dist.commonjs/keystore/index.d.ts +0 -31
- package/dist.commonjs/keystore/index.d.ts.map +0 -1
- package/dist.commonjs/keystore/index.js +0 -110
- package/dist.commonjs/molecule/barrel.d.ts +0 -4
- package/dist.commonjs/molecule/barrel.d.ts.map +0 -1
- package/dist.commonjs/molecule/barrel.js +0 -19
- package/dist.commonjs/molecule/codec.d.ts +0 -146
- package/dist.commonjs/molecule/codec.d.ts.map +0 -1
- package/dist.commonjs/molecule/codec.js +0 -531
- package/dist.commonjs/molecule/entity.d.ts +0 -112
- package/dist.commonjs/molecule/entity.d.ts.map +0 -1
- package/dist.commonjs/molecule/entity.js +0 -147
- package/dist.commonjs/molecule/index.d.ts +0 -2
- package/dist.commonjs/molecule/index.d.ts.map +0 -1
- package/dist.commonjs/molecule/index.js +0 -37
- package/dist.commonjs/molecule/predefined.d.ts +0 -57
- package/dist.commonjs/molecule/predefined.d.ts.map +0 -1
- package/dist.commonjs/molecule/predefined.js +0 -87
- package/dist.commonjs/num/index.d.ts +0 -148
- package/dist.commonjs/num/index.d.ts.map +0 -1
- package/dist.commonjs/num/index.js +0 -216
- package/dist.commonjs/signer/btc/index.d.ts +0 -4
- package/dist.commonjs/signer/btc/index.d.ts.map +0 -1
- package/dist.commonjs/signer/btc/index.js +0 -19
- package/dist.commonjs/signer/btc/signerBtc.d.ts +0 -59
- package/dist.commonjs/signer/btc/signerBtc.d.ts.map +0 -1
- package/dist.commonjs/signer/btc/signerBtc.js +0 -87
- package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts +0 -55
- package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts.map +0 -1
- package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.js +0 -65
- package/dist.commonjs/signer/btc/verify.d.ts +0 -40
- package/dist.commonjs/signer/btc/verify.d.ts.map +0 -1
- package/dist.commonjs/signer/btc/verify.js +0 -80
- package/dist.commonjs/signer/ckb/index.d.ts +0 -6
- package/dist.commonjs/signer/ckb/index.d.ts.map +0 -1
- package/dist.commonjs/signer/ckb/index.js +0 -21
- package/dist.commonjs/signer/ckb/signerCkbPrivateKey.d.ts +0 -16
- package/dist.commonjs/signer/ckb/signerCkbPrivateKey.d.ts.map +0 -1
- package/dist.commonjs/signer/ckb/signerCkbPrivateKey.js +0 -46
- package/dist.commonjs/signer/ckb/signerCkbPublicKey.d.ts +0 -27
- package/dist.commonjs/signer/ckb/signerCkbPublicKey.d.ts.map +0 -1
- package/dist.commonjs/signer/ckb/signerCkbPublicKey.js +0 -105
- package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts +0 -68
- package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts.map +0 -1
- package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.js +0 -82
- package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.d.ts +0 -11
- package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.d.ts.map +0 -1
- package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.js +0 -26
- package/dist.commonjs/signer/ckb/verifyJoyId.d.ts +0 -6
- package/dist.commonjs/signer/ckb/verifyJoyId.d.ts.map +0 -1
- package/dist.commonjs/signer/ckb/verifyJoyId.js +0 -19
- package/dist.commonjs/signer/doge/index.d.ts +0 -5
- package/dist.commonjs/signer/doge/index.d.ts.map +0 -1
- package/dist.commonjs/signer/doge/index.js +0 -20
- package/dist.commonjs/signer/doge/signerDoge.d.ts +0 -52
- package/dist.commonjs/signer/doge/signerDoge.d.ts.map +0 -1
- package/dist.commonjs/signer/doge/signerDoge.js +0 -89
- package/dist.commonjs/signer/doge/signerDogeAddressReadonly.d.ts +0 -41
- package/dist.commonjs/signer/doge/signerDogeAddressReadonly.d.ts.map +0 -1
- package/dist.commonjs/signer/doge/signerDogeAddressReadonly.js +0 -49
- package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts +0 -52
- package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts.map +0 -1
- package/dist.commonjs/signer/doge/signerDogePrivateKey.js +0 -72
- package/dist.commonjs/signer/doge/verify.d.ts +0 -17
- package/dist.commonjs/signer/doge/verify.d.ts.map +0 -1
- package/dist.commonjs/signer/doge/verify.js +0 -33
- package/dist.commonjs/signer/dummy/alwaysError.d.ts +0 -12
- package/dist.commonjs/signer/dummy/alwaysError.d.ts.map +0 -1
- package/dist.commonjs/signer/dummy/alwaysError.js +0 -17
- package/dist.commonjs/signer/dummy/dummy.d.ts +0 -15
- package/dist.commonjs/signer/dummy/dummy.d.ts.map +0 -1
- package/dist.commonjs/signer/dummy/dummy.js +0 -26
- package/dist.commonjs/signer/dummy/index.d.ts +0 -4
- package/dist.commonjs/signer/dummy/index.d.ts.map +0 -1
- package/dist.commonjs/signer/dummy/index.js +0 -19
- package/dist.commonjs/signer/dummy/openLink.d.ts +0 -12
- package/dist.commonjs/signer/dummy/openLink.d.ts.map +0 -1
- package/dist.commonjs/signer/dummy/openLink.js +0 -17
- package/dist.commonjs/signer/evm/index.d.ts +0 -4
- package/dist.commonjs/signer/evm/index.d.ts.map +0 -1
- package/dist.commonjs/signer/evm/index.js +0 -19
- package/dist.commonjs/signer/evm/signerEvm.d.ts +0 -59
- package/dist.commonjs/signer/evm/signerEvm.d.ts.map +0 -1
- package/dist.commonjs/signer/evm/signerEvm.js +0 -143
- package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts +0 -47
- package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts.map +0 -1
- package/dist.commonjs/signer/evm/signerEvmAddressReadonly.js +0 -55
- package/dist.commonjs/signer/evm/verify.d.ts +0 -6
- package/dist.commonjs/signer/evm/verify.d.ts.map +0 -1
- package/dist.commonjs/signer/evm/verify.js +0 -12
- package/dist.commonjs/signer/index.d.ts +0 -8
- package/dist.commonjs/signer/index.d.ts.map +0 -1
- package/dist.commonjs/signer/index.js +0 -23
- package/dist.commonjs/signer/nostr/index.d.ts +0 -5
- package/dist.commonjs/signer/nostr/index.d.ts.map +0 -1
- package/dist.commonjs/signer/nostr/index.js +0 -20
- package/dist.commonjs/signer/nostr/signerNostr.d.ts +0 -72
- package/dist.commonjs/signer/nostr/signerNostr.d.ts.map +0 -1
- package/dist.commonjs/signer/nostr/signerNostr.js +0 -100
- package/dist.commonjs/signer/nostr/signerNostrPrivateKey.d.ts +0 -14
- package/dist.commonjs/signer/nostr/signerNostrPrivateKey.d.ts.map +0 -1
- package/dist.commonjs/signer/nostr/signerNostrPrivateKey.js +0 -38
- package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.d.ts +0 -15
- package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.d.ts.map +0 -1
- package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.js +0 -30
- package/dist.commonjs/signer/nostr/verify.d.ts +0 -9
- package/dist.commonjs/signer/nostr/verify.d.ts.map +0 -1
- package/dist.commonjs/signer/nostr/verify.js +0 -60
- package/dist.commonjs/signer/signer/index.d.ts +0 -256
- package/dist.commonjs/signer/signer/index.d.ts.map +0 -1
- package/dist.commonjs/signer/signer/index.js +0 -311
- package/dist.commonjs/utils/index.d.ts +0 -97
- package/dist.commonjs/utils/index.d.ts.map +0 -1
- package/dist.commonjs/utils/index.js +0 -62
- /package/{dist/molecule/barrel.js → src/codec/index.ts} +0 -0
package/dist/molecule/codec.js
DELETED
|
@@ -1,516 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { bytesConcat, bytesConcatTo, bytesFrom, } from "../bytes/index.js";
|
|
3
|
-
import { numBeFromBytes, numBeToBytes, numFromBytes, numToBytes, } from "../num/index.js";
|
|
4
|
-
export class Codec {
|
|
5
|
-
constructor(encode, decode, byteLength) {
|
|
6
|
-
this.encode = encode;
|
|
7
|
-
this.decode = decode;
|
|
8
|
-
this.byteLength = byteLength;
|
|
9
|
-
}
|
|
10
|
-
static from({ encode, decode, byteLength, }) {
|
|
11
|
-
return new Codec((encodable) => {
|
|
12
|
-
const encoded = encode(encodable);
|
|
13
|
-
if (byteLength !== undefined && encoded.byteLength !== byteLength) {
|
|
14
|
-
throw new Error(`Codec.encode: expected byte length ${byteLength}, got ${encoded.byteLength}`);
|
|
15
|
-
}
|
|
16
|
-
return encoded;
|
|
17
|
-
}, (decodable, config) => {
|
|
18
|
-
const decodableBytes = bytesFrom(decodable);
|
|
19
|
-
if (byteLength !== undefined &&
|
|
20
|
-
decodableBytes.byteLength !== byteLength) {
|
|
21
|
-
throw new Error(`Codec.decode: expected byte length ${byteLength}, got ${decodableBytes.byteLength}`);
|
|
22
|
-
}
|
|
23
|
-
return decode(decodable, config);
|
|
24
|
-
}, byteLength);
|
|
25
|
-
}
|
|
26
|
-
map({ inMap, outMap, }) {
|
|
27
|
-
return new Codec((encodable) => this.encode((inMap ? inMap(encodable) : encodable)), (buffer, config) => (outMap
|
|
28
|
-
? outMap(this.decode(buffer, config))
|
|
29
|
-
: this.decode(buffer, config)), this.byteLength);
|
|
30
|
-
}
|
|
31
|
-
mapIn(map) {
|
|
32
|
-
return this.map({ inMap: map });
|
|
33
|
-
}
|
|
34
|
-
mapOut(map) {
|
|
35
|
-
return this.map({ outMap: map });
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function uint32To(numLike) {
|
|
39
|
-
return numToBytes(numLike, 4);
|
|
40
|
-
}
|
|
41
|
-
function uint32From(bytesLike) {
|
|
42
|
-
return Number(numFromBytes(bytesLike));
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Vector with fixed size item codec
|
|
46
|
-
* @param itemCodec fixed-size vector item codec
|
|
47
|
-
*/
|
|
48
|
-
export function fixedItemVec(itemCodec) {
|
|
49
|
-
const itemByteLength = itemCodec.byteLength;
|
|
50
|
-
if (itemByteLength === undefined) {
|
|
51
|
-
throw new Error("fixedItemVec: itemCodec requires a byte length");
|
|
52
|
-
}
|
|
53
|
-
return Codec.from({
|
|
54
|
-
encode(userDefinedItems) {
|
|
55
|
-
try {
|
|
56
|
-
const concatted = [];
|
|
57
|
-
bytesConcatTo(concatted, uint32To(userDefinedItems.length));
|
|
58
|
-
for (const item of userDefinedItems) {
|
|
59
|
-
bytesConcatTo(concatted, itemCodec.encode(item));
|
|
60
|
-
}
|
|
61
|
-
return bytesFrom(concatted);
|
|
62
|
-
}
|
|
63
|
-
catch (e) {
|
|
64
|
-
throw new Error(`fixedItemVec(${e?.toString()})`);
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
decode(buffer, config) {
|
|
68
|
-
const value = bytesFrom(buffer);
|
|
69
|
-
if (value.byteLength < 4) {
|
|
70
|
-
throw new Error(`fixedItemVec: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
|
|
71
|
-
}
|
|
72
|
-
const itemCount = uint32From(value.slice(0, 4));
|
|
73
|
-
const byteLength = 4 + itemCount * itemByteLength;
|
|
74
|
-
if (value.byteLength !== byteLength) {
|
|
75
|
-
throw new Error(`fixedItemVec: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
|
|
76
|
-
}
|
|
77
|
-
try {
|
|
78
|
-
const decodedArray = [];
|
|
79
|
-
for (let offset = 4; offset < byteLength; offset += itemByteLength) {
|
|
80
|
-
decodedArray.push(itemCodec.decode(value.slice(offset, offset + itemByteLength), config));
|
|
81
|
-
}
|
|
82
|
-
return decodedArray;
|
|
83
|
-
}
|
|
84
|
-
catch (e) {
|
|
85
|
-
throw new Error(`fixedItemVec(${e?.toString()})`);
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Vector with dynamic size item codec, you can create a recursive vector with this function
|
|
92
|
-
* @param itemCodec the vector item codec. It can be fixed-size or dynamic-size.
|
|
93
|
-
*/
|
|
94
|
-
export function dynItemVec(itemCodec) {
|
|
95
|
-
return Codec.from({
|
|
96
|
-
encode(userDefinedItems) {
|
|
97
|
-
try {
|
|
98
|
-
let offset = 4 + userDefinedItems.length * 4;
|
|
99
|
-
const header = [];
|
|
100
|
-
const body = [];
|
|
101
|
-
for (const item of userDefinedItems) {
|
|
102
|
-
const encoded = itemCodec.encode(item);
|
|
103
|
-
bytesConcatTo(header, uint32To(offset));
|
|
104
|
-
bytesConcatTo(body, encoded);
|
|
105
|
-
offset += encoded.byteLength;
|
|
106
|
-
}
|
|
107
|
-
const packedTotalSize = uint32To(header.length + body.length + 4);
|
|
108
|
-
return bytesConcat(packedTotalSize, header, body);
|
|
109
|
-
}
|
|
110
|
-
catch (e) {
|
|
111
|
-
throw new Error(`dynItemVec(${e?.toString()})`);
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
decode(buffer, config) {
|
|
115
|
-
const value = bytesFrom(buffer);
|
|
116
|
-
if (value.byteLength < 4) {
|
|
117
|
-
throw new Error(`dynItemVec: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
|
|
118
|
-
}
|
|
119
|
-
const byteLength = uint32From(value.slice(0, 4));
|
|
120
|
-
if (byteLength !== value.byteLength) {
|
|
121
|
-
throw new Error(`dynItemVec: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
|
|
122
|
-
}
|
|
123
|
-
if (byteLength === 4) {
|
|
124
|
-
return [];
|
|
125
|
-
}
|
|
126
|
-
const offset = uint32From(value.slice(4, 8));
|
|
127
|
-
const itemCount = (offset - 4) / 4;
|
|
128
|
-
const offsets = Array.from(new Array(itemCount), (_, index) => uint32From(value.slice(4 + index * 4, 8 + index * 4)));
|
|
129
|
-
offsets.push(byteLength);
|
|
130
|
-
try {
|
|
131
|
-
const decodedArray = [];
|
|
132
|
-
for (let index = 0; index < offsets.length - 1; index++) {
|
|
133
|
-
const start = offsets[index];
|
|
134
|
-
const end = offsets[index + 1];
|
|
135
|
-
const itemBuffer = value.slice(start, end);
|
|
136
|
-
decodedArray.push(itemCodec.decode(itemBuffer, config));
|
|
137
|
-
}
|
|
138
|
-
return decodedArray;
|
|
139
|
-
}
|
|
140
|
-
catch (e) {
|
|
141
|
-
throw new Error(`dynItemVec(${e?.toString()})`);
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* General vector codec, if `itemCodec` is fixed size type, it will create a fixvec codec, otherwise a dynvec codec will be created.
|
|
148
|
-
* @param itemCodec
|
|
149
|
-
*/
|
|
150
|
-
export function vector(itemCodec) {
|
|
151
|
-
if (itemCodec.byteLength !== undefined) {
|
|
152
|
-
return fixedItemVec(itemCodec);
|
|
153
|
-
}
|
|
154
|
-
return dynItemVec(itemCodec);
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Option is a dynamic-size type.
|
|
158
|
-
* Serializing an option depends on whether it is empty or not:
|
|
159
|
-
* - if it's empty, there is zero bytes (the size is 0).
|
|
160
|
-
* - if it's not empty, just serialize the inner item (the size is same as the inner item's size).
|
|
161
|
-
* @param innerCodec
|
|
162
|
-
*/
|
|
163
|
-
export function option(innerCodec) {
|
|
164
|
-
return Codec.from({
|
|
165
|
-
encode(userDefinedOrNull) {
|
|
166
|
-
if (userDefinedOrNull == null) {
|
|
167
|
-
return bytesFrom([]);
|
|
168
|
-
}
|
|
169
|
-
try {
|
|
170
|
-
return innerCodec.encode(userDefinedOrNull);
|
|
171
|
-
}
|
|
172
|
-
catch (e) {
|
|
173
|
-
throw new Error(`option(${e?.toString()})`);
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
decode(buffer, config) {
|
|
177
|
-
const value = bytesFrom(buffer);
|
|
178
|
-
if (value.byteLength === 0) {
|
|
179
|
-
return undefined;
|
|
180
|
-
}
|
|
181
|
-
try {
|
|
182
|
-
return innerCodec.decode(buffer, config);
|
|
183
|
-
}
|
|
184
|
-
catch (e) {
|
|
185
|
-
throw new Error(`option(${e?.toString()})`);
|
|
186
|
-
}
|
|
187
|
-
},
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Wrap the encoded value with a fixed-length buffer
|
|
192
|
-
* @param codec
|
|
193
|
-
*/
|
|
194
|
-
export function byteVec(codec) {
|
|
195
|
-
return Codec.from({
|
|
196
|
-
encode(userDefined) {
|
|
197
|
-
try {
|
|
198
|
-
const payload = bytesFrom(codec.encode(userDefined));
|
|
199
|
-
const byteLength = uint32To(payload.byteLength);
|
|
200
|
-
return bytesConcat(byteLength, payload);
|
|
201
|
-
}
|
|
202
|
-
catch (e) {
|
|
203
|
-
throw new Error(`byteVec(${e?.toString()})`);
|
|
204
|
-
}
|
|
205
|
-
},
|
|
206
|
-
decode(buffer, config) {
|
|
207
|
-
const value = bytesFrom(buffer);
|
|
208
|
-
if (value.byteLength < 4) {
|
|
209
|
-
throw new Error(`byteVec: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
|
|
210
|
-
}
|
|
211
|
-
const byteLength = uint32From(value.slice(0, 4));
|
|
212
|
-
if (byteLength !== value.byteLength - 4) {
|
|
213
|
-
throw new Error(`byteVec: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
|
|
214
|
-
}
|
|
215
|
-
try {
|
|
216
|
-
return codec.decode(value.slice(4), config);
|
|
217
|
-
}
|
|
218
|
-
catch (e) {
|
|
219
|
-
throw new Error(`byteVec(${e?.toString()})`);
|
|
220
|
-
}
|
|
221
|
-
},
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Table is a dynamic-size type. It can be considered as a dynvec but the length is fixed.
|
|
226
|
-
* @param codecLayout
|
|
227
|
-
*/
|
|
228
|
-
export function table(codecLayout) {
|
|
229
|
-
const keys = Object.keys(codecLayout);
|
|
230
|
-
return Codec.from({
|
|
231
|
-
encode(object) {
|
|
232
|
-
let offset = 4 + keys.length * 4;
|
|
233
|
-
const header = [];
|
|
234
|
-
const body = [];
|
|
235
|
-
for (const key of keys) {
|
|
236
|
-
try {
|
|
237
|
-
const encoded = codecLayout[key].encode(object[key]);
|
|
238
|
-
bytesConcatTo(header, uint32To(offset));
|
|
239
|
-
bytesConcatTo(body, encoded);
|
|
240
|
-
offset += encoded.byteLength;
|
|
241
|
-
}
|
|
242
|
-
catch (e) {
|
|
243
|
-
throw new Error(`table.${key}(${e?.toString()})`);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
const packedTotalSize = uint32To(header.length + body.length + 4);
|
|
247
|
-
return bytesConcat(packedTotalSize, header, body);
|
|
248
|
-
},
|
|
249
|
-
decode(buffer, config) {
|
|
250
|
-
const value = bytesFrom(buffer);
|
|
251
|
-
if (value.byteLength < 4) {
|
|
252
|
-
throw new Error(`table: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
|
|
253
|
-
}
|
|
254
|
-
const byteLength = uint32From(value.slice(0, 4));
|
|
255
|
-
const headerLength = uint32From(value.slice(4, 8));
|
|
256
|
-
const actualFieldCount = (headerLength - 4) / 4;
|
|
257
|
-
if (byteLength !== value.byteLength) {
|
|
258
|
-
throw new Error(`table: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
|
|
259
|
-
}
|
|
260
|
-
if (actualFieldCount < keys.length) {
|
|
261
|
-
throw new Error(`table: invalid field count, expected ${keys.length}, but got ${actualFieldCount}`);
|
|
262
|
-
}
|
|
263
|
-
if (actualFieldCount > keys.length && !config?.isExtraFieldIgnored) {
|
|
264
|
-
throw new Error(`table: invalid field count, expected ${keys.length}, but got ${actualFieldCount}, and extra fields are not allowed in the current configuration. If you want to ignore extra fields, set isExtraFieldIgnored to true.`);
|
|
265
|
-
}
|
|
266
|
-
const offsets = keys.map((_, index) => uint32From(value.slice(4 + index * 4, 8 + index * 4)));
|
|
267
|
-
// If there are extra fields, add the last offset to the offsets array
|
|
268
|
-
if (actualFieldCount > keys.length) {
|
|
269
|
-
offsets.push(uint32From(value.slice(4 + keys.length * 4, 8 + keys.length * 4)));
|
|
270
|
-
}
|
|
271
|
-
else {
|
|
272
|
-
// If there are no extra fields, add the byte length to the offsets array
|
|
273
|
-
offsets.push(byteLength);
|
|
274
|
-
}
|
|
275
|
-
const object = {};
|
|
276
|
-
for (let i = 0; i < offsets.length - 1; i++) {
|
|
277
|
-
const start = offsets[i];
|
|
278
|
-
const end = offsets[i + 1];
|
|
279
|
-
const field = keys[i];
|
|
280
|
-
const codec = codecLayout[field];
|
|
281
|
-
const payload = value.slice(start, end);
|
|
282
|
-
try {
|
|
283
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
284
|
-
Object.assign(object, { [field]: codec.decode(payload, config) });
|
|
285
|
-
}
|
|
286
|
-
catch (e) {
|
|
287
|
-
throw new Error(`table.${field}(${e?.toString()})`);
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
return object;
|
|
291
|
-
},
|
|
292
|
-
});
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Constructs a union codec that can serialize and deserialize values tagged with a type identifier.
|
|
296
|
-
*
|
|
297
|
-
* If all variants have the same fixed size, the resulting union codec is fixed-size (header + payload).
|
|
298
|
-
* Otherwise, it falls back to a dynamic-size codec.
|
|
299
|
-
*
|
|
300
|
-
* Serialization format:
|
|
301
|
-
* 1. 4-byte little-endian unsigned integer for the variant index.
|
|
302
|
-
* 2. Encoded bytes of the selected variant.
|
|
303
|
-
*
|
|
304
|
-
* @typeParam T
|
|
305
|
-
* A record mapping variant names to codecs.
|
|
306
|
-
* @param codecLayout
|
|
307
|
-
* An object whose keys are variant names and values are codecs for each variant.
|
|
308
|
-
* @param fields
|
|
309
|
-
* Optional mapping from variant names to custom numeric IDs. If omitted, the index
|
|
310
|
-
* of each variant in `codecLayout` is used as its ID.
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
* @example
|
|
314
|
-
* // Dynamic union without custom numeric IDs
|
|
315
|
-
* union({ cafe: Uint8, bee: Uint16 })
|
|
316
|
-
*
|
|
317
|
-
* // Dynamic union with custom numeric IDs
|
|
318
|
-
* union({ cafe: Uint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
|
|
319
|
-
*
|
|
320
|
-
* // Fixed-size union without custom numeric IDs
|
|
321
|
-
* const PaddedUint8 = struct({ data : u8, padding : u8 })
|
|
322
|
-
* union({ cafe: PaddedUint8, bee: Uint16 });
|
|
323
|
-
*
|
|
324
|
-
* // Fixed-size union with custom numeric IDs
|
|
325
|
-
* union({ cafe: PaddedUint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
|
|
326
|
-
*/
|
|
327
|
-
export function union(codecLayout, fields) {
|
|
328
|
-
const entries = Object.entries(codecLayout);
|
|
329
|
-
// Determine if all variants have a fixed and equal byteLength.
|
|
330
|
-
let byteLength;
|
|
331
|
-
if (entries.length > 0) {
|
|
332
|
-
const firstLen = entries[0][1].byteLength;
|
|
333
|
-
if (firstLen !== undefined &&
|
|
334
|
-
entries.every(([, { byteLength: len }]) => len === firstLen)) {
|
|
335
|
-
// Add 4 bytes for the type header
|
|
336
|
-
byteLength = firstLen + 4;
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
return Codec.from({
|
|
340
|
-
byteLength,
|
|
341
|
-
encode({ type, value }) {
|
|
342
|
-
const typeStr = type.toString();
|
|
343
|
-
const codec = codecLayout[typeStr];
|
|
344
|
-
if (!codec) {
|
|
345
|
-
throw new Error(`union: invalid type, expected ${entries.map((e) => e[0]).toString()}, but got ${typeStr}`);
|
|
346
|
-
}
|
|
347
|
-
const fieldId = fields
|
|
348
|
-
? (fields[typeStr] ?? -1)
|
|
349
|
-
: entries.findIndex((e) => e[0] === typeStr);
|
|
350
|
-
if (fieldId < 0) {
|
|
351
|
-
throw new Error(`union: invalid field id ${fieldId} of ${typeStr}`);
|
|
352
|
-
}
|
|
353
|
-
const header = uint32To(fieldId);
|
|
354
|
-
try {
|
|
355
|
-
const body = codec.encode(value);
|
|
356
|
-
return bytesConcat(header, body);
|
|
357
|
-
}
|
|
358
|
-
catch (e) {
|
|
359
|
-
throw new Error(`union.(${typeStr})(${e?.toString()})`);
|
|
360
|
-
}
|
|
361
|
-
},
|
|
362
|
-
decode(buffer, config) {
|
|
363
|
-
const value = bytesFrom(buffer);
|
|
364
|
-
const fieldIndex = uint32From(value.slice(0, 4));
|
|
365
|
-
const keys = Object.keys(codecLayout);
|
|
366
|
-
const field = (() => {
|
|
367
|
-
if (!fields) {
|
|
368
|
-
return keys[fieldIndex];
|
|
369
|
-
}
|
|
370
|
-
const entry = Object.entries(fields).find(([, id]) => id === fieldIndex);
|
|
371
|
-
return entry?.[0];
|
|
372
|
-
})();
|
|
373
|
-
if (!field) {
|
|
374
|
-
if (!fields) {
|
|
375
|
-
throw new Error(`union: unknown union field index ${fieldIndex}, only ${keys.toString()} are allowed`);
|
|
376
|
-
}
|
|
377
|
-
const fieldKeys = Object.keys(fields);
|
|
378
|
-
throw new Error(`union: unknown union field index ${fieldIndex}, only ${fieldKeys.toString()} and ${keys.toString()} are allowed`);
|
|
379
|
-
}
|
|
380
|
-
return {
|
|
381
|
-
type: field,
|
|
382
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
383
|
-
value: codecLayout[field].decode(value.slice(4), config),
|
|
384
|
-
};
|
|
385
|
-
},
|
|
386
|
-
});
|
|
387
|
-
}
|
|
388
|
-
/**
|
|
389
|
-
* Struct is a fixed-size type: all fields in struct are fixed-size and it has a fixed quantity of fields.
|
|
390
|
-
* The size of a struct is the sum of all fields' size.
|
|
391
|
-
* @param codecLayout a object contains all fields' codec
|
|
392
|
-
*/
|
|
393
|
-
export function struct(codecLayout) {
|
|
394
|
-
const codecArray = Object.values(codecLayout);
|
|
395
|
-
const keys = Object.keys(codecLayout);
|
|
396
|
-
return Codec.from({
|
|
397
|
-
byteLength: codecArray.reduce((acc, codec) => {
|
|
398
|
-
if (codec.byteLength === undefined) {
|
|
399
|
-
throw new Error("struct: all fields must be fixed-size");
|
|
400
|
-
}
|
|
401
|
-
return acc + codec.byteLength;
|
|
402
|
-
}, 0),
|
|
403
|
-
encode(object) {
|
|
404
|
-
const bytes = [];
|
|
405
|
-
for (const key of keys) {
|
|
406
|
-
try {
|
|
407
|
-
const encoded = codecLayout[key].encode(object[key]);
|
|
408
|
-
bytesConcatTo(bytes, encoded);
|
|
409
|
-
}
|
|
410
|
-
catch (e) {
|
|
411
|
-
throw new Error(`struct.${key}(${e?.toString()})`);
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
return bytesFrom(bytes);
|
|
415
|
-
},
|
|
416
|
-
decode(buffer, config) {
|
|
417
|
-
const value = bytesFrom(buffer);
|
|
418
|
-
const object = {};
|
|
419
|
-
let offset = 0;
|
|
420
|
-
Object.entries(codecLayout).forEach(([key, codec]) => {
|
|
421
|
-
const payload = value.slice(offset, offset + codec.byteLength);
|
|
422
|
-
try {
|
|
423
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
424
|
-
Object.assign(object, { [key]: codec.decode(payload, config) });
|
|
425
|
-
}
|
|
426
|
-
catch (e) {
|
|
427
|
-
throw new Error(`struct.${key}(${e.toString()})`);
|
|
428
|
-
}
|
|
429
|
-
offset = offset + codec.byteLength;
|
|
430
|
-
});
|
|
431
|
-
return object;
|
|
432
|
-
},
|
|
433
|
-
});
|
|
434
|
-
}
|
|
435
|
-
/**
|
|
436
|
-
* The array is a fixed-size type: it has a fixed-size inner type and a fixed length.
|
|
437
|
-
* The size of an array is the size of inner type times the length.
|
|
438
|
-
* @param itemCodec the fixed-size array item codec
|
|
439
|
-
* @param itemCount
|
|
440
|
-
*/
|
|
441
|
-
export function array(itemCodec, itemCount) {
|
|
442
|
-
if (itemCodec.byteLength === undefined) {
|
|
443
|
-
throw new Error("array: itemCodec requires a byte length");
|
|
444
|
-
}
|
|
445
|
-
const byteLength = itemCodec.byteLength * itemCount;
|
|
446
|
-
return Codec.from({
|
|
447
|
-
byteLength,
|
|
448
|
-
encode(items) {
|
|
449
|
-
try {
|
|
450
|
-
const bytes = [];
|
|
451
|
-
for (const item of items) {
|
|
452
|
-
bytesConcatTo(bytes, itemCodec.encode(item));
|
|
453
|
-
}
|
|
454
|
-
return bytesFrom(bytes);
|
|
455
|
-
}
|
|
456
|
-
catch (e) {
|
|
457
|
-
throw new Error(`array(${e?.toString()})`);
|
|
458
|
-
}
|
|
459
|
-
},
|
|
460
|
-
decode(buffer, config) {
|
|
461
|
-
const value = bytesFrom(buffer);
|
|
462
|
-
if (value.byteLength != byteLength) {
|
|
463
|
-
throw new Error(`array: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
|
|
464
|
-
}
|
|
465
|
-
try {
|
|
466
|
-
const result = [];
|
|
467
|
-
for (let i = 0; i < value.byteLength; i += itemCodec.byteLength) {
|
|
468
|
-
result.push(itemCodec.decode(value.slice(i, i + itemCodec.byteLength), config));
|
|
469
|
-
}
|
|
470
|
-
return result;
|
|
471
|
-
}
|
|
472
|
-
catch (e) {
|
|
473
|
-
throw new Error(`array(${e?.toString()})`);
|
|
474
|
-
}
|
|
475
|
-
},
|
|
476
|
-
});
|
|
477
|
-
}
|
|
478
|
-
/**
|
|
479
|
-
* Create a codec to deal with fixed LE or BE bytes.
|
|
480
|
-
* @param byteLength
|
|
481
|
-
* @param littleEndian
|
|
482
|
-
*/
|
|
483
|
-
export function uint(byteLength, littleEndian = false) {
|
|
484
|
-
return Codec.from({
|
|
485
|
-
byteLength,
|
|
486
|
-
encode: (numLike) => {
|
|
487
|
-
if (littleEndian) {
|
|
488
|
-
return numToBytes(numLike, byteLength);
|
|
489
|
-
}
|
|
490
|
-
else {
|
|
491
|
-
return numBeToBytes(numLike, byteLength);
|
|
492
|
-
}
|
|
493
|
-
},
|
|
494
|
-
decode: (buffer) => {
|
|
495
|
-
if (littleEndian) {
|
|
496
|
-
return numFromBytes(buffer);
|
|
497
|
-
}
|
|
498
|
-
else {
|
|
499
|
-
return numBeFromBytes(buffer);
|
|
500
|
-
}
|
|
501
|
-
},
|
|
502
|
-
});
|
|
503
|
-
}
|
|
504
|
-
/**
|
|
505
|
-
* Create a codec to deal with fixed LE or BE bytes.
|
|
506
|
-
* @param byteLength
|
|
507
|
-
* @param littleEndian
|
|
508
|
-
*/
|
|
509
|
-
export function uintNumber(byteLength, littleEndian = false) {
|
|
510
|
-
if (byteLength > 4) {
|
|
511
|
-
throw new Error("uintNumber: byteLength must be less than or equal to 4");
|
|
512
|
-
}
|
|
513
|
-
return uint(byteLength, littleEndian).map({
|
|
514
|
-
outMap: (num) => Number(num),
|
|
515
|
-
});
|
|
516
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { Bytes, BytesLike } from "../bytes/index.js";
|
|
2
|
-
import { Hex } from "../hex/index.js";
|
|
3
|
-
import { Constructor } from "../utils/index.js";
|
|
4
|
-
import { Codec } from "./codec.js";
|
|
5
|
-
/**
|
|
6
|
-
* The base class of CCC to create a serializable instance. This should be used with the {@link codec} decorator.
|
|
7
|
-
* @public
|
|
8
|
-
*/
|
|
9
|
-
export declare abstract class Entity {
|
|
10
|
-
/**
|
|
11
|
-
* Generate a base class of CCC to create a serializable instance.
|
|
12
|
-
* This should be used with the {@link codec} decorator.
|
|
13
|
-
* @public
|
|
14
|
-
*/
|
|
15
|
-
static Base<SubTypeLike, SubType = SubTypeLike>(): (abstract new () => {
|
|
16
|
-
/**
|
|
17
|
-
* Convert the entity to bytes
|
|
18
|
-
* @public
|
|
19
|
-
* @returns The bytes representation of the entity
|
|
20
|
-
*/
|
|
21
|
-
toBytes(): Bytes;
|
|
22
|
-
/**
|
|
23
|
-
* Create a clone of the entity
|
|
24
|
-
* @public
|
|
25
|
-
* @returns A clone of the entity
|
|
26
|
-
*/
|
|
27
|
-
clone(): SubType;
|
|
28
|
-
/**
|
|
29
|
-
* Check if the entity is equal to another entity
|
|
30
|
-
* @public
|
|
31
|
-
* @param other - The other entity to compare with
|
|
32
|
-
* @returns True if the entities are equal, false otherwise
|
|
33
|
-
*/
|
|
34
|
-
eq(other: SubTypeLike): boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Calculate the hash of the entity
|
|
37
|
-
* @public
|
|
38
|
-
* @returns The hash of the entity
|
|
39
|
-
*/
|
|
40
|
-
hash(): Hex;
|
|
41
|
-
}) & {
|
|
42
|
-
/**
|
|
43
|
-
* The bytes length of the entity, if it is fixed, otherwise undefined
|
|
44
|
-
* @public
|
|
45
|
-
* @static
|
|
46
|
-
*/
|
|
47
|
-
byteLength?: number;
|
|
48
|
-
/**
|
|
49
|
-
* Encode the entity into bytes
|
|
50
|
-
* @public
|
|
51
|
-
* @static
|
|
52
|
-
* @param _ - The entity to encode
|
|
53
|
-
* @returns The encoded bytes
|
|
54
|
-
* @throws Will throw an error if the entity is not serializable
|
|
55
|
-
*/
|
|
56
|
-
encode(_: SubTypeLike): Bytes;
|
|
57
|
-
/**
|
|
58
|
-
* Decode the entity from bytes
|
|
59
|
-
* @public
|
|
60
|
-
* @static
|
|
61
|
-
* @param _ - The bytes to decode
|
|
62
|
-
* @returns The decoded entity
|
|
63
|
-
* @throws Will throw an error if the entity is not serializable
|
|
64
|
-
*/
|
|
65
|
-
decode(_: BytesLike): SubType;
|
|
66
|
-
/**
|
|
67
|
-
* Create an entity from bytes
|
|
68
|
-
* @public
|
|
69
|
-
* @static
|
|
70
|
-
* @param _ - The bytes to create the entity from
|
|
71
|
-
* @returns The created entity
|
|
72
|
-
* @throws Will throw an error if the entity is not serializable
|
|
73
|
-
*/
|
|
74
|
-
fromBytes(_bytes: BytesLike): SubType;
|
|
75
|
-
/**
|
|
76
|
-
* Create an entity from a serializable object
|
|
77
|
-
* @public
|
|
78
|
-
* @static
|
|
79
|
-
* @param _ - The serializable object to create the entity from
|
|
80
|
-
* @returns The created entity
|
|
81
|
-
* @throws Will throw an error if the entity is not serializable
|
|
82
|
-
*/
|
|
83
|
-
from(_: SubTypeLike): SubType;
|
|
84
|
-
};
|
|
85
|
-
abstract toBytes(): Bytes;
|
|
86
|
-
abstract hash(): Hex;
|
|
87
|
-
abstract clone(): Entity;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* A class decorator to add methods implementation on the {@link Entity.Base} class
|
|
91
|
-
* @example
|
|
92
|
-
* ```typescript
|
|
93
|
-
* @mol.codec(
|
|
94
|
-
* mol.table({
|
|
95
|
-
* codeHash: mol.Byte32,
|
|
96
|
-
* hashType: HashTypeCodec,
|
|
97
|
-
* args: mol.Bytes,
|
|
98
|
-
* }),
|
|
99
|
-
* )
|
|
100
|
-
* export class Script extends mol.Entity.Base<ScriptLike, Script>() {
|
|
101
|
-
* from(scriptLike: ScriptLike): Script {}
|
|
102
|
-
* }
|
|
103
|
-
* ```
|
|
104
|
-
*/
|
|
105
|
-
export declare function codec<Encodable, TypeLike extends Encodable, Decoded extends TypeLike>(codec: Codec<Encodable, Decoded>): <Type extends TypeLike, ConstructorType extends Constructor<Type> & {
|
|
106
|
-
from(decoded: TypeLike): Type;
|
|
107
|
-
byteLength?: number;
|
|
108
|
-
encode(encodable: TypeLike): Bytes;
|
|
109
|
-
decode(bytesLike: BytesLike): Type;
|
|
110
|
-
fromBytes(bytes: BytesLike): Type;
|
|
111
|
-
}>(Constructor: ConstructorType, ..._: unknown[]) => ConstructorType;
|
|
112
|
-
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/molecule/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,8BAAsB,MAAM;IAC1B;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW;QA6D1C;;;;WAIG;mBACQ,KAAK;QAMhB;;;;WAIG;iBACM,OAAO;QAMhB;;;;;WAKG;kBACO,WAAW,GAAG,OAAO;QAe/B;;;;WAIG;gBACK,GAAG;;QA3GX;;;;WAIG;qBACiB,MAAM;QAC1B;;;;;;;WAOG;kBACc,WAAW,GAAG,KAAK;QAKpC;;;;;;;WAOG;kBACc,SAAS,GAAG,OAAO;QAMpC;;;;;;;WAOG;0BACsB,SAAS,GAAG,OAAO;QAM5C;;;;;;;WAOG;gBACY,WAAW,GAAG,OAAO;;IAkExC,QAAQ,CAAC,OAAO,IAAI,KAAK;IACzB,QAAQ,CAAC,IAAI,IAAI,GAAG;IACpB,QAAQ,CAAC,KAAK,IAAI,MAAM;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CACnB,SAAS,EACT,QAAQ,SAAS,SAAS,EAC1B,OAAO,SAAS,QAAQ,EACxB,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,IAE9B,IAAI,SAAS,QAAQ,EACrB,eAAe,SAAS,WAAW,CAAC,IAAI,CAAC,GAAG;IAC1C,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC,EACD,aAAa,eAAe,EAAE,GAAG,GAAG,OAAO,EAAE,qBAoBhD"}
|