@ckb-ccc/core 1.12.5 → 1.14.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 (612) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/address.advanced-BmJKF_Lg.mjs +2 -0
  3. package/dist/address.advanced-BmJKF_Lg.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-C-sr5NLL.mjs +7 -0
  12. package/dist/barrel-C-sr5NLL.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-D9nKvIr3.js +2 -0
  19. package/dist.commonjs/address.advanced-D9nKvIr3.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-SuR9mcfv.js +21 -0
  28. package/dist.commonjs/barrel-SuR9mcfv.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 +42 -34
  34. package/src/address/address.advanced.ts +3 -3
  35. package/src/barrel.ts +1 -0
  36. package/src/ckb/epoch.ts +489 -0
  37. package/src/ckb/index.ts +1 -0
  38. package/src/ckb/script.ts +4 -3
  39. package/src/ckb/transaction.ts +83 -94
  40. package/src/client/client.ts +377 -1
  41. package/src/client/clientPublicMainnet.advanced.ts +23 -0
  42. package/src/client/clientPublicTestnet.advanced.ts +23 -0
  43. package/src/client/clientTypes.ts +1 -2
  44. package/src/client/jsonRpc/transformers.ts +2 -2
  45. package/src/client/knownScript.ts +1 -0
  46. package/src/codec/codec.ts +108 -0
  47. package/src/{molecule → codec}/entity.ts +18 -10
  48. package/src/codec/predefined.ts +145 -0
  49. package/src/hasher/advanced.ts +3 -1
  50. package/src/hasher/hasherCkb.ts +1 -1
  51. package/src/hasher/hasherKeecak256.ts +1 -1
  52. package/src/keystore/index.ts +4 -4
  53. package/src/molecule/barrel.ts +10 -1
  54. package/src/molecule/codec.ts +48 -153
  55. package/src/molecule/predefined.ts +63 -50
  56. package/src/signer/btc/index.ts +1 -0
  57. package/src/signer/btc/psbt.ts +98 -0
  58. package/src/signer/btc/signerBtc.ts +41 -1
  59. package/src/signer/btc/signerBtcPublicKeyReadonly.ts +15 -0
  60. package/src/signer/btc/verify.ts +2 -1
  61. package/src/signer/ckb/signerCkbPrivateKey.ts +6 -11
  62. package/src/signer/ckb/verifyCkbSecp256k1.ts +6 -10
  63. package/src/signer/doge/signerDogePrivateKey.ts +6 -3
  64. package/src/signer/doge/verify.ts +7 -8
  65. package/src/signer/nostr/signerNostrPrivateKey.ts +9 -8
  66. package/src/signer/nostr/verify.ts +2 -2
  67. package/src/utils/index.ts +20 -1
  68. package/tsdown.config.mts +53 -0
  69. package/dist/address/address.advanced.d.ts +0 -65
  70. package/dist/address/address.advanced.d.ts.map +0 -1
  71. package/dist/address/address.advanced.js +0 -147
  72. package/dist/address/advanced.d.ts +0 -2
  73. package/dist/address/advanced.d.ts.map +0 -1
  74. package/dist/address/advanced.js +0 -1
  75. package/dist/address/index.d.ts +0 -58
  76. package/dist/address/index.d.ts.map +0 -1
  77. package/dist/address/index.js +0 -78
  78. package/dist/advanced.d.ts +0 -3
  79. package/dist/advanced.d.ts.map +0 -1
  80. package/dist/advanced.js +0 -2
  81. package/dist/advancedBarrel.d.ts +0 -7
  82. package/dist/advancedBarrel.d.ts.map +0 -1
  83. package/dist/advancedBarrel.js +0 -6
  84. package/dist/barrel.d.ts +0 -14
  85. package/dist/barrel.d.ts.map +0 -1
  86. package/dist/barrel.js +0 -13
  87. package/dist/bytes/advanced.d.ts +0 -6
  88. package/dist/bytes/advanced.d.ts.map +0 -1
  89. package/dist/bytes/advanced.js +0 -1
  90. package/dist/bytes/index.d.ts +0 -112
  91. package/dist/bytes/index.d.ts.map +0 -1
  92. package/dist/bytes/index.js +0 -155
  93. package/dist/ckb/advanced.d.ts +0 -3
  94. package/dist/ckb/advanced.d.ts.map +0 -1
  95. package/dist/ckb/advanced.js +0 -2
  96. package/dist/ckb/hash.d.ts +0 -18
  97. package/dist/ckb/hash.d.ts.map +0 -1
  98. package/dist/ckb/hash.js +0 -19
  99. package/dist/ckb/index.d.ts +0 -6
  100. package/dist/ckb/index.d.ts.map +0 -1
  101. package/dist/ckb/index.js +0 -5
  102. package/dist/ckb/script.advanced.d.ts +0 -5
  103. package/dist/ckb/script.advanced.d.ts.map +0 -1
  104. package/dist/ckb/script.advanced.js +0 -13
  105. package/dist/ckb/script.d.ts +0 -156
  106. package/dist/ckb/script.d.ts.map +0 -1
  107. package/dist/ckb/script.js +0 -184
  108. package/dist/ckb/transaction.advanced.d.ts +0 -5
  109. package/dist/ckb/transaction.advanced.d.ts.map +0 -1
  110. package/dist/ckb/transaction.advanced.js +0 -9
  111. package/dist/ckb/transaction.d.ts +0 -1401
  112. package/dist/ckb/transaction.d.ts.map +0 -1
  113. package/dist/ckb/transaction.js +0 -1880
  114. package/dist/ckb/transactionErrors.d.ts +0 -15
  115. package/dist/ckb/transactionErrors.d.ts.map +0 -1
  116. package/dist/ckb/transactionErrors.js +0 -21
  117. package/dist/ckb/transactionLumos.d.ts +0 -30
  118. package/dist/ckb/transactionLumos.d.ts.map +0 -1
  119. package/dist/ckb/transactionLumos.js +0 -1
  120. package/dist/client/advanced.d.ts +0 -6
  121. package/dist/client/advanced.d.ts.map +0 -1
  122. package/dist/client/advanced.js +0 -5
  123. package/dist/client/cache/advanced.d.ts +0 -2
  124. package/dist/client/cache/advanced.d.ts.map +0 -1
  125. package/dist/client/cache/advanced.js +0 -1
  126. package/dist/client/cache/cache.d.ts +0 -98
  127. package/dist/client/cache/cache.d.ts.map +0 -1
  128. package/dist/client/cache/cache.js +0 -139
  129. package/dist/client/cache/index.d.ts +0 -3
  130. package/dist/client/cache/index.d.ts.map +0 -1
  131. package/dist/client/cache/index.js +0 -2
  132. package/dist/client/cache/memory.advanced.d.ts +0 -52
  133. package/dist/client/cache/memory.advanced.d.ts.map +0 -1
  134. package/dist/client/cache/memory.advanced.js +0 -149
  135. package/dist/client/cache/memory.d.ts +0 -53
  136. package/dist/client/cache/memory.d.ts.map +0 -1
  137. package/dist/client/cache/memory.js +0 -148
  138. package/dist/client/client.d.ts +0 -107
  139. package/dist/client/client.d.ts.map +0 -1
  140. package/dist/client/client.js +0 -328
  141. package/dist/client/clientPublicMainnet.advanced.d.ts +0 -4
  142. package/dist/client/clientPublicMainnet.advanced.d.ts.map +0 -1
  143. package/dist/client/clientPublicMainnet.advanced.js +0 -402
  144. package/dist/client/clientPublicMainnet.d.ts +0 -17
  145. package/dist/client/clientPublicMainnet.d.ts.map +0 -1
  146. package/dist/client/clientPublicMainnet.js +0 -40
  147. package/dist/client/clientPublicTestnet.advanced.d.ts +0 -4
  148. package/dist/client/clientPublicTestnet.advanced.d.ts.map +0 -1
  149. package/dist/client/clientPublicTestnet.advanced.js +0 -412
  150. package/dist/client/clientPublicTestnet.d.ts +0 -17
  151. package/dist/client/clientPublicTestnet.d.ts.map +0 -1
  152. package/dist/client/clientPublicTestnet.js +0 -40
  153. package/dist/client/clientTypes.advanced.d.ts +0 -25
  154. package/dist/client/clientTypes.advanced.d.ts.map +0 -1
  155. package/dist/client/clientTypes.advanced.js +0 -6
  156. package/dist/client/clientTypes.d.ts +0 -335
  157. package/dist/client/clientTypes.d.ts.map +0 -1
  158. package/dist/client/clientTypes.js +0 -232
  159. package/dist/client/index.d.ts +0 -8
  160. package/dist/client/index.d.ts.map +0 -1
  161. package/dist/client/index.js +0 -7
  162. package/dist/client/jsonRpc/advanced.d.ts +0 -3
  163. package/dist/client/jsonRpc/advanced.d.ts.map +0 -1
  164. package/dist/client/jsonRpc/advanced.js +0 -2
  165. package/dist/client/jsonRpc/client.d.ts +0 -160
  166. package/dist/client/jsonRpc/client.d.ts.map +0 -1
  167. package/dist/client/jsonRpc/client.js +0 -223
  168. package/dist/client/jsonRpc/index.d.ts +0 -2
  169. package/dist/client/jsonRpc/index.d.ts.map +0 -1
  170. package/dist/client/jsonRpc/index.js +0 -1
  171. package/dist/client/jsonRpc/transformers.d.ts +0 -51
  172. package/dist/client/jsonRpc/transformers.d.ts.map +0 -1
  173. package/dist/client/jsonRpc/transformers.js +0 -247
  174. package/dist/client/jsonRpc/types.d.ts +0 -101
  175. package/dist/client/jsonRpc/types.d.ts.map +0 -1
  176. package/dist/client/jsonRpc/types.js +0 -1
  177. package/dist/client/knownScript.d.ts +0 -27
  178. package/dist/client/knownScript.d.ts.map +0 -1
  179. package/dist/client/knownScript.js +0 -28
  180. package/dist/fixedPoint/index.d.ts +0 -55
  181. package/dist/fixedPoint/index.d.ts.map +0 -1
  182. package/dist/fixedPoint/index.js +0 -68
  183. package/dist/hasher/advanced.d.ts +0 -2
  184. package/dist/hasher/advanced.d.ts.map +0 -1
  185. package/dist/hasher/advanced.js +0 -1
  186. package/dist/hasher/hasher.d.ts +0 -35
  187. package/dist/hasher/hasher.d.ts.map +0 -1
  188. package/dist/hasher/hasher.js +0 -1
  189. package/dist/hasher/hasherCkb.d.ts +0 -57
  190. package/dist/hasher/hasherCkb.d.ts.map +0 -1
  191. package/dist/hasher/hasherCkb.js +0 -70
  192. package/dist/hasher/hasherKeecak256.d.ts +0 -41
  193. package/dist/hasher/hasherKeecak256.d.ts.map +0 -1
  194. package/dist/hasher/hasherKeecak256.js +0 -46
  195. package/dist/hasher/index.d.ts +0 -4
  196. package/dist/hasher/index.d.ts.map +0 -1
  197. package/dist/hasher/index.js +0 -3
  198. package/dist/hex/index.d.ts +0 -27
  199. package/dist/hex/index.d.ts.map +0 -1
  200. package/dist/hex/index.js +0 -17
  201. package/dist/index.d.ts +0 -3
  202. package/dist/index.d.ts.map +0 -1
  203. package/dist/index.js +0 -2
  204. package/dist/jsonRpc/advanced.d.ts +0 -2
  205. package/dist/jsonRpc/advanced.d.ts.map +0 -1
  206. package/dist/jsonRpc/advanced.js +0 -1
  207. package/dist/jsonRpc/index.d.ts +0 -2
  208. package/dist/jsonRpc/index.d.ts.map +0 -1
  209. package/dist/jsonRpc/index.js +0 -1
  210. package/dist/jsonRpc/requestor.d.ts +0 -49
  211. package/dist/jsonRpc/requestor.d.ts.map +0 -1
  212. package/dist/jsonRpc/requestor.js +0 -109
  213. package/dist/jsonRpc/transports/advanced.d.ts +0 -6
  214. package/dist/jsonRpc/transports/advanced.d.ts.map +0 -1
  215. package/dist/jsonRpc/transports/advanced.js +0 -5
  216. package/dist/jsonRpc/transports/factory.d.ts +0 -6
  217. package/dist/jsonRpc/transports/factory.d.ts.map +0 -1
  218. package/dist/jsonRpc/transports/factory.js +0 -8
  219. package/dist/jsonRpc/transports/fallback.d.ts +0 -8
  220. package/dist/jsonRpc/transports/fallback.d.ts.map +0 -1
  221. package/dist/jsonRpc/transports/fallback.js +0 -22
  222. package/dist/jsonRpc/transports/http.d.ts +0 -8
  223. package/dist/jsonRpc/transports/http.d.ts.map +0 -1
  224. package/dist/jsonRpc/transports/http.js +0 -22
  225. package/dist/jsonRpc/transports/transport.d.ts +0 -18
  226. package/dist/jsonRpc/transports/transport.d.ts.map +0 -1
  227. package/dist/jsonRpc/transports/transport.js +0 -1
  228. package/dist/jsonRpc/transports/webSocket.d.ts +0 -11
  229. package/dist/jsonRpc/transports/webSocket.d.ts.map +0 -1
  230. package/dist/jsonRpc/transports/webSocket.js +0 -87
  231. package/dist/keystore/index.d.ts +0 -31
  232. package/dist/keystore/index.d.ts.map +0 -1
  233. package/dist/keystore/index.js +0 -106
  234. package/dist/molecule/barrel.d.ts +0 -4
  235. package/dist/molecule/barrel.d.ts.map +0 -1
  236. package/dist/molecule/codec.d.ts +0 -146
  237. package/dist/molecule/codec.d.ts.map +0 -1
  238. package/dist/molecule/codec.js +0 -516
  239. package/dist/molecule/entity.d.ts +0 -112
  240. package/dist/molecule/entity.d.ts.map +0 -1
  241. package/dist/molecule/entity.js +0 -142
  242. package/dist/molecule/index.d.ts +0 -2
  243. package/dist/molecule/index.d.ts.map +0 -1
  244. package/dist/molecule/index.js +0 -1
  245. package/dist/molecule/predefined.d.ts +0 -57
  246. package/dist/molecule/predefined.d.ts.map +0 -1
  247. package/dist/molecule/predefined.js +0 -83
  248. package/dist/num/index.d.ts +0 -148
  249. package/dist/num/index.d.ts.map +0 -1
  250. package/dist/num/index.js +0 -204
  251. package/dist/signer/btc/index.d.ts +0 -4
  252. package/dist/signer/btc/index.d.ts.map +0 -1
  253. package/dist/signer/btc/index.js +0 -3
  254. package/dist/signer/btc/signerBtc.d.ts +0 -59
  255. package/dist/signer/btc/signerBtc.d.ts.map +0 -1
  256. package/dist/signer/btc/signerBtc.js +0 -83
  257. package/dist/signer/btc/signerBtcPublicKeyReadonly.d.ts +0 -55
  258. package/dist/signer/btc/signerBtcPublicKeyReadonly.d.ts.map +0 -1
  259. package/dist/signer/btc/signerBtcPublicKeyReadonly.js +0 -61
  260. package/dist/signer/btc/verify.d.ts +0 -40
  261. package/dist/signer/btc/verify.d.ts.map +0 -1
  262. package/dist/signer/btc/verify.js +0 -69
  263. package/dist/signer/ckb/index.d.ts +0 -6
  264. package/dist/signer/ckb/index.d.ts.map +0 -1
  265. package/dist/signer/ckb/index.js +0 -5
  266. package/dist/signer/ckb/signerCkbPrivateKey.d.ts +0 -16
  267. package/dist/signer/ckb/signerCkbPrivateKey.d.ts.map +0 -1
  268. package/dist/signer/ckb/signerCkbPrivateKey.js +0 -42
  269. package/dist/signer/ckb/signerCkbPublicKey.d.ts +0 -27
  270. package/dist/signer/ckb/signerCkbPublicKey.d.ts.map +0 -1
  271. package/dist/signer/ckb/signerCkbPublicKey.js +0 -101
  272. package/dist/signer/ckb/signerCkbScriptReadonly.d.ts +0 -68
  273. package/dist/signer/ckb/signerCkbScriptReadonly.d.ts.map +0 -1
  274. package/dist/signer/ckb/signerCkbScriptReadonly.js +0 -78
  275. package/dist/signer/ckb/verifyCkbSecp256k1.d.ts +0 -11
  276. package/dist/signer/ckb/verifyCkbSecp256k1.d.ts.map +0 -1
  277. package/dist/signer/ckb/verifyCkbSecp256k1.js +0 -22
  278. package/dist/signer/ckb/verifyJoyId.d.ts +0 -6
  279. package/dist/signer/ckb/verifyJoyId.d.ts.map +0 -1
  280. package/dist/signer/ckb/verifyJoyId.js +0 -16
  281. package/dist/signer/doge/index.d.ts +0 -5
  282. package/dist/signer/doge/index.d.ts.map +0 -1
  283. package/dist/signer/doge/index.js +0 -4
  284. package/dist/signer/doge/signerDoge.d.ts +0 -52
  285. package/dist/signer/doge/signerDoge.d.ts.map +0 -1
  286. package/dist/signer/doge/signerDoge.js +0 -82
  287. package/dist/signer/doge/signerDogeAddressReadonly.d.ts +0 -41
  288. package/dist/signer/doge/signerDogeAddressReadonly.d.ts.map +0 -1
  289. package/dist/signer/doge/signerDogeAddressReadonly.js +0 -45
  290. package/dist/signer/doge/signerDogePrivateKey.d.ts +0 -52
  291. package/dist/signer/doge/signerDogePrivateKey.d.ts.map +0 -1
  292. package/dist/signer/doge/signerDogePrivateKey.js +0 -68
  293. package/dist/signer/doge/verify.d.ts +0 -17
  294. package/dist/signer/doge/verify.d.ts.map +0 -1
  295. package/dist/signer/doge/verify.js +0 -29
  296. package/dist/signer/dummy/alwaysError.d.ts +0 -12
  297. package/dist/signer/dummy/alwaysError.d.ts.map +0 -1
  298. package/dist/signer/dummy/alwaysError.js +0 -13
  299. package/dist/signer/dummy/dummy.d.ts +0 -15
  300. package/dist/signer/dummy/dummy.d.ts.map +0 -1
  301. package/dist/signer/dummy/dummy.js +0 -22
  302. package/dist/signer/dummy/index.d.ts +0 -4
  303. package/dist/signer/dummy/index.d.ts.map +0 -1
  304. package/dist/signer/dummy/index.js +0 -3
  305. package/dist/signer/dummy/openLink.d.ts +0 -12
  306. package/dist/signer/dummy/openLink.d.ts.map +0 -1
  307. package/dist/signer/dummy/openLink.js +0 -13
  308. package/dist/signer/evm/index.d.ts +0 -4
  309. package/dist/signer/evm/index.d.ts.map +0 -1
  310. package/dist/signer/evm/index.js +0 -3
  311. package/dist/signer/evm/signerEvm.d.ts +0 -59
  312. package/dist/signer/evm/signerEvm.d.ts.map +0 -1
  313. package/dist/signer/evm/signerEvm.js +0 -139
  314. package/dist/signer/evm/signerEvmAddressReadonly.d.ts +0 -47
  315. package/dist/signer/evm/signerEvmAddressReadonly.d.ts.map +0 -1
  316. package/dist/signer/evm/signerEvmAddressReadonly.js +0 -51
  317. package/dist/signer/evm/verify.d.ts +0 -6
  318. package/dist/signer/evm/verify.d.ts.map +0 -1
  319. package/dist/signer/evm/verify.js +0 -9
  320. package/dist/signer/index.d.ts +0 -8
  321. package/dist/signer/index.d.ts.map +0 -1
  322. package/dist/signer/index.js +0 -7
  323. package/dist/signer/nostr/index.d.ts +0 -5
  324. package/dist/signer/nostr/index.d.ts.map +0 -1
  325. package/dist/signer/nostr/index.js +0 -4
  326. package/dist/signer/nostr/signerNostr.d.ts +0 -72
  327. package/dist/signer/nostr/signerNostr.d.ts.map +0 -1
  328. package/dist/signer/nostr/signerNostr.js +0 -96
  329. package/dist/signer/nostr/signerNostrPrivateKey.d.ts +0 -14
  330. package/dist/signer/nostr/signerNostrPrivateKey.d.ts.map +0 -1
  331. package/dist/signer/nostr/signerNostrPrivateKey.js +0 -34
  332. package/dist/signer/nostr/signerNostrPublicKeyReadonly.d.ts +0 -15
  333. package/dist/signer/nostr/signerNostrPublicKeyReadonly.d.ts.map +0 -1
  334. package/dist/signer/nostr/signerNostrPublicKeyReadonly.js +0 -26
  335. package/dist/signer/nostr/verify.d.ts +0 -9
  336. package/dist/signer/nostr/verify.d.ts.map +0 -1
  337. package/dist/signer/nostr/verify.js +0 -55
  338. package/dist/signer/signer/index.d.ts +0 -256
  339. package/dist/signer/signer/index.d.ts.map +0 -1
  340. package/dist/signer/signer/index.js +0 -305
  341. package/dist/utils/index.d.ts +0 -97
  342. package/dist/utils/index.d.ts.map +0 -1
  343. package/dist/utils/index.js +0 -55
  344. package/dist.commonjs/address/address.advanced.d.ts +0 -65
  345. package/dist.commonjs/address/address.advanced.d.ts.map +0 -1
  346. package/dist.commonjs/address/address.advanced.js +0 -152
  347. package/dist.commonjs/address/advanced.d.ts +0 -2
  348. package/dist.commonjs/address/advanced.d.ts.map +0 -1
  349. package/dist.commonjs/address/advanced.js +0 -17
  350. package/dist.commonjs/address/index.d.ts +0 -58
  351. package/dist.commonjs/address/index.d.ts.map +0 -1
  352. package/dist.commonjs/address/index.js +0 -82
  353. package/dist.commonjs/advanced.d.ts.map +0 -1
  354. package/dist.commonjs/advancedBarrel.d.ts.map +0 -1
  355. package/dist.commonjs/barrel.d.ts.map +0 -1
  356. package/dist.commonjs/bytes/advanced.d.ts +0 -6
  357. package/dist.commonjs/bytes/advanced.d.ts.map +0 -1
  358. package/dist.commonjs/bytes/advanced.js +0 -2
  359. package/dist.commonjs/bytes/index.d.ts +0 -112
  360. package/dist.commonjs/bytes/index.d.ts.map +0 -1
  361. package/dist.commonjs/bytes/index.js +0 -163
  362. package/dist.commonjs/ckb/advanced.d.ts +0 -3
  363. package/dist.commonjs/ckb/advanced.d.ts.map +0 -1
  364. package/dist.commonjs/ckb/advanced.js +0 -18
  365. package/dist.commonjs/ckb/hash.d.ts +0 -18
  366. package/dist.commonjs/ckb/hash.d.ts.map +0 -1
  367. package/dist.commonjs/ckb/hash.js +0 -22
  368. package/dist.commonjs/ckb/index.d.ts +0 -6
  369. package/dist.commonjs/ckb/index.d.ts.map +0 -1
  370. package/dist.commonjs/ckb/index.js +0 -21
  371. package/dist.commonjs/ckb/script.advanced.d.ts +0 -5
  372. package/dist.commonjs/ckb/script.advanced.d.ts.map +0 -1
  373. package/dist.commonjs/ckb/script.advanced.js +0 -16
  374. package/dist.commonjs/ckb/script.d.ts +0 -156
  375. package/dist.commonjs/ckb/script.d.ts.map +0 -1
  376. package/dist.commonjs/ckb/script.js +0 -190
  377. package/dist.commonjs/ckb/transaction.advanced.d.ts +0 -5
  378. package/dist.commonjs/ckb/transaction.advanced.d.ts.map +0 -1
  379. package/dist.commonjs/ckb/transaction.advanced.js +0 -12
  380. package/dist.commonjs/ckb/transaction.d.ts +0 -1401
  381. package/dist.commonjs/ckb/transaction.d.ts.map +0 -1
  382. package/dist.commonjs/ckb/transaction.js +0 -1894
  383. package/dist.commonjs/ckb/transactionErrors.d.ts +0 -15
  384. package/dist.commonjs/ckb/transactionErrors.d.ts.map +0 -1
  385. package/dist.commonjs/ckb/transactionErrors.js +0 -26
  386. package/dist.commonjs/ckb/transactionLumos.d.ts +0 -30
  387. package/dist.commonjs/ckb/transactionLumos.d.ts.map +0 -1
  388. package/dist.commonjs/ckb/transactionLumos.js +0 -2
  389. package/dist.commonjs/client/advanced.d.ts +0 -6
  390. package/dist.commonjs/client/advanced.d.ts.map +0 -1
  391. package/dist.commonjs/client/advanced.js +0 -21
  392. package/dist.commonjs/client/cache/advanced.d.ts +0 -2
  393. package/dist.commonjs/client/cache/advanced.d.ts.map +0 -1
  394. package/dist.commonjs/client/cache/advanced.js +0 -17
  395. package/dist.commonjs/client/cache/cache.d.ts +0 -98
  396. package/dist.commonjs/client/cache/cache.d.ts.map +0 -1
  397. package/dist.commonjs/client/cache/cache.js +0 -143
  398. package/dist.commonjs/client/cache/index.d.ts +0 -3
  399. package/dist.commonjs/client/cache/index.d.ts.map +0 -1
  400. package/dist.commonjs/client/cache/index.js +0 -18
  401. package/dist.commonjs/client/cache/memory.advanced.d.ts +0 -52
  402. package/dist.commonjs/client/cache/memory.advanced.d.ts.map +0 -1
  403. package/dist.commonjs/client/cache/memory.advanced.js +0 -158
  404. package/dist.commonjs/client/cache/memory.d.ts +0 -53
  405. package/dist.commonjs/client/cache/memory.d.ts.map +0 -1
  406. package/dist.commonjs/client/cache/memory.js +0 -152
  407. package/dist.commonjs/client/client.d.ts +0 -107
  408. package/dist.commonjs/client/client.d.ts.map +0 -1
  409. package/dist.commonjs/client/client.js +0 -332
  410. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts +0 -4
  411. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +0 -1
  412. package/dist.commonjs/client/clientPublicMainnet.advanced.js +0 -405
  413. package/dist.commonjs/client/clientPublicMainnet.d.ts +0 -17
  414. package/dist.commonjs/client/clientPublicMainnet.d.ts.map +0 -1
  415. package/dist.commonjs/client/clientPublicMainnet.js +0 -47
  416. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +0 -4
  417. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +0 -1
  418. package/dist.commonjs/client/clientPublicTestnet.advanced.js +0 -415
  419. package/dist.commonjs/client/clientPublicTestnet.d.ts +0 -17
  420. package/dist.commonjs/client/clientPublicTestnet.d.ts.map +0 -1
  421. package/dist.commonjs/client/clientPublicTestnet.js +0 -47
  422. package/dist.commonjs/client/clientTypes.advanced.d.ts +0 -25
  423. package/dist.commonjs/client/clientTypes.advanced.d.ts.map +0 -1
  424. package/dist.commonjs/client/clientTypes.advanced.js +0 -10
  425. package/dist.commonjs/client/clientTypes.d.ts +0 -335
  426. package/dist.commonjs/client/clientTypes.d.ts.map +0 -1
  427. package/dist.commonjs/client/clientTypes.js +0 -251
  428. package/dist.commonjs/client/index.d.ts +0 -8
  429. package/dist.commonjs/client/index.d.ts.map +0 -1
  430. package/dist.commonjs/client/index.js +0 -23
  431. package/dist.commonjs/client/jsonRpc/advanced.d.ts +0 -3
  432. package/dist.commonjs/client/jsonRpc/advanced.d.ts.map +0 -1
  433. package/dist.commonjs/client/jsonRpc/advanced.js +0 -18
  434. package/dist.commonjs/client/jsonRpc/client.d.ts +0 -160
  435. package/dist.commonjs/client/jsonRpc/client.d.ts.map +0 -1
  436. package/dist.commonjs/client/jsonRpc/client.js +0 -227
  437. package/dist.commonjs/client/jsonRpc/index.d.ts +0 -2
  438. package/dist.commonjs/client/jsonRpc/index.d.ts.map +0 -1
  439. package/dist.commonjs/client/jsonRpc/index.js +0 -17
  440. package/dist.commonjs/client/jsonRpc/transformers.d.ts +0 -51
  441. package/dist.commonjs/client/jsonRpc/transformers.d.ts.map +0 -1
  442. package/dist.commonjs/client/jsonRpc/transformers.js +0 -251
  443. package/dist.commonjs/client/jsonRpc/types.d.ts +0 -101
  444. package/dist.commonjs/client/jsonRpc/types.d.ts.map +0 -1
  445. package/dist.commonjs/client/jsonRpc/types.js +0 -2
  446. package/dist.commonjs/client/knownScript.d.ts +0 -27
  447. package/dist.commonjs/client/knownScript.d.ts.map +0 -1
  448. package/dist.commonjs/client/knownScript.js +0 -31
  449. package/dist.commonjs/fixedPoint/index.d.ts +0 -55
  450. package/dist.commonjs/fixedPoint/index.d.ts.map +0 -1
  451. package/dist.commonjs/fixedPoint/index.js +0 -73
  452. package/dist.commonjs/hasher/advanced.d.ts +0 -2
  453. package/dist.commonjs/hasher/advanced.d.ts.map +0 -1
  454. package/dist.commonjs/hasher/advanced.js +0 -4
  455. package/dist.commonjs/hasher/hasher.d.ts +0 -35
  456. package/dist.commonjs/hasher/hasher.d.ts.map +0 -1
  457. package/dist.commonjs/hasher/hasher.js +0 -2
  458. package/dist.commonjs/hasher/hasherCkb.d.ts +0 -57
  459. package/dist.commonjs/hasher/hasherCkb.d.ts.map +0 -1
  460. package/dist.commonjs/hasher/hasherCkb.js +0 -75
  461. package/dist.commonjs/hasher/hasherKeecak256.d.ts +0 -41
  462. package/dist.commonjs/hasher/hasherKeecak256.d.ts.map +0 -1
  463. package/dist.commonjs/hasher/hasherKeecak256.js +0 -50
  464. package/dist.commonjs/hasher/index.d.ts +0 -4
  465. package/dist.commonjs/hasher/index.d.ts.map +0 -1
  466. package/dist.commonjs/hasher/index.js +0 -19
  467. package/dist.commonjs/hex/index.d.ts +0 -27
  468. package/dist.commonjs/hex/index.d.ts.map +0 -1
  469. package/dist.commonjs/hex/index.js +0 -20
  470. package/dist.commonjs/index.d.ts.map +0 -1
  471. package/dist.commonjs/jsonRpc/advanced.d.ts +0 -2
  472. package/dist.commonjs/jsonRpc/advanced.d.ts.map +0 -1
  473. package/dist.commonjs/jsonRpc/advanced.js +0 -17
  474. package/dist.commonjs/jsonRpc/index.d.ts +0 -2
  475. package/dist.commonjs/jsonRpc/index.d.ts.map +0 -1
  476. package/dist.commonjs/jsonRpc/index.js +0 -17
  477. package/dist.commonjs/jsonRpc/requestor.d.ts +0 -49
  478. package/dist.commonjs/jsonRpc/requestor.d.ts.map +0 -1
  479. package/dist.commonjs/jsonRpc/requestor.js +0 -113
  480. package/dist.commonjs/jsonRpc/transports/advanced.d.ts +0 -6
  481. package/dist.commonjs/jsonRpc/transports/advanced.d.ts.map +0 -1
  482. package/dist.commonjs/jsonRpc/transports/advanced.js +0 -21
  483. package/dist.commonjs/jsonRpc/transports/factory.d.ts +0 -6
  484. package/dist.commonjs/jsonRpc/transports/factory.d.ts.map +0 -1
  485. package/dist.commonjs/jsonRpc/transports/factory.js +0 -11
  486. package/dist.commonjs/jsonRpc/transports/fallback.d.ts +0 -8
  487. package/dist.commonjs/jsonRpc/transports/fallback.d.ts.map +0 -1
  488. package/dist.commonjs/jsonRpc/transports/fallback.js +0 -26
  489. package/dist.commonjs/jsonRpc/transports/http.d.ts +0 -8
  490. package/dist.commonjs/jsonRpc/transports/http.d.ts.map +0 -1
  491. package/dist.commonjs/jsonRpc/transports/http.js +0 -26
  492. package/dist.commonjs/jsonRpc/transports/transport.d.ts +0 -18
  493. package/dist.commonjs/jsonRpc/transports/transport.d.ts.map +0 -1
  494. package/dist.commonjs/jsonRpc/transports/transport.js +0 -2
  495. package/dist.commonjs/jsonRpc/transports/webSocket.d.ts +0 -11
  496. package/dist.commonjs/jsonRpc/transports/webSocket.d.ts.map +0 -1
  497. package/dist.commonjs/jsonRpc/transports/webSocket.js +0 -94
  498. package/dist.commonjs/keystore/index.d.ts +0 -31
  499. package/dist.commonjs/keystore/index.d.ts.map +0 -1
  500. package/dist.commonjs/keystore/index.js +0 -110
  501. package/dist.commonjs/molecule/barrel.d.ts +0 -4
  502. package/dist.commonjs/molecule/barrel.d.ts.map +0 -1
  503. package/dist.commonjs/molecule/barrel.js +0 -19
  504. package/dist.commonjs/molecule/codec.d.ts +0 -146
  505. package/dist.commonjs/molecule/codec.d.ts.map +0 -1
  506. package/dist.commonjs/molecule/codec.js +0 -531
  507. package/dist.commonjs/molecule/entity.d.ts +0 -112
  508. package/dist.commonjs/molecule/entity.d.ts.map +0 -1
  509. package/dist.commonjs/molecule/entity.js +0 -147
  510. package/dist.commonjs/molecule/index.d.ts +0 -2
  511. package/dist.commonjs/molecule/index.d.ts.map +0 -1
  512. package/dist.commonjs/molecule/index.js +0 -37
  513. package/dist.commonjs/molecule/predefined.d.ts +0 -57
  514. package/dist.commonjs/molecule/predefined.d.ts.map +0 -1
  515. package/dist.commonjs/molecule/predefined.js +0 -87
  516. package/dist.commonjs/num/index.d.ts +0 -148
  517. package/dist.commonjs/num/index.d.ts.map +0 -1
  518. package/dist.commonjs/num/index.js +0 -216
  519. package/dist.commonjs/signer/btc/index.d.ts +0 -4
  520. package/dist.commonjs/signer/btc/index.d.ts.map +0 -1
  521. package/dist.commonjs/signer/btc/index.js +0 -19
  522. package/dist.commonjs/signer/btc/signerBtc.d.ts +0 -59
  523. package/dist.commonjs/signer/btc/signerBtc.d.ts.map +0 -1
  524. package/dist.commonjs/signer/btc/signerBtc.js +0 -87
  525. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts +0 -55
  526. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts.map +0 -1
  527. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.js +0 -65
  528. package/dist.commonjs/signer/btc/verify.d.ts +0 -40
  529. package/dist.commonjs/signer/btc/verify.d.ts.map +0 -1
  530. package/dist.commonjs/signer/btc/verify.js +0 -80
  531. package/dist.commonjs/signer/ckb/index.d.ts +0 -6
  532. package/dist.commonjs/signer/ckb/index.d.ts.map +0 -1
  533. package/dist.commonjs/signer/ckb/index.js +0 -21
  534. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.d.ts +0 -16
  535. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.d.ts.map +0 -1
  536. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.js +0 -46
  537. package/dist.commonjs/signer/ckb/signerCkbPublicKey.d.ts +0 -27
  538. package/dist.commonjs/signer/ckb/signerCkbPublicKey.d.ts.map +0 -1
  539. package/dist.commonjs/signer/ckb/signerCkbPublicKey.js +0 -105
  540. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts +0 -68
  541. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts.map +0 -1
  542. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.js +0 -82
  543. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.d.ts +0 -11
  544. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.d.ts.map +0 -1
  545. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.js +0 -26
  546. package/dist.commonjs/signer/ckb/verifyJoyId.d.ts +0 -6
  547. package/dist.commonjs/signer/ckb/verifyJoyId.d.ts.map +0 -1
  548. package/dist.commonjs/signer/ckb/verifyJoyId.js +0 -19
  549. package/dist.commonjs/signer/doge/index.d.ts +0 -5
  550. package/dist.commonjs/signer/doge/index.d.ts.map +0 -1
  551. package/dist.commonjs/signer/doge/index.js +0 -20
  552. package/dist.commonjs/signer/doge/signerDoge.d.ts +0 -52
  553. package/dist.commonjs/signer/doge/signerDoge.d.ts.map +0 -1
  554. package/dist.commonjs/signer/doge/signerDoge.js +0 -89
  555. package/dist.commonjs/signer/doge/signerDogeAddressReadonly.d.ts +0 -41
  556. package/dist.commonjs/signer/doge/signerDogeAddressReadonly.d.ts.map +0 -1
  557. package/dist.commonjs/signer/doge/signerDogeAddressReadonly.js +0 -49
  558. package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts +0 -52
  559. package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts.map +0 -1
  560. package/dist.commonjs/signer/doge/signerDogePrivateKey.js +0 -72
  561. package/dist.commonjs/signer/doge/verify.d.ts +0 -17
  562. package/dist.commonjs/signer/doge/verify.d.ts.map +0 -1
  563. package/dist.commonjs/signer/doge/verify.js +0 -33
  564. package/dist.commonjs/signer/dummy/alwaysError.d.ts +0 -12
  565. package/dist.commonjs/signer/dummy/alwaysError.d.ts.map +0 -1
  566. package/dist.commonjs/signer/dummy/alwaysError.js +0 -17
  567. package/dist.commonjs/signer/dummy/dummy.d.ts +0 -15
  568. package/dist.commonjs/signer/dummy/dummy.d.ts.map +0 -1
  569. package/dist.commonjs/signer/dummy/dummy.js +0 -26
  570. package/dist.commonjs/signer/dummy/index.d.ts +0 -4
  571. package/dist.commonjs/signer/dummy/index.d.ts.map +0 -1
  572. package/dist.commonjs/signer/dummy/index.js +0 -19
  573. package/dist.commonjs/signer/dummy/openLink.d.ts +0 -12
  574. package/dist.commonjs/signer/dummy/openLink.d.ts.map +0 -1
  575. package/dist.commonjs/signer/dummy/openLink.js +0 -17
  576. package/dist.commonjs/signer/evm/index.d.ts +0 -4
  577. package/dist.commonjs/signer/evm/index.d.ts.map +0 -1
  578. package/dist.commonjs/signer/evm/index.js +0 -19
  579. package/dist.commonjs/signer/evm/signerEvm.d.ts +0 -59
  580. package/dist.commonjs/signer/evm/signerEvm.d.ts.map +0 -1
  581. package/dist.commonjs/signer/evm/signerEvm.js +0 -143
  582. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts +0 -47
  583. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts.map +0 -1
  584. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.js +0 -55
  585. package/dist.commonjs/signer/evm/verify.d.ts +0 -6
  586. package/dist.commonjs/signer/evm/verify.d.ts.map +0 -1
  587. package/dist.commonjs/signer/evm/verify.js +0 -12
  588. package/dist.commonjs/signer/index.d.ts +0 -8
  589. package/dist.commonjs/signer/index.d.ts.map +0 -1
  590. package/dist.commonjs/signer/index.js +0 -23
  591. package/dist.commonjs/signer/nostr/index.d.ts +0 -5
  592. package/dist.commonjs/signer/nostr/index.d.ts.map +0 -1
  593. package/dist.commonjs/signer/nostr/index.js +0 -20
  594. package/dist.commonjs/signer/nostr/signerNostr.d.ts +0 -72
  595. package/dist.commonjs/signer/nostr/signerNostr.d.ts.map +0 -1
  596. package/dist.commonjs/signer/nostr/signerNostr.js +0 -100
  597. package/dist.commonjs/signer/nostr/signerNostrPrivateKey.d.ts +0 -14
  598. package/dist.commonjs/signer/nostr/signerNostrPrivateKey.d.ts.map +0 -1
  599. package/dist.commonjs/signer/nostr/signerNostrPrivateKey.js +0 -38
  600. package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.d.ts +0 -15
  601. package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.d.ts.map +0 -1
  602. package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.js +0 -30
  603. package/dist.commonjs/signer/nostr/verify.d.ts +0 -9
  604. package/dist.commonjs/signer/nostr/verify.d.ts.map +0 -1
  605. package/dist.commonjs/signer/nostr/verify.js +0 -60
  606. package/dist.commonjs/signer/signer/index.d.ts +0 -256
  607. package/dist.commonjs/signer/signer/index.d.ts.map +0 -1
  608. package/dist.commonjs/signer/signer/index.js +0 -311
  609. package/dist.commonjs/utils/index.d.ts +0 -97
  610. package/dist.commonjs/utils/index.d.ts.map +0 -1
  611. package/dist.commonjs/utils/index.js +0 -62
  612. /package/{dist/molecule/barrel.js → src/codec/index.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { Bytes, bytesEq, BytesLike } from "../bytes/index.js";
2
2
  import { hashCkb } from "../hasher/index.js";
3
- import { Hex } from "../hex/index.js";
3
+ import { Hex, hexFrom } from "../hex/index.js";
4
4
  import { Constructor } from "../utils/index.js";
5
5
  import { Codec } from "./codec.js";
6
6
 
@@ -32,7 +32,7 @@ export abstract class Entity {
32
32
  */
33
33
  static encode(_: SubTypeLike): Bytes {
34
34
  throw new Error(
35
- "encode not implemented, use @ccc.mol.codec to decorate your type",
35
+ "encode not implemented, use @ccc.codec to decorate your type",
36
36
  );
37
37
  }
38
38
  /**
@@ -45,7 +45,7 @@ export abstract class Entity {
45
45
  */
46
46
  static decode(_: BytesLike): SubType {
47
47
  throw new Error(
48
- "decode not implemented, use @ccc.mol.codec to decorate your type",
48
+ "decode not implemented, use @ccc.codec to decorate your type",
49
49
  );
50
50
  }
51
51
 
@@ -59,7 +59,7 @@ export abstract class Entity {
59
59
  */
60
60
  static fromBytes(_bytes: BytesLike): SubType {
61
61
  throw new Error(
62
- "fromBytes not implemented, use @ccc.mol.codec to decorate your type",
62
+ "fromBytes not implemented, use @ccc.codec to decorate your type",
63
63
  );
64
64
  }
65
65
 
@@ -92,9 +92,7 @@ export abstract class Entity {
92
92
  * @returns A clone of the entity
93
93
  */
94
94
  clone(): SubType {
95
- return (this.constructor as typeof Impl).fromBytes(
96
- this.toBytes(),
97
- ) as unknown as SubType;
95
+ return (this.constructor as typeof Impl).fromBytes(this.toBytes());
98
96
  }
99
97
 
100
98
  /**
@@ -126,6 +124,15 @@ export abstract class Entity {
126
124
  hash(): Hex {
127
125
  return hashCkb(this.toBytes());
128
126
  }
127
+
128
+ /**
129
+ * Convert the entity to a full-byte untrimmed Hex representation
130
+ * @public
131
+ * @returns The entity full-byte untrimmed hexadecimal representation
132
+ */
133
+ toHex(): Hex {
134
+ return hexFrom(this.toBytes());
135
+ }
129
136
  }
130
137
 
131
138
  /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment */
@@ -139,6 +146,7 @@ export abstract class Entity {
139
146
 
140
147
  abstract toBytes(): Bytes;
141
148
  abstract hash(): Hex;
149
+ abstract toHex(): Hex;
142
150
  abstract clone(): Entity;
143
151
  }
144
152
 
@@ -146,14 +154,14 @@ export abstract class Entity {
146
154
  * A class decorator to add methods implementation on the {@link Entity.Base} class
147
155
  * @example
148
156
  * ```typescript
149
- * @mol.codec(
157
+ * @codec(
150
158
  * mol.table({
151
159
  * codeHash: mol.Byte32,
152
160
  * hashType: HashTypeCodec,
153
161
  * args: mol.Bytes,
154
162
  * }),
155
163
  * )
156
- * export class Script extends mol.Entity.Base<ScriptLike, Script>() {
164
+ * export class Script extends Entity.Base<ScriptLike, Script>() {
157
165
  * from(scriptLike: ScriptLike): Script {}
158
166
  * }
159
167
  * ```
@@ -176,7 +184,7 @@ export function codec<
176
184
  Constructor.byteLength = codec.byteLength;
177
185
  if (Constructor.encode === undefined) {
178
186
  Constructor.encode = function (encodable: TypeLike) {
179
- return codec.encode(encodable);
187
+ return codec.encode(Constructor.from(encodable));
180
188
  };
181
189
  }
182
190
  if (Constructor.decode === undefined) {
@@ -0,0 +1,145 @@
1
+ import { Bytes, bytesFrom, BytesLike } from "../bytes/index.js";
2
+ import { Hex, hexFrom, HexLike } from "../hex/index.js";
3
+ import {
4
+ Num,
5
+ numBeFromBytes,
6
+ numBeToBytes,
7
+ numFromBytes,
8
+ NumLike,
9
+ numToBytes,
10
+ } from "../num/index.js";
11
+ import { Codec } from "./codec.js";
12
+
13
+ /**
14
+ * Create a codec to deal with fixed LE or BE bytes.
15
+ * @param byteLength
16
+ * @param littleEndian
17
+ */
18
+ export function codecUint(
19
+ byteLength: number,
20
+ littleEndian = false,
21
+ ): Codec<NumLike, Num> {
22
+ return Codec.from({
23
+ byteLength,
24
+ encode: (numLike) => {
25
+ if (littleEndian) {
26
+ return numToBytes(numLike, byteLength);
27
+ } else {
28
+ return numBeToBytes(numLike, byteLength);
29
+ }
30
+ },
31
+ decode: (buffer) => {
32
+ if (littleEndian) {
33
+ return numFromBytes(buffer);
34
+ } else {
35
+ return numBeFromBytes(buffer);
36
+ }
37
+ },
38
+ });
39
+ }
40
+
41
+ /**
42
+ * Create a codec to deal with fixed LE or BE bytes.
43
+ * @param byteLength
44
+ * @param littleEndian
45
+ */
46
+ export function codecUintNumber(
47
+ byteLength: number,
48
+ littleEndian = false,
49
+ ): Codec<NumLike, number> {
50
+ if (byteLength > 4) {
51
+ throw new Error("uintNumber: byteLength must be less than or equal to 4");
52
+ }
53
+ return codecUint(byteLength, littleEndian).map({
54
+ outMap: (num) => Number(num),
55
+ });
56
+ }
57
+
58
+ /**
59
+ * Create a codec for padding bytes.
60
+ * The padding bytes are zero-filled when encoding and ignored when decoding.
61
+ * @param byteLength The length of the padding in bytes.
62
+ */
63
+ export function codecPadding(
64
+ byteLength: number,
65
+ ): Codec<void | undefined | null, void> {
66
+ return Codec.from({
67
+ byteLength,
68
+ encode: () => {
69
+ return new Uint8Array(byteLength);
70
+ },
71
+ decode: () => {},
72
+ });
73
+ }
74
+
75
+ export const CodecRaw: Codec<BytesLike, Bytes> = Codec.from({
76
+ encode: (value) => bytesFrom(value),
77
+ decode: (buffer) => bytesFrom(buffer),
78
+ });
79
+
80
+ export const CodecBytes: Codec<HexLike, Hex> = Codec.from({
81
+ encode: (value) => bytesFrom(value),
82
+ decode: (buffer) => hexFrom(buffer),
83
+ });
84
+
85
+ export const CodecUint8 = codecUintNumber(1, true);
86
+
87
+ export const CodecUint16LE = codecUintNumber(2, true);
88
+ export const CodecUint16BE = codecUintNumber(2);
89
+ export const CodecUint16 = CodecUint16LE;
90
+
91
+ export const CodecUint32LE = codecUintNumber(4, true);
92
+ export const CodecUint32BE = codecUintNumber(4);
93
+ export const CodecUint32 = CodecUint32LE;
94
+
95
+ export const CodecUint64LE = codecUint(8, true);
96
+ export const CodecUint64BE = codecUint(8);
97
+ export const CodecUint64 = CodecUint64LE;
98
+
99
+ export const CodecUint128LE = codecUint(16, true);
100
+ export const CodecUint128BE = codecUint(16);
101
+ export const CodecUint128 = CodecUint128LE;
102
+
103
+ export const CodecUint256LE = codecUint(32, true);
104
+ export const CodecUint256BE = codecUint(32);
105
+ export const CodecUint256 = CodecUint256LE;
106
+
107
+ export const CodecUint512LE = codecUint(64, true);
108
+ export const CodecUint512BE = codecUint(64);
109
+ export const CodecUint512 = CodecUint512LE;
110
+
111
+ export const CodecBool: Codec<boolean> = Codec.from({
112
+ byteLength: 1,
113
+ encode: (value) => bytesFrom(value ? [1] : [0]),
114
+ decode: (buffer) => bytesFrom(buffer)[0] !== 0,
115
+ });
116
+
117
+ export const CodecByte: Codec<HexLike, Hex> = Codec.from({
118
+ byteLength: 1,
119
+ encode: (value) => bytesFrom(value),
120
+ decode: (buffer) => hexFrom(buffer),
121
+ });
122
+
123
+ export const CodecByte4: Codec<HexLike, Hex> = Codec.from({
124
+ byteLength: 4,
125
+ encode: (value) => bytesFrom(value),
126
+ decode: (buffer) => hexFrom(buffer),
127
+ });
128
+
129
+ export const CodecByte8: Codec<HexLike, Hex> = Codec.from({
130
+ byteLength: 8,
131
+ encode: (value) => bytesFrom(value),
132
+ decode: (buffer) => hexFrom(buffer),
133
+ });
134
+
135
+ export const CodecByte16: Codec<HexLike, Hex> = Codec.from({
136
+ byteLength: 16,
137
+ encode: (value) => bytesFrom(value),
138
+ decode: (buffer) => hexFrom(buffer),
139
+ });
140
+
141
+ export const CodecByte32: Codec<HexLike, Hex> = Codec.from({
142
+ byteLength: 32,
143
+ encode: (value) => bytesFrom(value),
144
+ decode: (buffer) => hexFrom(buffer),
145
+ });
@@ -1 +1,3 @@
1
- export const CKB_BLAKE2B_PERSONAL = "ckb-default-hash";
1
+ import { bytesFrom } from "../bytes/index.js";
2
+
3
+ export const CKB_BLAKE2B_PERSONAL = bytesFrom("ckb-default-hash", "utf8");
@@ -1,4 +1,4 @@
1
- import { blake2b } from "@noble/hashes/blake2b";
1
+ import { blake2b } from "@noble/hashes/blake2.js";
2
2
  import { BytesLike, bytesFrom } from "../bytes/index.js";
3
3
  import { Hex, hexFrom } from "../hex/index.js";
4
4
  import { CKB_BLAKE2B_PERSONAL } from "./advanced.js";
@@ -1,4 +1,4 @@
1
- import { keccak_256 } from "@noble/hashes/sha3";
1
+ import { keccak_256 } from "@noble/hashes/sha3.js";
2
2
  import { BytesLike, bytesFrom } from "../bytes/index.js";
3
3
  import { Hex, hexFrom } from "../hex/index.js";
4
4
  import { Hasher } from "./hasher.js";
@@ -1,7 +1,7 @@
1
- import { ctr } from "@noble/ciphers/aes";
2
- import { scryptAsync } from "@noble/hashes/scrypt";
3
- import { keccak_256 } from "@noble/hashes/sha3";
4
- import { randomBytes } from "@noble/hashes/utils";
1
+ import { ctr } from "@noble/ciphers/aes.js";
2
+ import { scryptAsync } from "@noble/hashes/scrypt.js";
3
+ import { keccak_256 } from "@noble/hashes/sha3.js";
4
+ import { randomBytes } from "@noble/hashes/utils.js";
5
5
  import { Bytes, BytesLike, bytesConcat, bytesFrom } from "../bytes/index.js";
6
6
  import { hexFrom } from "../hex/index.js";
7
7
 
@@ -1,3 +1,12 @@
1
+ export {
2
+ /**
3
+ * @deprecated Use ccc.Entity instead
4
+ */
5
+ Entity,
6
+ /**
7
+ * @deprecated Use ccc.codec instead
8
+ */
9
+ codec,
10
+ } from "../codec/entity.js";
1
11
  export * from "./codec.js";
2
- export * from "./entity.js";
3
12
  export * from "./predefined.js";
@@ -1,105 +1,45 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
 
3
3
  import {
4
- Bytes,
5
4
  bytesConcat,
6
5
  bytesConcatTo,
7
6
  bytesFrom,
8
7
  BytesLike,
9
8
  } from "../bytes/index.js";
10
9
  import {
11
- Num,
12
- numBeFromBytes,
13
- numBeToBytes,
14
- numFromBytes,
15
- NumLike,
16
- numToBytes,
17
- } from "../num/index.js";
18
-
19
- export type CodecLike<Encodable, Decoded = Encodable> = {
20
- readonly encode: (encodable: Encodable) => Bytes;
21
- readonly decode: (
22
- decodable: BytesLike,
23
- config?: { isExtraFieldIgnored?: boolean },
24
- ) => Decoded;
25
- readonly byteLength?: number;
26
- };
27
- export class Codec<Encodable, Decoded = Encodable> {
28
- constructor(
29
- public readonly encode: (encodable: Encodable) => Bytes,
30
- public readonly decode: (
31
- decodable: BytesLike,
32
- config?: { isExtraFieldIgnored?: boolean }, // This is equivalent to "compatible" in the Rust implementation of Molecule.
33
- ) => Decoded,
34
- public readonly byteLength?: number, // if provided, treat codec as fixed length
35
- ) {}
36
-
37
- static from<Encodable, Decoded = Encodable>({
38
- encode,
39
- decode,
40
- byteLength,
41
- }: CodecLike<Encodable, Decoded>): Codec<Encodable, Decoded> {
42
- return new Codec(
43
- (encodable: Encodable) => {
44
- const encoded = encode(encodable);
45
- if (byteLength !== undefined && encoded.byteLength !== byteLength) {
46
- throw new Error(
47
- `Codec.encode: expected byte length ${byteLength}, got ${encoded.byteLength}`,
48
- );
49
- }
50
- return encoded;
51
- },
52
- (decodable, config) => {
53
- const decodableBytes = bytesFrom(decodable);
54
- if (
55
- byteLength !== undefined &&
56
- decodableBytes.byteLength !== byteLength
57
- ) {
58
- throw new Error(
59
- `Codec.decode: expected byte length ${byteLength}, got ${decodableBytes.byteLength}`,
60
- );
61
- }
62
- return decode(decodable, config);
63
- },
64
- byteLength,
65
- );
66
- }
67
-
68
- map<NewEncodable = Encodable, NewDecoded = Decoded>({
69
- inMap,
70
- outMap,
71
- }: {
72
- inMap?: (encodable: NewEncodable) => Encodable;
73
- outMap?: (decoded: Decoded) => NewDecoded;
74
- }): Codec<NewEncodable, NewDecoded> {
75
- return new Codec(
76
- (encodable) =>
77
- this.encode((inMap ? inMap(encodable) : encodable) as Encodable),
78
- (buffer, config) =>
79
- (outMap
80
- ? outMap(this.decode(buffer, config))
81
- : this.decode(buffer, config)) as NewDecoded,
82
- this.byteLength,
83
- );
84
- }
85
-
86
- mapIn<NewEncodable>(
87
- map: (encodable: NewEncodable) => Encodable,
88
- ): Codec<NewEncodable, Decoded> {
89
- return this.map({ inMap: map });
90
- }
91
-
92
- mapOut<NewDecoded>(
93
- map: (decoded: Decoded) => NewDecoded,
94
- ): Codec<Encodable, NewDecoded> {
95
- return this.map({ outMap: map });
96
- }
97
- }
98
-
99
- export type EncodableType<T extends CodecLike<any, any>> =
100
- T extends CodecLike<infer Encodable, unknown> ? Encodable : never;
101
- export type DecodedType<T extends CodecLike<any, any>> =
102
- T extends CodecLike<any, infer Decoded> ? Decoded : never;
10
+ Codec,
11
+ CodecLike,
12
+ DecodedType,
13
+ EncodableType,
14
+ } from "../codec/index.js";
15
+ import { numFromBytes, NumLike, numToBytes } from "../num/index.js";
16
+
17
+ export {
18
+ /**
19
+ * @deprecated Use ccc.Codec instead
20
+ */
21
+ Codec,
22
+ /**
23
+ * @deprecated Use ccc.codecUint instead
24
+ */
25
+ codecUint as uint,
26
+ /**
27
+ * @deprecated Use ccc.codecUintNumber instead
28
+ */
29
+ codecUintNumber as uintNumber,
30
+ /**
31
+ * @deprecated Use ccc.CodecLike instead
32
+ */
33
+ type CodecLike,
34
+ /**
35
+ * @deprecated Use ccc.DecodedType instead
36
+ */
37
+ type DecodedType,
38
+ /**
39
+ * @deprecated Use ccc.EncodableType instead
40
+ */
41
+ type EncodableType,
42
+ } from "../codec/index.js";
103
43
 
104
44
  function uint32To(numLike: NumLike) {
105
45
  return numToBytes(numLike, 4);
@@ -131,7 +71,7 @@ export function fixedItemVec<Encodable, Decoded>(
131
71
  }
132
72
  return bytesFrom(concatted);
133
73
  } catch (e: unknown) {
134
- throw new Error(`fixedItemVec(${e?.toString()})`);
74
+ throw new Error("fixedItemVec failed", { cause: e });
135
75
  }
136
76
  },
137
77
  decode(buffer, config) {
@@ -161,7 +101,7 @@ export function fixedItemVec<Encodable, Decoded>(
161
101
  }
162
102
  return decodedArray;
163
103
  } catch (e) {
164
- throw new Error(`fixedItemVec(${e?.toString()})`);
104
+ throw new Error("fixedItemVec failed", { cause: e });
165
105
  }
166
106
  },
167
107
  });
@@ -191,7 +131,7 @@ export function dynItemVec<Encodable, Decoded>(
191
131
  const packedTotalSize = uint32To(header.length + body.length + 4);
192
132
  return bytesConcat(packedTotalSize, header, body);
193
133
  } catch (e) {
194
- throw new Error(`dynItemVec(${e?.toString()})`);
134
+ throw new Error("dynItemVec failed", { cause: e });
195
135
  }
196
136
  },
197
137
  decode(buffer, config) {
@@ -228,7 +168,7 @@ export function dynItemVec<Encodable, Decoded>(
228
168
  }
229
169
  return decodedArray;
230
170
  } catch (e) {
231
- throw new Error(`dynItemVec(${e?.toString()})`);
171
+ throw new Error("dynItemVec failed", { cause: e });
232
172
  }
233
173
  },
234
174
  });
@@ -265,7 +205,7 @@ export function option<Encodable, Decoded>(
265
205
  try {
266
206
  return innerCodec.encode(userDefinedOrNull);
267
207
  } catch (e) {
268
- throw new Error(`option(${e?.toString()})`);
208
+ throw new Error("option failed", { cause: e });
269
209
  }
270
210
  },
271
211
  decode(buffer, config) {
@@ -276,7 +216,7 @@ export function option<Encodable, Decoded>(
276
216
  try {
277
217
  return innerCodec.decode(buffer, config);
278
218
  } catch (e) {
279
- throw new Error(`option(${e?.toString()})`);
219
+ throw new Error("option failed", { cause: e });
280
220
  }
281
221
  },
282
222
  });
@@ -296,7 +236,7 @@ export function byteVec<Encodable, Decoded>(
296
236
  const byteLength = uint32To(payload.byteLength);
297
237
  return bytesConcat(byteLength, payload);
298
238
  } catch (e) {
299
- throw new Error(`byteVec(${e?.toString()})`);
239
+ throw new Error("byteVec failed", { cause: e });
300
240
  }
301
241
  },
302
242
  decode(buffer, config) {
@@ -315,7 +255,7 @@ export function byteVec<Encodable, Decoded>(
315
255
  try {
316
256
  return codec.decode(value.slice(4), config);
317
257
  } catch (e: unknown) {
318
- throw new Error(`byteVec(${e?.toString()})`);
258
+ throw new Error("byteVec failed", { cause: e });
319
259
  }
320
260
  },
321
261
  });
@@ -373,7 +313,7 @@ export function table<
373
313
  bytesConcatTo(body, encoded);
374
314
  offset += encoded.byteLength;
375
315
  } catch (e: unknown) {
376
- throw new Error(`table.${key}(${e?.toString()})`);
316
+ throw new Error(`table.${key} failed`, { cause: e });
377
317
  }
378
318
  }
379
319
 
@@ -431,7 +371,7 @@ export function table<
431
371
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
432
372
  Object.assign(object, { [field]: codec.decode(payload, config) });
433
373
  } catch (e: unknown) {
434
- throw new Error(`table.${field}(${e?.toString()})`);
374
+ throw new Error(`table.${field} failed`, { cause: e });
435
375
  }
436
376
  }
437
377
  return object as Decoded;
@@ -532,7 +472,7 @@ export function union<T extends Record<string, CodecLike<any, any>>>(
532
472
  const body = codec.encode(value);
533
473
  return bytesConcat(header, body);
534
474
  } catch (e: unknown) {
535
- throw new Error(`union.(${typeStr})(${e?.toString()})`);
475
+ throw new Error(`union.${typeStr} failed`, { cause: e });
536
476
  }
537
477
  },
538
478
  decode(buffer, config) {
@@ -598,7 +538,7 @@ export function struct<
598
538
  const encoded = codecLayout[key].encode((object as any)[key]);
599
539
  bytesConcatTo(bytes, encoded);
600
540
  } catch (e: unknown) {
601
- throw new Error(`struct.${key}(${e?.toString()})`);
541
+ throw new Error(`struct.${key} failed`, { cause: e });
602
542
  }
603
543
  }
604
544
 
@@ -614,7 +554,7 @@ export function struct<
614
554
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
615
555
  Object.assign(object, { [key]: codec.decode(payload, config) });
616
556
  } catch (e: unknown) {
617
- throw new Error(`struct.${key}(${(e as Error).toString()})`);
557
+ throw new Error(`struct.${key} failed`, { cause: e });
618
558
  }
619
559
  offset = offset + codec.byteLength!;
620
560
  });
@@ -649,7 +589,7 @@ export function array<Encodable, Decoded>(
649
589
 
650
590
  return bytesFrom(bytes);
651
591
  } catch (e: unknown) {
652
- throw new Error(`array(${e?.toString()})`);
592
+ throw new Error("array failed", { cause: e });
653
593
  }
654
594
  },
655
595
  decode(buffer, config) {
@@ -668,53 +608,8 @@ export function array<Encodable, Decoded>(
668
608
  }
669
609
  return result;
670
610
  } catch (e: unknown) {
671
- throw new Error(`array(${e?.toString()})`);
672
- }
673
- },
674
- });
675
- }
676
-
677
- /**
678
- * Create a codec to deal with fixed LE or BE bytes.
679
- * @param byteLength
680
- * @param littleEndian
681
- */
682
- export function uint(
683
- byteLength: number,
684
- littleEndian = false,
685
- ): Codec<NumLike, Num> {
686
- return Codec.from({
687
- byteLength,
688
- encode: (numLike) => {
689
- if (littleEndian) {
690
- return numToBytes(numLike, byteLength);
691
- } else {
692
- return numBeToBytes(numLike, byteLength);
611
+ throw new Error("array failed", { cause: e });
693
612
  }
694
613
  },
695
- decode: (buffer) => {
696
- if (littleEndian) {
697
- return numFromBytes(buffer);
698
- } else {
699
- return numBeFromBytes(buffer);
700
- }
701
- },
702
- });
703
- }
704
-
705
- /**
706
- * Create a codec to deal with fixed LE or BE bytes.
707
- * @param byteLength
708
- * @param littleEndian
709
- */
710
- export function uintNumber(
711
- byteLength: number,
712
- littleEndian = false,
713
- ): Codec<NumLike, number> {
714
- if (byteLength > 4) {
715
- throw new Error("uintNumber: byteLength must be less than or equal to 4");
716
- }
717
- return uint(byteLength, littleEndian).map({
718
- outMap: (num) => Number(num),
719
614
  });
720
615
  }