@ckb-ccc/core 1.12.4 → 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 +51 -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 +24 -1
- 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.commonjs/index.js
CHANGED
|
@@ -1,41 +1 @@
|
|
|
1
|
-
"
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
-
};
|
|
21
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
-
var ownKeys = function(o) {
|
|
23
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
-
var ar = [];
|
|
25
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
-
return ar;
|
|
27
|
-
};
|
|
28
|
-
return ownKeys(o);
|
|
29
|
-
};
|
|
30
|
-
return function (mod) {
|
|
31
|
-
if (mod && mod.__esModule) return mod;
|
|
32
|
-
var result = {};
|
|
33
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
-
__setModuleDefault(result, mod);
|
|
35
|
-
return result;
|
|
36
|
-
};
|
|
37
|
-
})();
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.ccc = void 0;
|
|
40
|
-
__exportStar(require("./barrel.js"), exports);
|
|
41
|
-
exports.ccc = __importStar(require("./barrel.js"));
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./address.advanced-COp7SNhZ.js"),t=require("./barrel-CXC2Uy5L.js");exports.Address=t.H,exports.Bytes=e.hr,exports.Cell=e.a,exports.CellAny=e.o,Object.defineProperty(exports,"CellDep",{enumerable:!0,get:function(){return e.s}}),exports.CellDepInfo=e.nt,exports.CellDepVec=e.c,Object.defineProperty(exports,"CellInput",{enumerable:!0,get:function(){return e.l}}),exports.CellInputVec=e.u,Object.defineProperty(exports,"CellOutput",{enumerable:!0,get:function(){return e.d}}),exports.CellOutputVec=e.f,exports.Client=t.J,exports.ClientBlock=e.rt,exports.ClientBlockHeader=e.it,exports.ClientBlockUncle=e.at,exports.ClientCache=t.X,exports.ClientCacheMemory=t.Y,exports.ClientIndexerSearchKey=e.ot,exports.ClientIndexerSearchKeyFilter=e.st,exports.ClientIndexerSearchKeyTransaction=e.ct,exports.ClientJsonRpc=t.K,exports.ClientPublicMainnet=t.G,exports.ClientPublicTestnet=t.W,exports.ClientTransactionResponse=e.lt,exports.Codec=e.mr,exports.CodecBool=e.Sn,exports.CodecByte=e.Cn,exports.CodecByte16=e.wn,exports.CodecByte32=e.Tn,exports.CodecByte4=e.En,exports.CodecByte8=e.Dn,exports.CodecBytes=e.On,exports.CodecRaw=e.kn,exports.CodecUint128=e.An,exports.CodecUint128BE=e.jn,exports.CodecUint128LE=e.Mn,exports.CodecUint16=e.Nn,exports.CodecUint16BE=e.Pn,exports.CodecUint16LE=e.Fn,exports.CodecUint256=e.In,exports.CodecUint256BE=e.Ln,exports.CodecUint256LE=e.Rn,exports.CodecUint32=e.zn,exports.CodecUint32BE=e.Bn,exports.CodecUint32LE=e.Vn,exports.CodecUint512=e.Hn,exports.CodecUint512BE=e.Un,exports.CodecUint512LE=e.Wn,exports.CodecUint64=e.Gn,exports.CodecUint64BE=e.Kn,exports.CodecUint64LE=e.qn,exports.CodecUint8=e.Jn,exports.DepTypeCodec=e.p,exports.Entity=e.cr,Object.defineProperty(exports,"Epoch",{enumerable:!0,get:function(){return e.xt}}),exports.ErrorClientBase=e.ut,exports.ErrorClientDuplicatedTransaction=e.dt,exports.ErrorClientMaxFeeRateExceeded=e.ft,exports.ErrorClientRBFRejected=e.pt,exports.ErrorClientResolveUnknown=e.mt,exports.ErrorClientVerification=e.ht,exports.ErrorClientWaitTransactionTimeout=e.gt,exports.ErrorTransactionInsufficientCapacity=e.E,exports.ErrorTransactionInsufficientCoin=e.D,exports.HashTypeCodec=e.j,exports.HasherCkb=e.ur,exports.HasherKeecak256=t.Q,exports.InputToSign=t.R,exports.KnownScript=e.J,exports.One=e.vn,Object.defineProperty(exports,"OutPoint",{enumerable:!0,get:function(){return e.m}}),exports.RawTransaction=e.h,exports.RequestorJsonRpc=t.q,Object.defineProperty(exports,"Script",{enumerable:!0,get:function(){return e.M}}),exports.ScriptInfo=e._t,exports.ScriptOpt=e.N,exports.ScriptVec=e.P,exports.SignPsbtOptions=t.z,exports.Signature=t.v,exports.Signer=t.y,exports.SignerAlwaysError=t.c,exports.SignerBtc=t._,exports.SignerBtcPublicKeyReadonly=t.g,exports.SignerCkbPrivateKey=t.m,exports.SignerCkbPublicKey=t.h,exports.SignerCkbScriptReadonly=t.p,exports.SignerDoge=t.f,exports.SignerDogeAddressReadonly=t.d,exports.SignerDogePrivateKey=t.u,exports.SignerDummy=t.l,exports.SignerEvm=t.o,exports.SignerEvmAddressReadonly=t.a,exports.SignerInfo=t.b,exports.SignerNostr=t.i,exports.SignerNostrPrivateKey=t.n,exports.SignerNostrPublicKeyReadonly=t.r,exports.SignerOpenLink=t.s,exports.SignerSignType=t.x,exports.SignerType=t.S,Object.defineProperty(exports,"Since",{enumerable:!0,get:function(){return e.g}}),Object.defineProperty(exports,"Transaction",{enumerable:!0,get:function(){return e._}}),Object.defineProperty(exports,"WitnessArgs",{enumerable:!0,get:function(){return e.v}}),exports.Zero=e.yn,exports.apply=e.Tt,exports.btcEcdsaPublicKeyHash=t.M,exports.btcP2pkhAddressFromPublicKey=t.N,exports.btcPublicKeyFromP2pkhAddress=t.P,exports.btcVarLengthBytesFrom=t.F,exports.buildNostrEventFromMessage=t.C,exports.bytesConcat=e.gr,exports.bytesConcatTo=e._r,exports.bytesEq=e.vr,exports.bytesFrom=e.yr,exports.bytesTo=e.br,exports.calcDaoClaimEpoch=e.y,exports.calcDaoProfit=e.b,Object.defineProperty(exports,"ccc",{enumerable:!0,get:function(){return t.t}}),exports.codec=e.lr,exports.codecPadding=e.Yn,exports.codecUint=e.Xn,exports.codecUintNumber=e.Zn,exports.depTypeFrom=e.x,exports.depTypeFromBytes=e.S,exports.depTypeToBytes=e.C,exports.epochFrom=e.St,exports.epochFromHex=e.Ct,exports.epochToHex=e.wt,exports.fixedPointFrom=e.bn,exports.fixedPointToString=e.xn,exports.gcd=e.Et,exports.hashCkb=e.dr,exports.hashTypeFrom=e.F,exports.hashTypeFromBytes=e.I,exports.hashTypeId=t.U,exports.hashTypeToBytes=e.L,exports.hexFrom=e.pr,exports.isDaoOutputLimitExceeded=e.w,exports.isWebview=e.Dt,exports.keystoreDecrypt=t.B,exports.keystoreEncrypt=t.V,exports.messageHashBtcEcdsa=t.I,exports.messageHashCkbSecp256k1=t.A,exports.messageHashDogeEcdsa=t.D,Object.defineProperty(exports,"mol",{enumerable:!0,get:function(){return t.Z}}),exports.nostrEventHash=t.w,exports.numBeFromBytes=e.Qn,exports.numBeToBytes=e.$n,exports.numFrom=e.er,exports.numFromBytes=e.tr,exports.numLeFromBytes=e.nr,exports.numLeToBytes=e.rr,exports.numMax=e.ir,exports.numMin=e.ar,exports.numToBytes=e.or,exports.numToHex=e.sr,exports.reduceAsync=e.Ot,exports.sleep=e.kt,exports.stringify=e.At,exports.udtBalanceFrom=e.T,exports.verifyMessageBtcEcdsa=t.L,exports.verifyMessageCkbSecp256k1=t.j,exports.verifyMessageDogeEcdsa=t.O,exports.verifyMessageEvmPersonal=t.E,exports.verifyMessageJoyId=t.k,exports.verifyMessageNostrEvent=t.T;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckb-ccc/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Core of CCC - CKBer's Codebase",
|
|
5
5
|
"author": "Hanssen0 <hanssen0@hanssen0.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -12,39 +12,35 @@
|
|
|
12
12
|
},
|
|
13
13
|
"sideEffects": false,
|
|
14
14
|
"main": "./dist.commonjs/index.js",
|
|
15
|
-
"module": "./dist/index.
|
|
15
|
+
"module": "./dist/index.mjs",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
18
|
-
"import": "./dist/index.
|
|
19
|
-
"require": "./dist.commonjs/index.js"
|
|
20
|
-
"default": "./dist.commonjs/index.js"
|
|
18
|
+
"import": "./dist/index.mjs",
|
|
19
|
+
"require": "./dist.commonjs/index.js"
|
|
21
20
|
},
|
|
22
|
-
"./
|
|
23
|
-
"import": "./dist/
|
|
24
|
-
"require": "./dist.commonjs/
|
|
25
|
-
"default": "./dist.commonjs/barrel.js"
|
|
21
|
+
"./advanced": {
|
|
22
|
+
"import": "./dist/advanced.mjs",
|
|
23
|
+
"require": "./dist.commonjs/advanced.js"
|
|
26
24
|
},
|
|
27
25
|
"./advancedBarrel": {
|
|
28
|
-
"import": "./dist/advancedBarrel.
|
|
29
|
-
"require": "./dist.commonjs/advancedBarrel.js"
|
|
30
|
-
"default": "./dist.commonjs/advancedBarrel.js"
|
|
26
|
+
"import": "./dist/advancedBarrel.mjs",
|
|
27
|
+
"require": "./dist.commonjs/advancedBarrel.js"
|
|
31
28
|
},
|
|
32
|
-
"./
|
|
33
|
-
"import": "./dist/
|
|
34
|
-
"require": "./dist.commonjs/
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
"./barrel": {
|
|
30
|
+
"import": "./dist/barrel.mjs",
|
|
31
|
+
"require": "./dist.commonjs/barrel.js"
|
|
32
|
+
},
|
|
33
|
+
"./package.json": "./package.json"
|
|
37
34
|
},
|
|
38
35
|
"devDependencies": {
|
|
39
36
|
"@eslint/js": "^9.34.0",
|
|
40
37
|
"@types/ws": "^8.18.1",
|
|
41
|
-
"copyfiles": "^2.4.1",
|
|
42
38
|
"eslint": "^9.34.0",
|
|
43
39
|
"eslint-config-prettier": "^10.1.8",
|
|
44
40
|
"eslint-plugin-prettier": "^5.5.4",
|
|
45
41
|
"prettier": "^3.6.2",
|
|
46
42
|
"prettier-plugin-organize-imports": "^4.2.0",
|
|
47
|
-
"
|
|
43
|
+
"tsdown": "0.22.3",
|
|
48
44
|
"typescript": "^5.9.2",
|
|
49
45
|
"typescript-eslint": "^8.41.0",
|
|
50
46
|
"vitest": "^3.2.4"
|
|
@@ -54,9 +50,9 @@
|
|
|
54
50
|
},
|
|
55
51
|
"dependencies": {
|
|
56
52
|
"@joyid/ckb": "^1.1.2",
|
|
57
|
-
"@noble/ciphers": "^
|
|
58
|
-
"@noble/curves": "^
|
|
59
|
-
"@noble/hashes": "^
|
|
53
|
+
"@noble/ciphers": "^2.2.0",
|
|
54
|
+
"@noble/curves": "^2.2.0",
|
|
55
|
+
"@noble/hashes": "^2.2.0",
|
|
60
56
|
"bech32": "^2.0.0",
|
|
61
57
|
"bs58check": "^4.0.0",
|
|
62
58
|
"buffer": "^6.0.3",
|
|
@@ -64,10 +60,11 @@
|
|
|
64
60
|
"isomorphic-ws": "^5.0.0",
|
|
65
61
|
"ws": "^8.18.3"
|
|
66
62
|
},
|
|
63
|
+
"types": "./dist.commonjs/index.d.ts",
|
|
67
64
|
"scripts": {
|
|
68
65
|
"test": "vitest",
|
|
69
66
|
"test:ci": "vitest run",
|
|
70
|
-
"build": "
|
|
67
|
+
"build": "tsdown",
|
|
71
68
|
"lint": "eslint ./src",
|
|
72
69
|
"format": "prettier --write . && eslint --fix ./src"
|
|
73
70
|
}
|
package/src/barrel.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./address/index.js";
|
|
|
2
2
|
export * from "./bytes/index.js";
|
|
3
3
|
export * from "./ckb/index.js";
|
|
4
4
|
export * from "./client/index.js";
|
|
5
|
+
export * from "./codec/index.js";
|
|
5
6
|
export * from "./fixedPoint/index.js";
|
|
6
7
|
export * from "./hasher/index.js";
|
|
7
8
|
export * from "./hex/index.js";
|
package/src/ckb/epoch.ts
ADDED
|
@@ -0,0 +1,489 @@
|
|
|
1
|
+
import type { ClientBlockHeader } from "../client/clientTypes.js";
|
|
2
|
+
import { codec, codecPadding, codecUint, Entity } from "../codec/index.js";
|
|
3
|
+
import { Zero } from "../fixedPoint/index.js";
|
|
4
|
+
import { type Hex, type HexLike } from "../hex/index.js";
|
|
5
|
+
import { mol } from "../molecule/index.js";
|
|
6
|
+
import { numFrom, NumLike, numToHex, type Num } from "../num/index.js";
|
|
7
|
+
import { gcd } from "../utils/index.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* EpochLike
|
|
11
|
+
*
|
|
12
|
+
* Union type that represents any allowed input shapes that can be converted
|
|
13
|
+
* into an Epoch instance.
|
|
14
|
+
*
|
|
15
|
+
* Accepted shapes:
|
|
16
|
+
* - Tuple: [integer, numerator, denominator] where each element is NumLike
|
|
17
|
+
* - Object: { integer, numerator, denominator } where each field is NumLike
|
|
18
|
+
* - Packed numeric form: Num (bigint) or Hex (RPC-style packed hex)
|
|
19
|
+
*
|
|
20
|
+
* Notes:
|
|
21
|
+
* - When constructing an Epoch from a Num or Hex the packed numeric representation
|
|
22
|
+
* encodes integer (24 bits), numerator (16 bits) and denominator (16 bits).
|
|
23
|
+
* - Use Epoch.from() to convert any EpochLike into an Epoch instance.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* // From tuple
|
|
27
|
+
* Epoch.from([1n, 0n, 1n]);
|
|
28
|
+
*/
|
|
29
|
+
export type EpochLike =
|
|
30
|
+
| [NumLike, NumLike, NumLike]
|
|
31
|
+
| {
|
|
32
|
+
integer: NumLike;
|
|
33
|
+
numerator: NumLike;
|
|
34
|
+
denominator: NumLike;
|
|
35
|
+
}
|
|
36
|
+
| Num
|
|
37
|
+
| Hex;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Epoch
|
|
41
|
+
*
|
|
42
|
+
* Represents a blockchain epoch consisting of a whole integer part and an
|
|
43
|
+
* optional fractional part represented as numerator/denominator.
|
|
44
|
+
*
|
|
45
|
+
* Behavior highlights:
|
|
46
|
+
* - Internally stores values as Num (bigint).
|
|
47
|
+
* - Provides normalization routines to canonicalize the fractional part:
|
|
48
|
+
* - normalizeBase(): fixes zero/negative denominators
|
|
49
|
+
* - normalizeCanonical(): reduces fraction, borrows/carries whole units
|
|
50
|
+
* - Supports arithmetic (add/sub), comparison and conversion utilities.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* const e = new Epoch(1n, 1n, 2n); // 1 + 1/2
|
|
54
|
+
*
|
|
55
|
+
* @remarks
|
|
56
|
+
* This class is primarily a thin value-object; operations return new Epoch instances.
|
|
57
|
+
*/
|
|
58
|
+
@codec(
|
|
59
|
+
mol.struct({
|
|
60
|
+
padding: codecPadding(1),
|
|
61
|
+
denominator: codecUint(2),
|
|
62
|
+
numerator: codecUint(2),
|
|
63
|
+
integer: codecUint(3),
|
|
64
|
+
}),
|
|
65
|
+
)
|
|
66
|
+
export class Epoch extends Entity.Base<EpochLike, Epoch>() {
|
|
67
|
+
/**
|
|
68
|
+
* Construct a new Epoch instance.
|
|
69
|
+
*
|
|
70
|
+
* @param integer - Whole epoch units (Num/bigint)
|
|
71
|
+
* @param numerator - Fractional numerator (Num).
|
|
72
|
+
* @param denominator - Fractional denominator (Num).
|
|
73
|
+
*/
|
|
74
|
+
public constructor(
|
|
75
|
+
public readonly integer: Num,
|
|
76
|
+
public readonly numerator: Num,
|
|
77
|
+
public readonly denominator: Num,
|
|
78
|
+
) {
|
|
79
|
+
super();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Normalize simpler base invariants:
|
|
84
|
+
* - If denominator === 0, set denominator to 1 and numerator to 0 for arithmetic convenience.
|
|
85
|
+
* - If denominator is negative flip signs of numerator and denominator to keep denominator positive.
|
|
86
|
+
*
|
|
87
|
+
* This is a minimal correction used before arithmetic or canonical normalization.
|
|
88
|
+
*
|
|
89
|
+
* @returns New Epoch with denominator corrected (but fraction not reduced).
|
|
90
|
+
*/
|
|
91
|
+
normalizeBase(): Epoch {
|
|
92
|
+
if (this.denominator === Zero) {
|
|
93
|
+
return new Epoch(this.integer, Zero, numFrom(1));
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (this.denominator < Zero) {
|
|
97
|
+
return new Epoch(this.integer, -this.numerator, -this.denominator);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Perform full canonical normalization of the epoch value.
|
|
105
|
+
*
|
|
106
|
+
* Steps:
|
|
107
|
+
* 1. Apply base normalization (normalizeBase).
|
|
108
|
+
* 2. If numerator is negative, borrow whole denominator(s) from the integer part
|
|
109
|
+
* so numerator becomes non-negative. This ensures 0 <= numerator < denominator whenever possible.
|
|
110
|
+
* 3. Reduce numerator/denominator by their greatest common divisor (gcd).
|
|
111
|
+
* 4. Carry any whole units from the reduced numerator into the integer part.
|
|
112
|
+
* 5. Ensure numerator is the strict remainder (numerator < denominator).
|
|
113
|
+
*
|
|
114
|
+
* @returns Canonicalized Epoch with a non-negative, reduced fractional part and integer adjusted accordingly.
|
|
115
|
+
*/
|
|
116
|
+
normalizeCanonical(): Epoch {
|
|
117
|
+
let { integer, numerator, denominator } = this.normalizeBase();
|
|
118
|
+
|
|
119
|
+
// If numerator is negative, borrow enough whole denominators from integer so numerator >= 0.
|
|
120
|
+
if (numerator < Zero) {
|
|
121
|
+
// n is the minimal non-negative integer such that numerator + n * denominator >= 0
|
|
122
|
+
const n = (-numerator + denominator - 1n) / denominator;
|
|
123
|
+
integer -= n;
|
|
124
|
+
numerator += denominator * n;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Reduce the fractional part to lowest terms to keep canonical form and avoid unnecessarily large multiples.
|
|
128
|
+
const g = gcd(numerator, denominator);
|
|
129
|
+
numerator /= g;
|
|
130
|
+
denominator /= g;
|
|
131
|
+
|
|
132
|
+
// Move any full units contained in the fraction into integer (e.g., 5/2 => +2 integer, remainder 1/2).
|
|
133
|
+
integer += numerator / denominator;
|
|
134
|
+
|
|
135
|
+
// Remainder numerator after removing whole units; ensures numerator < denominator.
|
|
136
|
+
numerator %= denominator;
|
|
137
|
+
|
|
138
|
+
return new Epoch(integer, numerator, denominator);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Backwards-compatible array-style index 0 referencing the whole epoch integer.
|
|
143
|
+
*
|
|
144
|
+
* @returns integer portion (Num)
|
|
145
|
+
* @deprecated Use `.integer` property instead.
|
|
146
|
+
*/
|
|
147
|
+
get 0(): Num {
|
|
148
|
+
return this.integer;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Backwards-compatible array-style index 1 referencing the epoch fractional numerator.
|
|
153
|
+
*
|
|
154
|
+
* @returns numerator portion (Num)
|
|
155
|
+
* @deprecated Use `.numerator` property instead.
|
|
156
|
+
*/
|
|
157
|
+
get 1(): Num {
|
|
158
|
+
return this.numerator;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Backwards-compatible array-style index 2 referencing the epoch fractional denominator.
|
|
163
|
+
*
|
|
164
|
+
* @returns denominator portion (Num)
|
|
165
|
+
* @deprecated Use `.denominator` property instead.
|
|
166
|
+
*/
|
|
167
|
+
get 2(): Num {
|
|
168
|
+
return this.denominator;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Convert this Epoch into its RPC-style packed numeric representation (Num).
|
|
173
|
+
*
|
|
174
|
+
* Packing layout (little-endian style fields):
|
|
175
|
+
* - integer: lower 24 bits
|
|
176
|
+
* - numerator: next 16 bits
|
|
177
|
+
* - denominator: next 16 bits
|
|
178
|
+
*
|
|
179
|
+
* Throws if any component is negative since packed representation assumes non-negative components.
|
|
180
|
+
*
|
|
181
|
+
* @throws {Error} If integer, numerator or denominator are negative.
|
|
182
|
+
* @throws {Error} If integer, numerator or denominator overflow the packing limits.
|
|
183
|
+
* @returns Packed numeric representation (Num) suitable for RPC packing.
|
|
184
|
+
*/
|
|
185
|
+
toNum(): Num {
|
|
186
|
+
if (
|
|
187
|
+
this.integer < Zero ||
|
|
188
|
+
this.numerator < Zero ||
|
|
189
|
+
this.denominator < Zero
|
|
190
|
+
) {
|
|
191
|
+
throw Error("Negative values in Epoch to Num conversion");
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (
|
|
195
|
+
this.integer >= numFrom("0x1000000") || // 24-bit limit
|
|
196
|
+
this.numerator >= numFrom("0x10000") || // 16-bit limit
|
|
197
|
+
this.denominator >= numFrom("0x10000") // 16-bit limit
|
|
198
|
+
) {
|
|
199
|
+
throw Error(
|
|
200
|
+
"Integer must be < 2^24, numerator and denominator must be < 2^16",
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
return (
|
|
205
|
+
this.integer +
|
|
206
|
+
(this.numerator << numFrom(24)) +
|
|
207
|
+
(this.denominator << numFrom(40))
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Convert epoch to hex string representation of the RPC-style packed numeric form.
|
|
213
|
+
*
|
|
214
|
+
* Returns the same representation used by CKB RPC responses where the
|
|
215
|
+
* packed numeric bytes may be trimmed of leading zeros, see {@link numToHex}
|
|
216
|
+
*
|
|
217
|
+
* @returns Hex string corresponding to the packed epoch.
|
|
218
|
+
*/
|
|
219
|
+
toPackedHex(): Hex {
|
|
220
|
+
return numToHex(this.toNum());
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Construct an Epoch by unpacking a RPC-style packed numeric form.
|
|
225
|
+
*
|
|
226
|
+
* @param v - NumLike packed epoch (like Num and Hex)
|
|
227
|
+
* @returns Epoch whose integer, numerator and denominator are extracted from the packed layout.
|
|
228
|
+
*/
|
|
229
|
+
static fromNum(v: NumLike): Epoch {
|
|
230
|
+
const num = numFrom(v);
|
|
231
|
+
|
|
232
|
+
return new Epoch(
|
|
233
|
+
num & numFrom("0xffffff"),
|
|
234
|
+
(num >> numFrom(24)) & numFrom("0xffff"),
|
|
235
|
+
(num >> numFrom(40)) & numFrom("0xffff"),
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Create an Epoch from an EpochLike value.
|
|
241
|
+
*
|
|
242
|
+
* Accepts:
|
|
243
|
+
* - an Epoch instance (returned as-is)
|
|
244
|
+
* - an array [integer, numerator, denominator] where each element is NumLike
|
|
245
|
+
* - an object { integer, numerator, denominator } where each field is NumLike
|
|
246
|
+
* - a packed numeric-like value handled by fromNum
|
|
247
|
+
*
|
|
248
|
+
* All numeric-like inputs are converted with numFrom() to produce internal Num values.
|
|
249
|
+
*
|
|
250
|
+
* @param e - Value convertible to Epoch
|
|
251
|
+
* @returns Epoch instance
|
|
252
|
+
*/
|
|
253
|
+
static override from(e: EpochLike): Epoch {
|
|
254
|
+
if (e instanceof Epoch) {
|
|
255
|
+
return e;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (Array.isArray(e)) {
|
|
259
|
+
return new Epoch(numFrom(e[0]), numFrom(e[1]), numFrom(e[2]));
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
if (typeof e === "object") {
|
|
263
|
+
return new Epoch(
|
|
264
|
+
numFrom(e.integer),
|
|
265
|
+
numFrom(e.numerator),
|
|
266
|
+
numFrom(e.denominator),
|
|
267
|
+
);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
return Epoch.fromNum(e);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Return a deep copy of this Epoch.
|
|
275
|
+
*
|
|
276
|
+
* @returns New Epoch instance with identical components.
|
|
277
|
+
*/
|
|
278
|
+
override clone(): Epoch {
|
|
279
|
+
return new Epoch(this.integer, this.numerator, this.denominator);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Return the genesis epoch.
|
|
284
|
+
*
|
|
285
|
+
* Note: for historical reasons the genesis epoch is represented with all-zero
|
|
286
|
+
* fields, no other epoch instance should use a zero denominator.
|
|
287
|
+
*
|
|
288
|
+
* @returns Epoch with integer = 0, numerator = 0, denominator = 0.
|
|
289
|
+
*/
|
|
290
|
+
static get Genesis(): Epoch {
|
|
291
|
+
return new Epoch(Zero, Zero, Zero);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Return an Epoch representing one Nervos DAO cycle (180 epochs exactly).
|
|
296
|
+
*
|
|
297
|
+
* @returns Epoch equal to 180 with denominator set to 1 to represent an exact whole unit.
|
|
298
|
+
*/
|
|
299
|
+
static get OneNervosDaoCycle(): Epoch {
|
|
300
|
+
return new Epoch(numFrom(180), Zero, numFrom(1));
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Compare this epoch to another EpochLike.
|
|
305
|
+
*
|
|
306
|
+
* The comparison computes scaled integer values so fractions are compared without precision loss:
|
|
307
|
+
* scaled = (integer * denominator + numerator) * other.denominator
|
|
308
|
+
*
|
|
309
|
+
* Special-case: identical object references return equality immediately.
|
|
310
|
+
*
|
|
311
|
+
* @param other - Epoch-like value to compare against.
|
|
312
|
+
* @returns 1 if this > other, 0 if equal, -1 if this < other.
|
|
313
|
+
*
|
|
314
|
+
* @example
|
|
315
|
+
* epochA.compare(epochB); // -1|0|1
|
|
316
|
+
*/
|
|
317
|
+
compare(other: EpochLike): 1 | 0 | -1 {
|
|
318
|
+
if (this === other) {
|
|
319
|
+
return 0;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
const t = this.normalizeBase();
|
|
323
|
+
const o = Epoch.from(other).normalizeBase();
|
|
324
|
+
|
|
325
|
+
// Compute scaled representations to compare fractions without floating-point arithmetic.
|
|
326
|
+
const a = (t.integer * t.denominator + t.numerator) * o.denominator;
|
|
327
|
+
const b = (o.integer * o.denominator + o.numerator) * t.denominator;
|
|
328
|
+
|
|
329
|
+
return a > b ? 1 : a < b ? -1 : 0;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Check whether this epoch is less than another EpochLike.
|
|
334
|
+
*
|
|
335
|
+
* @param other - EpochLike to compare against.
|
|
336
|
+
* @returns true if this < other.
|
|
337
|
+
*/
|
|
338
|
+
lt(other: EpochLike): boolean {
|
|
339
|
+
return this.compare(other) < 0;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Check whether this epoch is less than or equal to another EpochLike.
|
|
344
|
+
*
|
|
345
|
+
* @param other - EpochLike to compare against.
|
|
346
|
+
* @returns true if this <= other.
|
|
347
|
+
*/
|
|
348
|
+
le(other: EpochLike): boolean {
|
|
349
|
+
return this.compare(other) <= 0;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Check whether this epoch equals another EpochLike.
|
|
354
|
+
*
|
|
355
|
+
* @param other - EpochLike to compare against.
|
|
356
|
+
* @returns true if equal.
|
|
357
|
+
*/
|
|
358
|
+
eq(other: EpochLike): boolean {
|
|
359
|
+
return this.compare(other) === 0;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* Check whether this epoch is greater than or equal to another EpochLike.
|
|
364
|
+
*
|
|
365
|
+
* @param other - EpochLike to compare against.
|
|
366
|
+
* @returns true if this >= other.
|
|
367
|
+
*/
|
|
368
|
+
ge(other: EpochLike): boolean {
|
|
369
|
+
return this.compare(other) >= 0;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Check whether this epoch is greater than another EpochLike.
|
|
374
|
+
*
|
|
375
|
+
* @param other - EpochLike to compare against.
|
|
376
|
+
* @returns true if this > other.
|
|
377
|
+
*/
|
|
378
|
+
gt(other: EpochLike): boolean {
|
|
379
|
+
return this.compare(other) > 0;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
* Add another EpochLike to this epoch and return the normalized result.
|
|
384
|
+
*
|
|
385
|
+
* Rules and edge-cases:
|
|
386
|
+
* - Whole parts are added directly; fractional parts are aligned to a common denominator and added.
|
|
387
|
+
* - Final result is canonicalized to reduce the fraction and carry any overflow to the integer part.
|
|
388
|
+
*
|
|
389
|
+
* @param other - Epoch-like value to add.
|
|
390
|
+
* @returns Normalized Epoch representing the sum.
|
|
391
|
+
*/
|
|
392
|
+
add(other: EpochLike): Epoch {
|
|
393
|
+
const t = this.normalizeBase();
|
|
394
|
+
const o = Epoch.from(other).normalizeBase();
|
|
395
|
+
|
|
396
|
+
// Sum whole integer parts.
|
|
397
|
+
const integer = t.integer + o.integer;
|
|
398
|
+
let numerator: Num;
|
|
399
|
+
let denominator: Num;
|
|
400
|
+
|
|
401
|
+
// Align denominators if they differ; use multiplication to obtain a common denominator.
|
|
402
|
+
if (t.denominator !== o.denominator) {
|
|
403
|
+
// Numerators & Denominators are generally small (<= 2000n); multiplication produces a safe common denominator.
|
|
404
|
+
numerator = t.numerator * o.denominator + o.numerator * t.denominator;
|
|
405
|
+
denominator = t.denominator * o.denominator;
|
|
406
|
+
} else {
|
|
407
|
+
numerator = t.numerator + o.numerator;
|
|
408
|
+
denominator = t.denominator;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
// Normalize to reduce fraction and carry whole units into integer.
|
|
412
|
+
return new Epoch(integer, numerator, denominator).normalizeCanonical();
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Subtract an EpochLike from this epoch and return the normalized result.
|
|
417
|
+
*
|
|
418
|
+
* Implementation notes:
|
|
419
|
+
* - Delegates to add by negating the other epoch's integer and numerator while preserving denominator.
|
|
420
|
+
* - normalizeCanonical will handle negative numerators by borrowing from integer as necessary.
|
|
421
|
+
*
|
|
422
|
+
* @param other - Epoch-like value to subtract.
|
|
423
|
+
* @returns Normalized Epoch representing this - other.
|
|
424
|
+
*/
|
|
425
|
+
sub(other: EpochLike): Epoch {
|
|
426
|
+
const { integer, numerator, denominator } = Epoch.from(other);
|
|
427
|
+
return this.add(new Epoch(-integer, -numerator, denominator));
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* Convert this epoch to an estimated Unix timestamp in milliseconds using a reference header.
|
|
432
|
+
*
|
|
433
|
+
* Note: This is an estimation that assumes a constant epoch duration.
|
|
434
|
+
*
|
|
435
|
+
* @param reference - Object providing `epoch` (Epoch) and `timestamp` (Num) fields, such as a ClientBlockHeader.
|
|
436
|
+
* @param epochInMilliseconds - Duration of a single epoch in milliseconds. Defaults to 4 hours.
|
|
437
|
+
* @returns Estimated Unix timestamp in milliseconds as bigint.
|
|
438
|
+
*/
|
|
439
|
+
toUnix(
|
|
440
|
+
reference: Pick<ClientBlockHeader, "epoch" | "timestamp">,
|
|
441
|
+
epochInMilliseconds: Num = numFrom(4 * 60 * 60 * 1000),
|
|
442
|
+
): bigint {
|
|
443
|
+
// Compute relative epoch difference against the reference header.
|
|
444
|
+
const { integer, numerator, denominator } = this.sub(reference.epoch);
|
|
445
|
+
|
|
446
|
+
// Add whole epoch duration and fractional epoch duration to the reference timestamp.
|
|
447
|
+
return (
|
|
448
|
+
reference.timestamp +
|
|
449
|
+
epochInMilliseconds * integer +
|
|
450
|
+
(epochInMilliseconds * numerator) / denominator
|
|
451
|
+
);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* epochFrom
|
|
457
|
+
*
|
|
458
|
+
* @deprecated prefer using Epoch.from() directly.
|
|
459
|
+
*
|
|
460
|
+
* @param epochLike - Epoch-like value to convert.
|
|
461
|
+
* @returns Epoch instance corresponding to the input.
|
|
462
|
+
*/
|
|
463
|
+
export function epochFrom(epochLike: EpochLike): Epoch {
|
|
464
|
+
return Epoch.from(epochLike);
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* epochFromHex
|
|
469
|
+
*
|
|
470
|
+
* @deprecated use Epoch.fromNum() with numeric input instead.
|
|
471
|
+
*
|
|
472
|
+
* @param hex - Hex-like or numeric-like value encoding a packed epoch.
|
|
473
|
+
* @returns Decoded Epoch instance.
|
|
474
|
+
*/
|
|
475
|
+
export function epochFromHex(hex: HexLike): Epoch {
|
|
476
|
+
return Epoch.fromNum(hex);
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* epochToHex
|
|
481
|
+
*
|
|
482
|
+
* @deprecated use Epoch.from(epochLike).toPackedHex() instead.
|
|
483
|
+
*
|
|
484
|
+
* @param epochLike - Value convertible to an Epoch (object, tuple or Epoch).
|
|
485
|
+
* @returns Hex string representing the packed epoch encoding.
|
|
486
|
+
*/
|
|
487
|
+
export function epochToHex(epochLike: EpochLike): Hex {
|
|
488
|
+
return Epoch.from(epochLike).toPackedHex();
|
|
489
|
+
}
|
package/src/ckb/index.ts
CHANGED
package/src/ckb/script.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Bytes, BytesLike, bytesFrom } from "../bytes/index.js";
|
|
2
2
|
import type { Client } from "../client/index.js";
|
|
3
3
|
import { KnownScript } from "../client/knownScript.js";
|
|
4
|
+
import { Codec, Entity, codec } from "../codec/index.js";
|
|
4
5
|
import { Hex, HexLike, hexFrom } from "../hex/index.js";
|
|
5
6
|
import { mol } from "../molecule/index.js";
|
|
6
7
|
import {
|
|
@@ -9,7 +10,7 @@ import {
|
|
|
9
10
|
NUM_TO_HASH_TYPE,
|
|
10
11
|
} from "./script.advanced.js";
|
|
11
12
|
|
|
12
|
-
export const HashTypeCodec:
|
|
13
|
+
export const HashTypeCodec: Codec<HashTypeLike, HashType> = Codec.from({
|
|
13
14
|
byteLength: 1,
|
|
14
15
|
encode: hashTypeToBytes,
|
|
15
16
|
decode: hashTypeFromBytes,
|
|
@@ -108,14 +109,14 @@ export type ScriptLike = {
|
|
|
108
109
|
/**
|
|
109
110
|
* @public
|
|
110
111
|
*/
|
|
111
|
-
@
|
|
112
|
+
@codec(
|
|
112
113
|
mol.table({
|
|
113
114
|
codeHash: mol.Byte32,
|
|
114
115
|
hashType: HashTypeCodec,
|
|
115
116
|
args: mol.Bytes,
|
|
116
117
|
}),
|
|
117
118
|
)
|
|
118
|
-
export class Script extends
|
|
119
|
+
export class Script extends Entity.Base<ScriptLike, Script>() {
|
|
119
120
|
/**
|
|
120
121
|
* Creates an instance of Script.
|
|
121
122
|
*
|