@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.
Files changed (611) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/address.advanced-CWGrVD-M.mjs +2 -0
  3. package/dist/address.advanced-CWGrVD-M.mjs.map +1 -0
  4. package/dist/advanced.d.mts +2 -0
  5. package/dist/advanced.mjs +1 -0
  6. package/dist/advancedBarrel-BD7EAPVd.d.mts +5480 -0
  7. package/dist/advancedBarrel-BD7EAPVd.d.mts.map +1 -0
  8. package/dist/advancedBarrel.d.mts +2 -0
  9. package/dist/advancedBarrel.mjs +2 -0
  10. package/dist/advancedBarrel.mjs.map +1 -0
  11. package/dist/barrel-DchA_RPN.mjs +7 -0
  12. package/dist/barrel-DchA_RPN.mjs.map +1 -0
  13. package/dist/barrel.d.mts +2 -0
  14. package/dist/barrel.mjs +1 -0
  15. package/dist/index.d.mts +2 -0
  16. package/dist/index.mjs +1 -0
  17. package/dist/rolldown-runtime-DK3Fl9T5.mjs +1 -0
  18. package/dist.commonjs/address.advanced-COp7SNhZ.js +2 -0
  19. package/dist.commonjs/address.advanced-COp7SNhZ.js.map +1 -0
  20. package/dist.commonjs/advanced.d.ts +2 -3
  21. package/dist.commonjs/advanced.js +1 -41
  22. package/dist.commonjs/advancedBarrel-DRDT4GBS.d.ts +5481 -0
  23. package/dist.commonjs/advancedBarrel-DRDT4GBS.d.ts.map +1 -0
  24. package/dist.commonjs/advancedBarrel.d.ts +2 -7
  25. package/dist.commonjs/advancedBarrel.js +2 -22
  26. package/dist.commonjs/advancedBarrel.js.map +1 -0
  27. package/dist.commonjs/barrel-CXC2Uy5L.js +7 -0
  28. package/dist.commonjs/barrel-CXC2Uy5L.js.map +1 -0
  29. package/dist.commonjs/barrel.d.ts +2 -14
  30. package/dist.commonjs/barrel.js +1 -29
  31. package/dist.commonjs/index.d.ts +2 -3
  32. package/dist.commonjs/index.js +1 -41
  33. package/package.json +20 -23
  34. package/src/barrel.ts +1 -0
  35. package/src/ckb/epoch.ts +489 -0
  36. package/src/ckb/index.ts +1 -0
  37. package/src/ckb/script.ts +4 -3
  38. package/src/ckb/transaction.ts +83 -94
  39. package/src/client/client.ts +377 -1
  40. package/src/client/clientPublicMainnet.advanced.ts +23 -0
  41. package/src/client/clientPublicTestnet.advanced.ts +23 -0
  42. package/src/client/clientTypes.ts +1 -2
  43. package/src/client/jsonRpc/transformers.ts +2 -2
  44. package/src/client/knownScript.ts +1 -0
  45. package/src/codec/codec.ts +108 -0
  46. package/src/{molecule → codec}/entity.ts +17 -7
  47. package/src/codec/predefined.ts +145 -0
  48. package/src/hasher/advanced.ts +3 -1
  49. package/src/hasher/hasherCkb.ts +1 -1
  50. package/src/hasher/hasherKeecak256.ts +1 -1
  51. package/src/keystore/index.ts +4 -4
  52. package/src/molecule/barrel.ts +10 -1
  53. package/src/molecule/codec.ts +33 -138
  54. package/src/molecule/predefined.ts +63 -50
  55. package/src/signer/btc/index.ts +1 -0
  56. package/src/signer/btc/psbt.ts +98 -0
  57. package/src/signer/btc/signerBtc.ts +41 -1
  58. package/src/signer/btc/signerBtcPublicKeyReadonly.ts +15 -0
  59. package/src/signer/btc/verify.ts +2 -1
  60. package/src/signer/ckb/signerCkbPrivateKey.ts +6 -11
  61. package/src/signer/ckb/verifyCkbSecp256k1.ts +6 -10
  62. package/src/signer/doge/signerDogePrivateKey.ts +6 -3
  63. package/src/signer/doge/verify.ts +7 -8
  64. package/src/signer/nostr/signerNostrPrivateKey.ts +9 -8
  65. package/src/signer/nostr/verify.ts +2 -2
  66. package/src/utils/index.ts +20 -1
  67. package/tsdown.config.mts +44 -0
  68. package/dist/address/address.advanced.d.ts +0 -65
  69. package/dist/address/address.advanced.d.ts.map +0 -1
  70. package/dist/address/address.advanced.js +0 -147
  71. package/dist/address/advanced.d.ts +0 -2
  72. package/dist/address/advanced.d.ts.map +0 -1
  73. package/dist/address/advanced.js +0 -1
  74. package/dist/address/index.d.ts +0 -58
  75. package/dist/address/index.d.ts.map +0 -1
  76. package/dist/address/index.js +0 -78
  77. package/dist/advanced.d.ts +0 -3
  78. package/dist/advanced.d.ts.map +0 -1
  79. package/dist/advanced.js +0 -2
  80. package/dist/advancedBarrel.d.ts +0 -7
  81. package/dist/advancedBarrel.d.ts.map +0 -1
  82. package/dist/advancedBarrel.js +0 -6
  83. package/dist/barrel.d.ts +0 -14
  84. package/dist/barrel.d.ts.map +0 -1
  85. package/dist/barrel.js +0 -13
  86. package/dist/bytes/advanced.d.ts +0 -6
  87. package/dist/bytes/advanced.d.ts.map +0 -1
  88. package/dist/bytes/advanced.js +0 -1
  89. package/dist/bytes/index.d.ts +0 -112
  90. package/dist/bytes/index.d.ts.map +0 -1
  91. package/dist/bytes/index.js +0 -155
  92. package/dist/ckb/advanced.d.ts +0 -3
  93. package/dist/ckb/advanced.d.ts.map +0 -1
  94. package/dist/ckb/advanced.js +0 -2
  95. package/dist/ckb/hash.d.ts +0 -18
  96. package/dist/ckb/hash.d.ts.map +0 -1
  97. package/dist/ckb/hash.js +0 -19
  98. package/dist/ckb/index.d.ts +0 -6
  99. package/dist/ckb/index.d.ts.map +0 -1
  100. package/dist/ckb/index.js +0 -5
  101. package/dist/ckb/script.advanced.d.ts +0 -5
  102. package/dist/ckb/script.advanced.d.ts.map +0 -1
  103. package/dist/ckb/script.advanced.js +0 -13
  104. package/dist/ckb/script.d.ts +0 -156
  105. package/dist/ckb/script.d.ts.map +0 -1
  106. package/dist/ckb/script.js +0 -184
  107. package/dist/ckb/transaction.advanced.d.ts +0 -5
  108. package/dist/ckb/transaction.advanced.d.ts.map +0 -1
  109. package/dist/ckb/transaction.advanced.js +0 -9
  110. package/dist/ckb/transaction.d.ts +0 -1401
  111. package/dist/ckb/transaction.d.ts.map +0 -1
  112. package/dist/ckb/transaction.js +0 -1880
  113. package/dist/ckb/transactionErrors.d.ts +0 -15
  114. package/dist/ckb/transactionErrors.d.ts.map +0 -1
  115. package/dist/ckb/transactionErrors.js +0 -21
  116. package/dist/ckb/transactionLumos.d.ts +0 -30
  117. package/dist/ckb/transactionLumos.d.ts.map +0 -1
  118. package/dist/ckb/transactionLumos.js +0 -1
  119. package/dist/client/advanced.d.ts +0 -6
  120. package/dist/client/advanced.d.ts.map +0 -1
  121. package/dist/client/advanced.js +0 -5
  122. package/dist/client/cache/advanced.d.ts +0 -2
  123. package/dist/client/cache/advanced.d.ts.map +0 -1
  124. package/dist/client/cache/advanced.js +0 -1
  125. package/dist/client/cache/cache.d.ts +0 -98
  126. package/dist/client/cache/cache.d.ts.map +0 -1
  127. package/dist/client/cache/cache.js +0 -139
  128. package/dist/client/cache/index.d.ts +0 -3
  129. package/dist/client/cache/index.d.ts.map +0 -1
  130. package/dist/client/cache/index.js +0 -2
  131. package/dist/client/cache/memory.advanced.d.ts +0 -52
  132. package/dist/client/cache/memory.advanced.d.ts.map +0 -1
  133. package/dist/client/cache/memory.advanced.js +0 -149
  134. package/dist/client/cache/memory.d.ts +0 -53
  135. package/dist/client/cache/memory.d.ts.map +0 -1
  136. package/dist/client/cache/memory.js +0 -148
  137. package/dist/client/client.d.ts +0 -107
  138. package/dist/client/client.d.ts.map +0 -1
  139. package/dist/client/client.js +0 -328
  140. package/dist/client/clientPublicMainnet.advanced.d.ts +0 -4
  141. package/dist/client/clientPublicMainnet.advanced.d.ts.map +0 -1
  142. package/dist/client/clientPublicMainnet.advanced.js +0 -402
  143. package/dist/client/clientPublicMainnet.d.ts +0 -17
  144. package/dist/client/clientPublicMainnet.d.ts.map +0 -1
  145. package/dist/client/clientPublicMainnet.js +0 -40
  146. package/dist/client/clientPublicTestnet.advanced.d.ts +0 -4
  147. package/dist/client/clientPublicTestnet.advanced.d.ts.map +0 -1
  148. package/dist/client/clientPublicTestnet.advanced.js +0 -412
  149. package/dist/client/clientPublicTestnet.d.ts +0 -17
  150. package/dist/client/clientPublicTestnet.d.ts.map +0 -1
  151. package/dist/client/clientPublicTestnet.js +0 -40
  152. package/dist/client/clientTypes.advanced.d.ts +0 -25
  153. package/dist/client/clientTypes.advanced.d.ts.map +0 -1
  154. package/dist/client/clientTypes.advanced.js +0 -6
  155. package/dist/client/clientTypes.d.ts +0 -335
  156. package/dist/client/clientTypes.d.ts.map +0 -1
  157. package/dist/client/clientTypes.js +0 -232
  158. package/dist/client/index.d.ts +0 -8
  159. package/dist/client/index.d.ts.map +0 -1
  160. package/dist/client/index.js +0 -7
  161. package/dist/client/jsonRpc/advanced.d.ts +0 -3
  162. package/dist/client/jsonRpc/advanced.d.ts.map +0 -1
  163. package/dist/client/jsonRpc/advanced.js +0 -2
  164. package/dist/client/jsonRpc/client.d.ts +0 -160
  165. package/dist/client/jsonRpc/client.d.ts.map +0 -1
  166. package/dist/client/jsonRpc/client.js +0 -223
  167. package/dist/client/jsonRpc/index.d.ts +0 -2
  168. package/dist/client/jsonRpc/index.d.ts.map +0 -1
  169. package/dist/client/jsonRpc/index.js +0 -1
  170. package/dist/client/jsonRpc/transformers.d.ts +0 -51
  171. package/dist/client/jsonRpc/transformers.d.ts.map +0 -1
  172. package/dist/client/jsonRpc/transformers.js +0 -247
  173. package/dist/client/jsonRpc/types.d.ts +0 -101
  174. package/dist/client/jsonRpc/types.d.ts.map +0 -1
  175. package/dist/client/jsonRpc/types.js +0 -1
  176. package/dist/client/knownScript.d.ts +0 -27
  177. package/dist/client/knownScript.d.ts.map +0 -1
  178. package/dist/client/knownScript.js +0 -28
  179. package/dist/fixedPoint/index.d.ts +0 -55
  180. package/dist/fixedPoint/index.d.ts.map +0 -1
  181. package/dist/fixedPoint/index.js +0 -68
  182. package/dist/hasher/advanced.d.ts +0 -2
  183. package/dist/hasher/advanced.d.ts.map +0 -1
  184. package/dist/hasher/advanced.js +0 -1
  185. package/dist/hasher/hasher.d.ts +0 -35
  186. package/dist/hasher/hasher.d.ts.map +0 -1
  187. package/dist/hasher/hasher.js +0 -1
  188. package/dist/hasher/hasherCkb.d.ts +0 -57
  189. package/dist/hasher/hasherCkb.d.ts.map +0 -1
  190. package/dist/hasher/hasherCkb.js +0 -70
  191. package/dist/hasher/hasherKeecak256.d.ts +0 -41
  192. package/dist/hasher/hasherKeecak256.d.ts.map +0 -1
  193. package/dist/hasher/hasherKeecak256.js +0 -46
  194. package/dist/hasher/index.d.ts +0 -4
  195. package/dist/hasher/index.d.ts.map +0 -1
  196. package/dist/hasher/index.js +0 -3
  197. package/dist/hex/index.d.ts +0 -27
  198. package/dist/hex/index.d.ts.map +0 -1
  199. package/dist/hex/index.js +0 -17
  200. package/dist/index.d.ts +0 -3
  201. package/dist/index.d.ts.map +0 -1
  202. package/dist/index.js +0 -2
  203. package/dist/jsonRpc/advanced.d.ts +0 -2
  204. package/dist/jsonRpc/advanced.d.ts.map +0 -1
  205. package/dist/jsonRpc/advanced.js +0 -1
  206. package/dist/jsonRpc/index.d.ts +0 -2
  207. package/dist/jsonRpc/index.d.ts.map +0 -1
  208. package/dist/jsonRpc/index.js +0 -1
  209. package/dist/jsonRpc/requestor.d.ts +0 -49
  210. package/dist/jsonRpc/requestor.d.ts.map +0 -1
  211. package/dist/jsonRpc/requestor.js +0 -109
  212. package/dist/jsonRpc/transports/advanced.d.ts +0 -6
  213. package/dist/jsonRpc/transports/advanced.d.ts.map +0 -1
  214. package/dist/jsonRpc/transports/advanced.js +0 -5
  215. package/dist/jsonRpc/transports/factory.d.ts +0 -6
  216. package/dist/jsonRpc/transports/factory.d.ts.map +0 -1
  217. package/dist/jsonRpc/transports/factory.js +0 -8
  218. package/dist/jsonRpc/transports/fallback.d.ts +0 -8
  219. package/dist/jsonRpc/transports/fallback.d.ts.map +0 -1
  220. package/dist/jsonRpc/transports/fallback.js +0 -22
  221. package/dist/jsonRpc/transports/http.d.ts +0 -8
  222. package/dist/jsonRpc/transports/http.d.ts.map +0 -1
  223. package/dist/jsonRpc/transports/http.js +0 -22
  224. package/dist/jsonRpc/transports/transport.d.ts +0 -18
  225. package/dist/jsonRpc/transports/transport.d.ts.map +0 -1
  226. package/dist/jsonRpc/transports/transport.js +0 -1
  227. package/dist/jsonRpc/transports/webSocket.d.ts +0 -11
  228. package/dist/jsonRpc/transports/webSocket.d.ts.map +0 -1
  229. package/dist/jsonRpc/transports/webSocket.js +0 -87
  230. package/dist/keystore/index.d.ts +0 -31
  231. package/dist/keystore/index.d.ts.map +0 -1
  232. package/dist/keystore/index.js +0 -106
  233. package/dist/molecule/barrel.d.ts +0 -4
  234. package/dist/molecule/barrel.d.ts.map +0 -1
  235. package/dist/molecule/codec.d.ts +0 -146
  236. package/dist/molecule/codec.d.ts.map +0 -1
  237. package/dist/molecule/codec.js +0 -516
  238. package/dist/molecule/entity.d.ts +0 -112
  239. package/dist/molecule/entity.d.ts.map +0 -1
  240. package/dist/molecule/entity.js +0 -142
  241. package/dist/molecule/index.d.ts +0 -2
  242. package/dist/molecule/index.d.ts.map +0 -1
  243. package/dist/molecule/index.js +0 -1
  244. package/dist/molecule/predefined.d.ts +0 -57
  245. package/dist/molecule/predefined.d.ts.map +0 -1
  246. package/dist/molecule/predefined.js +0 -83
  247. package/dist/num/index.d.ts +0 -148
  248. package/dist/num/index.d.ts.map +0 -1
  249. package/dist/num/index.js +0 -204
  250. package/dist/signer/btc/index.d.ts +0 -4
  251. package/dist/signer/btc/index.d.ts.map +0 -1
  252. package/dist/signer/btc/index.js +0 -3
  253. package/dist/signer/btc/signerBtc.d.ts +0 -59
  254. package/dist/signer/btc/signerBtc.d.ts.map +0 -1
  255. package/dist/signer/btc/signerBtc.js +0 -83
  256. package/dist/signer/btc/signerBtcPublicKeyReadonly.d.ts +0 -55
  257. package/dist/signer/btc/signerBtcPublicKeyReadonly.d.ts.map +0 -1
  258. package/dist/signer/btc/signerBtcPublicKeyReadonly.js +0 -61
  259. package/dist/signer/btc/verify.d.ts +0 -40
  260. package/dist/signer/btc/verify.d.ts.map +0 -1
  261. package/dist/signer/btc/verify.js +0 -69
  262. package/dist/signer/ckb/index.d.ts +0 -6
  263. package/dist/signer/ckb/index.d.ts.map +0 -1
  264. package/dist/signer/ckb/index.js +0 -5
  265. package/dist/signer/ckb/signerCkbPrivateKey.d.ts +0 -16
  266. package/dist/signer/ckb/signerCkbPrivateKey.d.ts.map +0 -1
  267. package/dist/signer/ckb/signerCkbPrivateKey.js +0 -42
  268. package/dist/signer/ckb/signerCkbPublicKey.d.ts +0 -27
  269. package/dist/signer/ckb/signerCkbPublicKey.d.ts.map +0 -1
  270. package/dist/signer/ckb/signerCkbPublicKey.js +0 -101
  271. package/dist/signer/ckb/signerCkbScriptReadonly.d.ts +0 -68
  272. package/dist/signer/ckb/signerCkbScriptReadonly.d.ts.map +0 -1
  273. package/dist/signer/ckb/signerCkbScriptReadonly.js +0 -78
  274. package/dist/signer/ckb/verifyCkbSecp256k1.d.ts +0 -11
  275. package/dist/signer/ckb/verifyCkbSecp256k1.d.ts.map +0 -1
  276. package/dist/signer/ckb/verifyCkbSecp256k1.js +0 -22
  277. package/dist/signer/ckb/verifyJoyId.d.ts +0 -6
  278. package/dist/signer/ckb/verifyJoyId.d.ts.map +0 -1
  279. package/dist/signer/ckb/verifyJoyId.js +0 -16
  280. package/dist/signer/doge/index.d.ts +0 -5
  281. package/dist/signer/doge/index.d.ts.map +0 -1
  282. package/dist/signer/doge/index.js +0 -4
  283. package/dist/signer/doge/signerDoge.d.ts +0 -52
  284. package/dist/signer/doge/signerDoge.d.ts.map +0 -1
  285. package/dist/signer/doge/signerDoge.js +0 -82
  286. package/dist/signer/doge/signerDogeAddressReadonly.d.ts +0 -41
  287. package/dist/signer/doge/signerDogeAddressReadonly.d.ts.map +0 -1
  288. package/dist/signer/doge/signerDogeAddressReadonly.js +0 -45
  289. package/dist/signer/doge/signerDogePrivateKey.d.ts +0 -52
  290. package/dist/signer/doge/signerDogePrivateKey.d.ts.map +0 -1
  291. package/dist/signer/doge/signerDogePrivateKey.js +0 -68
  292. package/dist/signer/doge/verify.d.ts +0 -17
  293. package/dist/signer/doge/verify.d.ts.map +0 -1
  294. package/dist/signer/doge/verify.js +0 -29
  295. package/dist/signer/dummy/alwaysError.d.ts +0 -12
  296. package/dist/signer/dummy/alwaysError.d.ts.map +0 -1
  297. package/dist/signer/dummy/alwaysError.js +0 -13
  298. package/dist/signer/dummy/dummy.d.ts +0 -15
  299. package/dist/signer/dummy/dummy.d.ts.map +0 -1
  300. package/dist/signer/dummy/dummy.js +0 -22
  301. package/dist/signer/dummy/index.d.ts +0 -4
  302. package/dist/signer/dummy/index.d.ts.map +0 -1
  303. package/dist/signer/dummy/index.js +0 -3
  304. package/dist/signer/dummy/openLink.d.ts +0 -12
  305. package/dist/signer/dummy/openLink.d.ts.map +0 -1
  306. package/dist/signer/dummy/openLink.js +0 -13
  307. package/dist/signer/evm/index.d.ts +0 -4
  308. package/dist/signer/evm/index.d.ts.map +0 -1
  309. package/dist/signer/evm/index.js +0 -3
  310. package/dist/signer/evm/signerEvm.d.ts +0 -59
  311. package/dist/signer/evm/signerEvm.d.ts.map +0 -1
  312. package/dist/signer/evm/signerEvm.js +0 -139
  313. package/dist/signer/evm/signerEvmAddressReadonly.d.ts +0 -47
  314. package/dist/signer/evm/signerEvmAddressReadonly.d.ts.map +0 -1
  315. package/dist/signer/evm/signerEvmAddressReadonly.js +0 -51
  316. package/dist/signer/evm/verify.d.ts +0 -6
  317. package/dist/signer/evm/verify.d.ts.map +0 -1
  318. package/dist/signer/evm/verify.js +0 -9
  319. package/dist/signer/index.d.ts +0 -8
  320. package/dist/signer/index.d.ts.map +0 -1
  321. package/dist/signer/index.js +0 -7
  322. package/dist/signer/nostr/index.d.ts +0 -5
  323. package/dist/signer/nostr/index.d.ts.map +0 -1
  324. package/dist/signer/nostr/index.js +0 -4
  325. package/dist/signer/nostr/signerNostr.d.ts +0 -72
  326. package/dist/signer/nostr/signerNostr.d.ts.map +0 -1
  327. package/dist/signer/nostr/signerNostr.js +0 -96
  328. package/dist/signer/nostr/signerNostrPrivateKey.d.ts +0 -14
  329. package/dist/signer/nostr/signerNostrPrivateKey.d.ts.map +0 -1
  330. package/dist/signer/nostr/signerNostrPrivateKey.js +0 -34
  331. package/dist/signer/nostr/signerNostrPublicKeyReadonly.d.ts +0 -15
  332. package/dist/signer/nostr/signerNostrPublicKeyReadonly.d.ts.map +0 -1
  333. package/dist/signer/nostr/signerNostrPublicKeyReadonly.js +0 -26
  334. package/dist/signer/nostr/verify.d.ts +0 -9
  335. package/dist/signer/nostr/verify.d.ts.map +0 -1
  336. package/dist/signer/nostr/verify.js +0 -55
  337. package/dist/signer/signer/index.d.ts +0 -256
  338. package/dist/signer/signer/index.d.ts.map +0 -1
  339. package/dist/signer/signer/index.js +0 -305
  340. package/dist/utils/index.d.ts +0 -97
  341. package/dist/utils/index.d.ts.map +0 -1
  342. package/dist/utils/index.js +0 -55
  343. package/dist.commonjs/address/address.advanced.d.ts +0 -65
  344. package/dist.commonjs/address/address.advanced.d.ts.map +0 -1
  345. package/dist.commonjs/address/address.advanced.js +0 -152
  346. package/dist.commonjs/address/advanced.d.ts +0 -2
  347. package/dist.commonjs/address/advanced.d.ts.map +0 -1
  348. package/dist.commonjs/address/advanced.js +0 -17
  349. package/dist.commonjs/address/index.d.ts +0 -58
  350. package/dist.commonjs/address/index.d.ts.map +0 -1
  351. package/dist.commonjs/address/index.js +0 -82
  352. package/dist.commonjs/advanced.d.ts.map +0 -1
  353. package/dist.commonjs/advancedBarrel.d.ts.map +0 -1
  354. package/dist.commonjs/barrel.d.ts.map +0 -1
  355. package/dist.commonjs/bytes/advanced.d.ts +0 -6
  356. package/dist.commonjs/bytes/advanced.d.ts.map +0 -1
  357. package/dist.commonjs/bytes/advanced.js +0 -2
  358. package/dist.commonjs/bytes/index.d.ts +0 -112
  359. package/dist.commonjs/bytes/index.d.ts.map +0 -1
  360. package/dist.commonjs/bytes/index.js +0 -163
  361. package/dist.commonjs/ckb/advanced.d.ts +0 -3
  362. package/dist.commonjs/ckb/advanced.d.ts.map +0 -1
  363. package/dist.commonjs/ckb/advanced.js +0 -18
  364. package/dist.commonjs/ckb/hash.d.ts +0 -18
  365. package/dist.commonjs/ckb/hash.d.ts.map +0 -1
  366. package/dist.commonjs/ckb/hash.js +0 -22
  367. package/dist.commonjs/ckb/index.d.ts +0 -6
  368. package/dist.commonjs/ckb/index.d.ts.map +0 -1
  369. package/dist.commonjs/ckb/index.js +0 -21
  370. package/dist.commonjs/ckb/script.advanced.d.ts +0 -5
  371. package/dist.commonjs/ckb/script.advanced.d.ts.map +0 -1
  372. package/dist.commonjs/ckb/script.advanced.js +0 -16
  373. package/dist.commonjs/ckb/script.d.ts +0 -156
  374. package/dist.commonjs/ckb/script.d.ts.map +0 -1
  375. package/dist.commonjs/ckb/script.js +0 -190
  376. package/dist.commonjs/ckb/transaction.advanced.d.ts +0 -5
  377. package/dist.commonjs/ckb/transaction.advanced.d.ts.map +0 -1
  378. package/dist.commonjs/ckb/transaction.advanced.js +0 -12
  379. package/dist.commonjs/ckb/transaction.d.ts +0 -1401
  380. package/dist.commonjs/ckb/transaction.d.ts.map +0 -1
  381. package/dist.commonjs/ckb/transaction.js +0 -1894
  382. package/dist.commonjs/ckb/transactionErrors.d.ts +0 -15
  383. package/dist.commonjs/ckb/transactionErrors.d.ts.map +0 -1
  384. package/dist.commonjs/ckb/transactionErrors.js +0 -26
  385. package/dist.commonjs/ckb/transactionLumos.d.ts +0 -30
  386. package/dist.commonjs/ckb/transactionLumos.d.ts.map +0 -1
  387. package/dist.commonjs/ckb/transactionLumos.js +0 -2
  388. package/dist.commonjs/client/advanced.d.ts +0 -6
  389. package/dist.commonjs/client/advanced.d.ts.map +0 -1
  390. package/dist.commonjs/client/advanced.js +0 -21
  391. package/dist.commonjs/client/cache/advanced.d.ts +0 -2
  392. package/dist.commonjs/client/cache/advanced.d.ts.map +0 -1
  393. package/dist.commonjs/client/cache/advanced.js +0 -17
  394. package/dist.commonjs/client/cache/cache.d.ts +0 -98
  395. package/dist.commonjs/client/cache/cache.d.ts.map +0 -1
  396. package/dist.commonjs/client/cache/cache.js +0 -143
  397. package/dist.commonjs/client/cache/index.d.ts +0 -3
  398. package/dist.commonjs/client/cache/index.d.ts.map +0 -1
  399. package/dist.commonjs/client/cache/index.js +0 -18
  400. package/dist.commonjs/client/cache/memory.advanced.d.ts +0 -52
  401. package/dist.commonjs/client/cache/memory.advanced.d.ts.map +0 -1
  402. package/dist.commonjs/client/cache/memory.advanced.js +0 -158
  403. package/dist.commonjs/client/cache/memory.d.ts +0 -53
  404. package/dist.commonjs/client/cache/memory.d.ts.map +0 -1
  405. package/dist.commonjs/client/cache/memory.js +0 -152
  406. package/dist.commonjs/client/client.d.ts +0 -107
  407. package/dist.commonjs/client/client.d.ts.map +0 -1
  408. package/dist.commonjs/client/client.js +0 -332
  409. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts +0 -4
  410. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +0 -1
  411. package/dist.commonjs/client/clientPublicMainnet.advanced.js +0 -405
  412. package/dist.commonjs/client/clientPublicMainnet.d.ts +0 -17
  413. package/dist.commonjs/client/clientPublicMainnet.d.ts.map +0 -1
  414. package/dist.commonjs/client/clientPublicMainnet.js +0 -47
  415. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +0 -4
  416. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +0 -1
  417. package/dist.commonjs/client/clientPublicTestnet.advanced.js +0 -415
  418. package/dist.commonjs/client/clientPublicTestnet.d.ts +0 -17
  419. package/dist.commonjs/client/clientPublicTestnet.d.ts.map +0 -1
  420. package/dist.commonjs/client/clientPublicTestnet.js +0 -47
  421. package/dist.commonjs/client/clientTypes.advanced.d.ts +0 -25
  422. package/dist.commonjs/client/clientTypes.advanced.d.ts.map +0 -1
  423. package/dist.commonjs/client/clientTypes.advanced.js +0 -10
  424. package/dist.commonjs/client/clientTypes.d.ts +0 -335
  425. package/dist.commonjs/client/clientTypes.d.ts.map +0 -1
  426. package/dist.commonjs/client/clientTypes.js +0 -251
  427. package/dist.commonjs/client/index.d.ts +0 -8
  428. package/dist.commonjs/client/index.d.ts.map +0 -1
  429. package/dist.commonjs/client/index.js +0 -23
  430. package/dist.commonjs/client/jsonRpc/advanced.d.ts +0 -3
  431. package/dist.commonjs/client/jsonRpc/advanced.d.ts.map +0 -1
  432. package/dist.commonjs/client/jsonRpc/advanced.js +0 -18
  433. package/dist.commonjs/client/jsonRpc/client.d.ts +0 -160
  434. package/dist.commonjs/client/jsonRpc/client.d.ts.map +0 -1
  435. package/dist.commonjs/client/jsonRpc/client.js +0 -227
  436. package/dist.commonjs/client/jsonRpc/index.d.ts +0 -2
  437. package/dist.commonjs/client/jsonRpc/index.d.ts.map +0 -1
  438. package/dist.commonjs/client/jsonRpc/index.js +0 -17
  439. package/dist.commonjs/client/jsonRpc/transformers.d.ts +0 -51
  440. package/dist.commonjs/client/jsonRpc/transformers.d.ts.map +0 -1
  441. package/dist.commonjs/client/jsonRpc/transformers.js +0 -251
  442. package/dist.commonjs/client/jsonRpc/types.d.ts +0 -101
  443. package/dist.commonjs/client/jsonRpc/types.d.ts.map +0 -1
  444. package/dist.commonjs/client/jsonRpc/types.js +0 -2
  445. package/dist.commonjs/client/knownScript.d.ts +0 -27
  446. package/dist.commonjs/client/knownScript.d.ts.map +0 -1
  447. package/dist.commonjs/client/knownScript.js +0 -31
  448. package/dist.commonjs/fixedPoint/index.d.ts +0 -55
  449. package/dist.commonjs/fixedPoint/index.d.ts.map +0 -1
  450. package/dist.commonjs/fixedPoint/index.js +0 -73
  451. package/dist.commonjs/hasher/advanced.d.ts +0 -2
  452. package/dist.commonjs/hasher/advanced.d.ts.map +0 -1
  453. package/dist.commonjs/hasher/advanced.js +0 -4
  454. package/dist.commonjs/hasher/hasher.d.ts +0 -35
  455. package/dist.commonjs/hasher/hasher.d.ts.map +0 -1
  456. package/dist.commonjs/hasher/hasher.js +0 -2
  457. package/dist.commonjs/hasher/hasherCkb.d.ts +0 -57
  458. package/dist.commonjs/hasher/hasherCkb.d.ts.map +0 -1
  459. package/dist.commonjs/hasher/hasherCkb.js +0 -75
  460. package/dist.commonjs/hasher/hasherKeecak256.d.ts +0 -41
  461. package/dist.commonjs/hasher/hasherKeecak256.d.ts.map +0 -1
  462. package/dist.commonjs/hasher/hasherKeecak256.js +0 -50
  463. package/dist.commonjs/hasher/index.d.ts +0 -4
  464. package/dist.commonjs/hasher/index.d.ts.map +0 -1
  465. package/dist.commonjs/hasher/index.js +0 -19
  466. package/dist.commonjs/hex/index.d.ts +0 -27
  467. package/dist.commonjs/hex/index.d.ts.map +0 -1
  468. package/dist.commonjs/hex/index.js +0 -20
  469. package/dist.commonjs/index.d.ts.map +0 -1
  470. package/dist.commonjs/jsonRpc/advanced.d.ts +0 -2
  471. package/dist.commonjs/jsonRpc/advanced.d.ts.map +0 -1
  472. package/dist.commonjs/jsonRpc/advanced.js +0 -17
  473. package/dist.commonjs/jsonRpc/index.d.ts +0 -2
  474. package/dist.commonjs/jsonRpc/index.d.ts.map +0 -1
  475. package/dist.commonjs/jsonRpc/index.js +0 -17
  476. package/dist.commonjs/jsonRpc/requestor.d.ts +0 -49
  477. package/dist.commonjs/jsonRpc/requestor.d.ts.map +0 -1
  478. package/dist.commonjs/jsonRpc/requestor.js +0 -113
  479. package/dist.commonjs/jsonRpc/transports/advanced.d.ts +0 -6
  480. package/dist.commonjs/jsonRpc/transports/advanced.d.ts.map +0 -1
  481. package/dist.commonjs/jsonRpc/transports/advanced.js +0 -21
  482. package/dist.commonjs/jsonRpc/transports/factory.d.ts +0 -6
  483. package/dist.commonjs/jsonRpc/transports/factory.d.ts.map +0 -1
  484. package/dist.commonjs/jsonRpc/transports/factory.js +0 -11
  485. package/dist.commonjs/jsonRpc/transports/fallback.d.ts +0 -8
  486. package/dist.commonjs/jsonRpc/transports/fallback.d.ts.map +0 -1
  487. package/dist.commonjs/jsonRpc/transports/fallback.js +0 -26
  488. package/dist.commonjs/jsonRpc/transports/http.d.ts +0 -8
  489. package/dist.commonjs/jsonRpc/transports/http.d.ts.map +0 -1
  490. package/dist.commonjs/jsonRpc/transports/http.js +0 -26
  491. package/dist.commonjs/jsonRpc/transports/transport.d.ts +0 -18
  492. package/dist.commonjs/jsonRpc/transports/transport.d.ts.map +0 -1
  493. package/dist.commonjs/jsonRpc/transports/transport.js +0 -2
  494. package/dist.commonjs/jsonRpc/transports/webSocket.d.ts +0 -11
  495. package/dist.commonjs/jsonRpc/transports/webSocket.d.ts.map +0 -1
  496. package/dist.commonjs/jsonRpc/transports/webSocket.js +0 -94
  497. package/dist.commonjs/keystore/index.d.ts +0 -31
  498. package/dist.commonjs/keystore/index.d.ts.map +0 -1
  499. package/dist.commonjs/keystore/index.js +0 -110
  500. package/dist.commonjs/molecule/barrel.d.ts +0 -4
  501. package/dist.commonjs/molecule/barrel.d.ts.map +0 -1
  502. package/dist.commonjs/molecule/barrel.js +0 -19
  503. package/dist.commonjs/molecule/codec.d.ts +0 -146
  504. package/dist.commonjs/molecule/codec.d.ts.map +0 -1
  505. package/dist.commonjs/molecule/codec.js +0 -531
  506. package/dist.commonjs/molecule/entity.d.ts +0 -112
  507. package/dist.commonjs/molecule/entity.d.ts.map +0 -1
  508. package/dist.commonjs/molecule/entity.js +0 -147
  509. package/dist.commonjs/molecule/index.d.ts +0 -2
  510. package/dist.commonjs/molecule/index.d.ts.map +0 -1
  511. package/dist.commonjs/molecule/index.js +0 -37
  512. package/dist.commonjs/molecule/predefined.d.ts +0 -57
  513. package/dist.commonjs/molecule/predefined.d.ts.map +0 -1
  514. package/dist.commonjs/molecule/predefined.js +0 -87
  515. package/dist.commonjs/num/index.d.ts +0 -148
  516. package/dist.commonjs/num/index.d.ts.map +0 -1
  517. package/dist.commonjs/num/index.js +0 -216
  518. package/dist.commonjs/signer/btc/index.d.ts +0 -4
  519. package/dist.commonjs/signer/btc/index.d.ts.map +0 -1
  520. package/dist.commonjs/signer/btc/index.js +0 -19
  521. package/dist.commonjs/signer/btc/signerBtc.d.ts +0 -59
  522. package/dist.commonjs/signer/btc/signerBtc.d.ts.map +0 -1
  523. package/dist.commonjs/signer/btc/signerBtc.js +0 -87
  524. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts +0 -55
  525. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts.map +0 -1
  526. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.js +0 -65
  527. package/dist.commonjs/signer/btc/verify.d.ts +0 -40
  528. package/dist.commonjs/signer/btc/verify.d.ts.map +0 -1
  529. package/dist.commonjs/signer/btc/verify.js +0 -80
  530. package/dist.commonjs/signer/ckb/index.d.ts +0 -6
  531. package/dist.commonjs/signer/ckb/index.d.ts.map +0 -1
  532. package/dist.commonjs/signer/ckb/index.js +0 -21
  533. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.d.ts +0 -16
  534. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.d.ts.map +0 -1
  535. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.js +0 -46
  536. package/dist.commonjs/signer/ckb/signerCkbPublicKey.d.ts +0 -27
  537. package/dist.commonjs/signer/ckb/signerCkbPublicKey.d.ts.map +0 -1
  538. package/dist.commonjs/signer/ckb/signerCkbPublicKey.js +0 -105
  539. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts +0 -68
  540. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts.map +0 -1
  541. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.js +0 -82
  542. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.d.ts +0 -11
  543. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.d.ts.map +0 -1
  544. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.js +0 -26
  545. package/dist.commonjs/signer/ckb/verifyJoyId.d.ts +0 -6
  546. package/dist.commonjs/signer/ckb/verifyJoyId.d.ts.map +0 -1
  547. package/dist.commonjs/signer/ckb/verifyJoyId.js +0 -19
  548. package/dist.commonjs/signer/doge/index.d.ts +0 -5
  549. package/dist.commonjs/signer/doge/index.d.ts.map +0 -1
  550. package/dist.commonjs/signer/doge/index.js +0 -20
  551. package/dist.commonjs/signer/doge/signerDoge.d.ts +0 -52
  552. package/dist.commonjs/signer/doge/signerDoge.d.ts.map +0 -1
  553. package/dist.commonjs/signer/doge/signerDoge.js +0 -89
  554. package/dist.commonjs/signer/doge/signerDogeAddressReadonly.d.ts +0 -41
  555. package/dist.commonjs/signer/doge/signerDogeAddressReadonly.d.ts.map +0 -1
  556. package/dist.commonjs/signer/doge/signerDogeAddressReadonly.js +0 -49
  557. package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts +0 -52
  558. package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts.map +0 -1
  559. package/dist.commonjs/signer/doge/signerDogePrivateKey.js +0 -72
  560. package/dist.commonjs/signer/doge/verify.d.ts +0 -17
  561. package/dist.commonjs/signer/doge/verify.d.ts.map +0 -1
  562. package/dist.commonjs/signer/doge/verify.js +0 -33
  563. package/dist.commonjs/signer/dummy/alwaysError.d.ts +0 -12
  564. package/dist.commonjs/signer/dummy/alwaysError.d.ts.map +0 -1
  565. package/dist.commonjs/signer/dummy/alwaysError.js +0 -17
  566. package/dist.commonjs/signer/dummy/dummy.d.ts +0 -15
  567. package/dist.commonjs/signer/dummy/dummy.d.ts.map +0 -1
  568. package/dist.commonjs/signer/dummy/dummy.js +0 -26
  569. package/dist.commonjs/signer/dummy/index.d.ts +0 -4
  570. package/dist.commonjs/signer/dummy/index.d.ts.map +0 -1
  571. package/dist.commonjs/signer/dummy/index.js +0 -19
  572. package/dist.commonjs/signer/dummy/openLink.d.ts +0 -12
  573. package/dist.commonjs/signer/dummy/openLink.d.ts.map +0 -1
  574. package/dist.commonjs/signer/dummy/openLink.js +0 -17
  575. package/dist.commonjs/signer/evm/index.d.ts +0 -4
  576. package/dist.commonjs/signer/evm/index.d.ts.map +0 -1
  577. package/dist.commonjs/signer/evm/index.js +0 -19
  578. package/dist.commonjs/signer/evm/signerEvm.d.ts +0 -59
  579. package/dist.commonjs/signer/evm/signerEvm.d.ts.map +0 -1
  580. package/dist.commonjs/signer/evm/signerEvm.js +0 -143
  581. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts +0 -47
  582. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts.map +0 -1
  583. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.js +0 -55
  584. package/dist.commonjs/signer/evm/verify.d.ts +0 -6
  585. package/dist.commonjs/signer/evm/verify.d.ts.map +0 -1
  586. package/dist.commonjs/signer/evm/verify.js +0 -12
  587. package/dist.commonjs/signer/index.d.ts +0 -8
  588. package/dist.commonjs/signer/index.d.ts.map +0 -1
  589. package/dist.commonjs/signer/index.js +0 -23
  590. package/dist.commonjs/signer/nostr/index.d.ts +0 -5
  591. package/dist.commonjs/signer/nostr/index.d.ts.map +0 -1
  592. package/dist.commonjs/signer/nostr/index.js +0 -20
  593. package/dist.commonjs/signer/nostr/signerNostr.d.ts +0 -72
  594. package/dist.commonjs/signer/nostr/signerNostr.d.ts.map +0 -1
  595. package/dist.commonjs/signer/nostr/signerNostr.js +0 -100
  596. package/dist.commonjs/signer/nostr/signerNostrPrivateKey.d.ts +0 -14
  597. package/dist.commonjs/signer/nostr/signerNostrPrivateKey.d.ts.map +0 -1
  598. package/dist.commonjs/signer/nostr/signerNostrPrivateKey.js +0 -38
  599. package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.d.ts +0 -15
  600. package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.d.ts.map +0 -1
  601. package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.js +0 -30
  602. package/dist.commonjs/signer/nostr/verify.d.ts +0 -9
  603. package/dist.commonjs/signer/nostr/verify.d.ts.map +0 -1
  604. package/dist.commonjs/signer/nostr/verify.js +0 -60
  605. package/dist.commonjs/signer/signer/index.d.ts +0 -256
  606. package/dist.commonjs/signer/signer/index.d.ts.map +0 -1
  607. package/dist.commonjs/signer/signer/index.js +0 -311
  608. package/dist.commonjs/utils/index.d.ts +0 -97
  609. package/dist.commonjs/utils/index.d.ts.map +0 -1
  610. package/dist.commonjs/utils/index.js +0 -62
  611. /package/{dist/molecule/barrel.js → src/codec/index.ts} +0 -0
@@ -1,41 +1 @@
1
- "use strict";
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.12.5",
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.js",
15
+ "module": "./dist/index.mjs",
16
16
  "exports": {
17
17
  ".": {
18
- "import": "./dist/index.js",
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
- "./barrel": {
23
- "import": "./dist/barrel.js",
24
- "require": "./dist.commonjs/barrel.js",
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.js",
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
- "./advanced": {
33
- "import": "./dist/advanced.js",
34
- "require": "./dist.commonjs/advanced.js",
35
- "default": "./dist.commonjs/advanced.js"
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
- "rimraf": "^6.0.1",
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": "^0.5.3",
58
- "@noble/curves": "^1.9.7",
59
- "@noble/hashes": "^1.8.0",
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": "rimraf ./dist && rimraf ./dist.commonjs && tsc && tsc --project tsconfig.commonjs.json && copyfiles -u 2 misc/basedirs/**/* .",
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";
@@ -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
@@ -1,3 +1,4 @@
1
+ export * from "./epoch.js";
1
2
  export * from "./hash.js";
2
3
  export * from "./script.js";
3
4
  export * from "./transaction.js";
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: mol.Codec<HashTypeLike, HashType> = mol.Codec.from({
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
- @mol.codec(
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 mol.Entity.Base<ScriptLike, Script>() {
119
+ export class Script extends Entity.Base<ScriptLike, Script>() {
119
120
  /**
120
121
  * Creates an instance of Script.
121
122
  *