@ckb-ccc/core 1.12.4 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (611) hide show
  1. package/CHANGELOG.md +51 -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 +24 -1
  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
@@ -0,0 +1,108 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
3
+ import { Bytes, bytesFrom, BytesLike } from "../bytes/index.js";
4
+
5
+ export type CodecLike<Encodable, Decoded = Encodable> = {
6
+ readonly encode: (encodable: Encodable) => Bytes;
7
+ readonly decode: (
8
+ decodable: BytesLike,
9
+ config?: { isExtraFieldIgnored?: boolean },
10
+ ) => Decoded;
11
+ readonly byteLength?: number;
12
+ };
13
+ export class Codec<Encodable, Decoded = Encodable> {
14
+ constructor(
15
+ public readonly encode: (encodable: Encodable) => Bytes,
16
+ public readonly decode: (
17
+ decodable: BytesLike,
18
+ config?: { isExtraFieldIgnored?: boolean }, // This is equivalent to "compatible" in the Rust implementation of Molecule.
19
+ ) => Decoded,
20
+ public readonly byteLength?: number, // if provided, treat codec as fixed length
21
+ ) {}
22
+
23
+ encodeOr<T>(encodable: Encodable, fallback: T): Bytes | T {
24
+ try {
25
+ return this.encode(encodable);
26
+ } catch (_) {
27
+ return fallback;
28
+ }
29
+ }
30
+
31
+ decodeOr<T>(
32
+ decodable: BytesLike,
33
+ fallback: T,
34
+ config?: { isExtraFieldIgnored?: boolean }, // This is equivalent to "compatible" in the Rust implementation of Molecule.
35
+ ) {
36
+ try {
37
+ return this.decode(decodable, config);
38
+ } catch (_) {
39
+ return fallback;
40
+ }
41
+ }
42
+
43
+ static from<Encodable, Decoded = Encodable>({
44
+ encode,
45
+ decode,
46
+ byteLength,
47
+ }: CodecLike<Encodable, Decoded>): Codec<Encodable, Decoded> {
48
+ return new Codec(
49
+ (encodable: Encodable) => {
50
+ const encoded = encode(encodable);
51
+ if (byteLength !== undefined && encoded.byteLength !== byteLength) {
52
+ throw new Error(
53
+ `Codec.encode: expected byte length ${byteLength}, got ${encoded.byteLength}`,
54
+ );
55
+ }
56
+ return encoded;
57
+ },
58
+ (decodable, config) => {
59
+ const decodableBytes = bytesFrom(decodable);
60
+ if (
61
+ byteLength !== undefined &&
62
+ decodableBytes.byteLength !== byteLength
63
+ ) {
64
+ throw new Error(
65
+ `Codec.decode: expected byte length ${byteLength}, got ${decodableBytes.byteLength}`,
66
+ );
67
+ }
68
+ return decode(decodable, config);
69
+ },
70
+ byteLength,
71
+ );
72
+ }
73
+
74
+ map<NewEncodable = Encodable, NewDecoded = Decoded>({
75
+ inMap,
76
+ outMap,
77
+ }: {
78
+ inMap?: (encodable: NewEncodable) => Encodable;
79
+ outMap?: (decoded: Decoded) => NewDecoded;
80
+ }): Codec<NewEncodable, NewDecoded> {
81
+ return new Codec(
82
+ (encodable) =>
83
+ this.encode((inMap ? inMap(encodable) : encodable) as Encodable),
84
+ (buffer, config) =>
85
+ (outMap
86
+ ? outMap(this.decode(buffer, config))
87
+ : this.decode(buffer, config)) as NewDecoded,
88
+ this.byteLength,
89
+ );
90
+ }
91
+
92
+ mapIn<NewEncodable>(
93
+ map: (encodable: NewEncodable) => Encodable,
94
+ ): Codec<NewEncodable, Decoded> {
95
+ return this.map({ inMap: map });
96
+ }
97
+
98
+ mapOut<NewDecoded>(
99
+ map: (decoded: Decoded) => NewDecoded,
100
+ ): Codec<Encodable, NewDecoded> {
101
+ return this.map({ outMap: map });
102
+ }
103
+ }
104
+
105
+ export type EncodableType<T extends CodecLike<any, any>> =
106
+ T extends CodecLike<infer Encodable, unknown> ? Encodable : never;
107
+ export type DecodedType<T extends CodecLike<any, any>> =
108
+ T extends CodecLike<any, infer Decoded> ? Decoded : never;
@@ -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
- }