@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,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
 
@@ -126,6 +126,15 @@ export abstract class Entity {
126
126
  hash(): Hex {
127
127
  return hashCkb(this.toBytes());
128
128
  }
129
+
130
+ /**
131
+ * Convert the entity to a full-byte untrimmed Hex representation
132
+ * @public
133
+ * @returns The entity full-byte untrimmed hexadecimal representation
134
+ */
135
+ toHex(): Hex {
136
+ return hexFrom(this.toBytes());
137
+ }
129
138
  }
130
139
 
131
140
  /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment */
@@ -139,6 +148,7 @@ export abstract class Entity {
139
148
 
140
149
  abstract toBytes(): Bytes;
141
150
  abstract hash(): Hex;
151
+ abstract toHex(): Hex;
142
152
  abstract clone(): Entity;
143
153
  }
144
154
 
@@ -146,14 +156,14 @@ export abstract class Entity {
146
156
  * A class decorator to add methods implementation on the {@link Entity.Base} class
147
157
  * @example
148
158
  * ```typescript
149
- * @mol.codec(
159
+ * @codec(
150
160
  * mol.table({
151
161
  * codeHash: mol.Byte32,
152
162
  * hashType: HashTypeCodec,
153
163
  * args: mol.Bytes,
154
164
  * }),
155
165
  * )
156
- * export class Script extends mol.Entity.Base<ScriptLike, Script>() {
166
+ * export class Script extends Entity.Base<ScriptLike, Script>() {
157
167
  * from(scriptLike: ScriptLike): Script {}
158
168
  * }
159
169
  * ```
@@ -176,7 +186,7 @@ export function codec<
176
186
  Constructor.byteLength = codec.byteLength;
177
187
  if (Constructor.encode === undefined) {
178
188
  Constructor.encode = function (encodable: TypeLike) {
179
- return codec.encode(encodable);
189
+ return codec.encode(Constructor.from(encodable));
180
190
  };
181
191
  }
182
192
  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);
@@ -673,48 +613,3 @@ export function array<Encodable, Decoded>(
673
613
  },
674
614
  });
675
615
  }
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);
693
- }
694
- },
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
- });
720
- }
@@ -1,91 +1,104 @@
1
1
  import { bytesFrom, bytesTo } from "../bytes/index.js";
2
- import { Hex, hexFrom, HexLike } from "../hex/index.js";
3
- import { byteVec, Codec, option, uint, uintNumber, vector } from "./codec.js";
2
+ import { Codec, CodecBytes } from "../codec/index.js";
3
+ import { Hex, HexLike } from "../hex/index.js";
4
+ import { byteVec, option, vector } from "./codec.js";
5
+
6
+ import {
7
+ CodecBool as Bool,
8
+ CodecByte as Byte,
9
+ CodecByte16 as Byte16,
10
+ CodecByte32 as Byte32,
11
+ CodecByte4 as Byte4,
12
+ CodecByte8 as Byte8,
13
+ CodecUint128 as Uint128,
14
+ CodecUint128BE as Uint128BE,
15
+ CodecUint128LE as Uint128LE,
16
+ CodecUint16 as Uint16,
17
+ CodecUint16BE as Uint16BE,
18
+ CodecUint16LE as Uint16LE,
19
+ CodecUint256 as Uint256,
20
+ CodecUint256BE as Uint256BE,
21
+ CodecUint256LE as Uint256LE,
22
+ CodecUint32 as Uint32,
23
+ CodecUint32BE as Uint32BE,
24
+ CodecUint32LE as Uint32LE,
25
+ CodecUint512 as Uint512,
26
+ CodecUint512BE as Uint512BE,
27
+ CodecUint512LE as Uint512LE,
28
+ CodecUint64 as Uint64,
29
+ CodecUint64BE as Uint64BE,
30
+ CodecUint64LE as Uint64LE,
31
+ CodecUint8 as Uint8,
32
+ } from "../codec/index.js";
33
+
34
+ export {
35
+ Bool,
36
+ Byte,
37
+ Byte16,
38
+ Byte32,
39
+ Byte4,
40
+ Byte8,
41
+ Uint128,
42
+ Uint128BE,
43
+ Uint128LE,
44
+ Uint16,
45
+ Uint16BE,
46
+ Uint16LE,
47
+ Uint256,
48
+ Uint256BE,
49
+ Uint256LE,
50
+ Uint32,
51
+ Uint32BE,
52
+ Uint32LE,
53
+ Uint512,
54
+ Uint512BE,
55
+ Uint512LE,
56
+ Uint64,
57
+ Uint64BE,
58
+ Uint64LE,
59
+ Uint8,
60
+ };
4
61
 
5
- export const Uint8 = uintNumber(1, true);
6
62
  export const Uint8Opt = option(Uint8);
7
63
  export const Uint8Vec = vector(Uint8);
8
64
 
9
- export const Uint16LE = uintNumber(2, true);
10
- export const Uint16BE = uintNumber(2);
11
- export const Uint16 = Uint16LE;
12
65
  export const Uint16Opt = option(Uint16);
13
66
  export const Uint16Vec = vector(Uint16);
14
67
 
15
- export const Uint32LE = uintNumber(4, true);
16
- export const Uint32BE = uintNumber(4);
17
- export const Uint32 = Uint32LE;
18
68
  export const Uint32Opt = option(Uint32);
19
69
  export const Uint32Vec = vector(Uint32);
20
70
 
21
- export const Uint64LE = uint(8, true);
22
- export const Uint64BE = uint(8);
23
- export const Uint64 = Uint64LE;
24
71
  export const Uint64Opt = option(Uint64);
25
72
  export const Uint64Vec = vector(Uint64);
26
73
 
27
- export const Uint128LE = uint(16, true);
28
- export const Uint128BE = uint(16);
29
- export const Uint128 = Uint128LE;
30
74
  export const Uint128Opt = option(Uint128);
31
75
  export const Uint128Vec = vector(Uint128);
32
76
 
33
- export const Uint256LE = uint(32, true);
34
- export const Uint256BE = uint(32);
35
- export const Uint256 = Uint256LE;
36
77
  export const Uint256Opt = option(Uint256);
37
78
  export const Uint256Vec = vector(Uint256);
38
79
 
39
- export const Uint512LE = uint(64, true);
40
- export const Uint512BE = uint(64);
41
- export const Uint512 = Uint512LE;
42
80
  export const Uint512Opt = option(Uint512);
43
81
  export const Uint512Vec = vector(Uint512);
44
82
 
45
- export const Bytes: Codec<HexLike, Hex> = byteVec({
46
- encode: (value) => bytesFrom(value),
47
- decode: (buffer) => hexFrom(buffer),
48
- });
83
+ export const Bytes: Codec<HexLike, Hex> = byteVec(CodecBytes);
49
84
  export const BytesOpt = option(Bytes);
50
85
  export const BytesVec = vector(Bytes);
51
86
 
52
- export const Bool: Codec<boolean> = Codec.from({
53
- byteLength: 1,
54
- encode: (value) => bytesFrom(value ? [1] : [0]),
55
- decode: (buffer) => bytesFrom(buffer)[0] !== 0,
56
- });
57
87
  export const BoolOpt = option(Bool);
58
88
  export const BoolVec = vector(Bool);
59
89
 
60
- export const Byte4: Codec<HexLike, Hex> = Codec.from({
61
- byteLength: 4,
62
- encode: (value) => bytesFrom(value),
63
- decode: (buffer) => hexFrom(buffer),
64
- });
90
+ export const ByteOpt = option(Byte);
91
+ export const ByteVec = vector(Byte);
92
+
65
93
  export const Byte4Opt = option(Byte4);
66
94
  export const Byte4Vec = vector(Byte4);
67
95
 
68
- export const Byte8: Codec<HexLike, Hex> = Codec.from({
69
- byteLength: 8,
70
- encode: (value) => bytesFrom(value),
71
- decode: (buffer) => hexFrom(buffer),
72
- });
73
96
  export const Byte8Opt = option(Byte8);
74
97
  export const Byte8Vec = vector(Byte8);
75
98
 
76
- export const Byte16: Codec<HexLike, Hex> = Codec.from({
77
- byteLength: 16,
78
- encode: (value) => bytesFrom(value),
79
- decode: (buffer) => hexFrom(buffer),
80
- });
81
99
  export const Byte16Opt = option(Byte16);
82
100
  export const Byte16Vec = vector(Byte16);
83
101
 
84
- export const Byte32: Codec<HexLike, Hex> = Codec.from({
85
- byteLength: 32,
86
- encode: (value) => bytesFrom(value),
87
- decode: (buffer) => hexFrom(buffer),
88
- });
89
102
  export const Byte32Opt = option(Byte32);
90
103
  export const Byte32Vec = vector(Byte32);
91
104
 
@@ -1,3 +1,4 @@
1
+ export * from "./psbt.js";
1
2
  export * from "./signerBtc.js";
2
3
  export * from "./signerBtcPublicKeyReadonly.js";
3
4
  export * from "./verify.js";