@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,531 +0,0 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Codec = void 0;
5
- exports.fixedItemVec = fixedItemVec;
6
- exports.dynItemVec = dynItemVec;
7
- exports.vector = vector;
8
- exports.option = option;
9
- exports.byteVec = byteVec;
10
- exports.table = table;
11
- exports.union = union;
12
- exports.struct = struct;
13
- exports.array = array;
14
- exports.uint = uint;
15
- exports.uintNumber = uintNumber;
16
- const index_js_1 = require("../bytes/index.js");
17
- const index_js_2 = require("../num/index.js");
18
- class Codec {
19
- constructor(encode, decode, byteLength) {
20
- this.encode = encode;
21
- this.decode = decode;
22
- this.byteLength = byteLength;
23
- }
24
- static from({ encode, decode, byteLength, }) {
25
- return new Codec((encodable) => {
26
- const encoded = encode(encodable);
27
- if (byteLength !== undefined && encoded.byteLength !== byteLength) {
28
- throw new Error(`Codec.encode: expected byte length ${byteLength}, got ${encoded.byteLength}`);
29
- }
30
- return encoded;
31
- }, (decodable, config) => {
32
- const decodableBytes = (0, index_js_1.bytesFrom)(decodable);
33
- if (byteLength !== undefined &&
34
- decodableBytes.byteLength !== byteLength) {
35
- throw new Error(`Codec.decode: expected byte length ${byteLength}, got ${decodableBytes.byteLength}`);
36
- }
37
- return decode(decodable, config);
38
- }, byteLength);
39
- }
40
- map({ inMap, outMap, }) {
41
- return new Codec((encodable) => this.encode((inMap ? inMap(encodable) : encodable)), (buffer, config) => (outMap
42
- ? outMap(this.decode(buffer, config))
43
- : this.decode(buffer, config)), this.byteLength);
44
- }
45
- mapIn(map) {
46
- return this.map({ inMap: map });
47
- }
48
- mapOut(map) {
49
- return this.map({ outMap: map });
50
- }
51
- }
52
- exports.Codec = Codec;
53
- function uint32To(numLike) {
54
- return (0, index_js_2.numToBytes)(numLike, 4);
55
- }
56
- function uint32From(bytesLike) {
57
- return Number((0, index_js_2.numFromBytes)(bytesLike));
58
- }
59
- /**
60
- * Vector with fixed size item codec
61
- * @param itemCodec fixed-size vector item codec
62
- */
63
- function fixedItemVec(itemCodec) {
64
- const itemByteLength = itemCodec.byteLength;
65
- if (itemByteLength === undefined) {
66
- throw new Error("fixedItemVec: itemCodec requires a byte length");
67
- }
68
- return Codec.from({
69
- encode(userDefinedItems) {
70
- try {
71
- const concatted = [];
72
- (0, index_js_1.bytesConcatTo)(concatted, uint32To(userDefinedItems.length));
73
- for (const item of userDefinedItems) {
74
- (0, index_js_1.bytesConcatTo)(concatted, itemCodec.encode(item));
75
- }
76
- return (0, index_js_1.bytesFrom)(concatted);
77
- }
78
- catch (e) {
79
- throw new Error(`fixedItemVec(${e?.toString()})`);
80
- }
81
- },
82
- decode(buffer, config) {
83
- const value = (0, index_js_1.bytesFrom)(buffer);
84
- if (value.byteLength < 4) {
85
- throw new Error(`fixedItemVec: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
86
- }
87
- const itemCount = uint32From(value.slice(0, 4));
88
- const byteLength = 4 + itemCount * itemByteLength;
89
- if (value.byteLength !== byteLength) {
90
- throw new Error(`fixedItemVec: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
91
- }
92
- try {
93
- const decodedArray = [];
94
- for (let offset = 4; offset < byteLength; offset += itemByteLength) {
95
- decodedArray.push(itemCodec.decode(value.slice(offset, offset + itemByteLength), config));
96
- }
97
- return decodedArray;
98
- }
99
- catch (e) {
100
- throw new Error(`fixedItemVec(${e?.toString()})`);
101
- }
102
- },
103
- });
104
- }
105
- /**
106
- * Vector with dynamic size item codec, you can create a recursive vector with this function
107
- * @param itemCodec the vector item codec. It can be fixed-size or dynamic-size.
108
- */
109
- function dynItemVec(itemCodec) {
110
- return Codec.from({
111
- encode(userDefinedItems) {
112
- try {
113
- let offset = 4 + userDefinedItems.length * 4;
114
- const header = [];
115
- const body = [];
116
- for (const item of userDefinedItems) {
117
- const encoded = itemCodec.encode(item);
118
- (0, index_js_1.bytesConcatTo)(header, uint32To(offset));
119
- (0, index_js_1.bytesConcatTo)(body, encoded);
120
- offset += encoded.byteLength;
121
- }
122
- const packedTotalSize = uint32To(header.length + body.length + 4);
123
- return (0, index_js_1.bytesConcat)(packedTotalSize, header, body);
124
- }
125
- catch (e) {
126
- throw new Error(`dynItemVec(${e?.toString()})`);
127
- }
128
- },
129
- decode(buffer, config) {
130
- const value = (0, index_js_1.bytesFrom)(buffer);
131
- if (value.byteLength < 4) {
132
- throw new Error(`dynItemVec: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
133
- }
134
- const byteLength = uint32From(value.slice(0, 4));
135
- if (byteLength !== value.byteLength) {
136
- throw new Error(`dynItemVec: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
137
- }
138
- if (byteLength === 4) {
139
- return [];
140
- }
141
- const offset = uint32From(value.slice(4, 8));
142
- const itemCount = (offset - 4) / 4;
143
- const offsets = Array.from(new Array(itemCount), (_, index) => uint32From(value.slice(4 + index * 4, 8 + index * 4)));
144
- offsets.push(byteLength);
145
- try {
146
- const decodedArray = [];
147
- for (let index = 0; index < offsets.length - 1; index++) {
148
- const start = offsets[index];
149
- const end = offsets[index + 1];
150
- const itemBuffer = value.slice(start, end);
151
- decodedArray.push(itemCodec.decode(itemBuffer, config));
152
- }
153
- return decodedArray;
154
- }
155
- catch (e) {
156
- throw new Error(`dynItemVec(${e?.toString()})`);
157
- }
158
- },
159
- });
160
- }
161
- /**
162
- * General vector codec, if `itemCodec` is fixed size type, it will create a fixvec codec, otherwise a dynvec codec will be created.
163
- * @param itemCodec
164
- */
165
- function vector(itemCodec) {
166
- if (itemCodec.byteLength !== undefined) {
167
- return fixedItemVec(itemCodec);
168
- }
169
- return dynItemVec(itemCodec);
170
- }
171
- /**
172
- * Option is a dynamic-size type.
173
- * Serializing an option depends on whether it is empty or not:
174
- * - if it's empty, there is zero bytes (the size is 0).
175
- * - if it's not empty, just serialize the inner item (the size is same as the inner item's size).
176
- * @param innerCodec
177
- */
178
- function option(innerCodec) {
179
- return Codec.from({
180
- encode(userDefinedOrNull) {
181
- if (userDefinedOrNull == null) {
182
- return (0, index_js_1.bytesFrom)([]);
183
- }
184
- try {
185
- return innerCodec.encode(userDefinedOrNull);
186
- }
187
- catch (e) {
188
- throw new Error(`option(${e?.toString()})`);
189
- }
190
- },
191
- decode(buffer, config) {
192
- const value = (0, index_js_1.bytesFrom)(buffer);
193
- if (value.byteLength === 0) {
194
- return undefined;
195
- }
196
- try {
197
- return innerCodec.decode(buffer, config);
198
- }
199
- catch (e) {
200
- throw new Error(`option(${e?.toString()})`);
201
- }
202
- },
203
- });
204
- }
205
- /**
206
- * Wrap the encoded value with a fixed-length buffer
207
- * @param codec
208
- */
209
- function byteVec(codec) {
210
- return Codec.from({
211
- encode(userDefined) {
212
- try {
213
- const payload = (0, index_js_1.bytesFrom)(codec.encode(userDefined));
214
- const byteLength = uint32To(payload.byteLength);
215
- return (0, index_js_1.bytesConcat)(byteLength, payload);
216
- }
217
- catch (e) {
218
- throw new Error(`byteVec(${e?.toString()})`);
219
- }
220
- },
221
- decode(buffer, config) {
222
- const value = (0, index_js_1.bytesFrom)(buffer);
223
- if (value.byteLength < 4) {
224
- throw new Error(`byteVec: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
225
- }
226
- const byteLength = uint32From(value.slice(0, 4));
227
- if (byteLength !== value.byteLength - 4) {
228
- throw new Error(`byteVec: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
229
- }
230
- try {
231
- return codec.decode(value.slice(4), config);
232
- }
233
- catch (e) {
234
- throw new Error(`byteVec(${e?.toString()})`);
235
- }
236
- },
237
- });
238
- }
239
- /**
240
- * Table is a dynamic-size type. It can be considered as a dynvec but the length is fixed.
241
- * @param codecLayout
242
- */
243
- function table(codecLayout) {
244
- const keys = Object.keys(codecLayout);
245
- return Codec.from({
246
- encode(object) {
247
- let offset = 4 + keys.length * 4;
248
- const header = [];
249
- const body = [];
250
- for (const key of keys) {
251
- try {
252
- const encoded = codecLayout[key].encode(object[key]);
253
- (0, index_js_1.bytesConcatTo)(header, uint32To(offset));
254
- (0, index_js_1.bytesConcatTo)(body, encoded);
255
- offset += encoded.byteLength;
256
- }
257
- catch (e) {
258
- throw new Error(`table.${key}(${e?.toString()})`);
259
- }
260
- }
261
- const packedTotalSize = uint32To(header.length + body.length + 4);
262
- return (0, index_js_1.bytesConcat)(packedTotalSize, header, body);
263
- },
264
- decode(buffer, config) {
265
- const value = (0, index_js_1.bytesFrom)(buffer);
266
- if (value.byteLength < 4) {
267
- throw new Error(`table: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
268
- }
269
- const byteLength = uint32From(value.slice(0, 4));
270
- const headerLength = uint32From(value.slice(4, 8));
271
- const actualFieldCount = (headerLength - 4) / 4;
272
- if (byteLength !== value.byteLength) {
273
- throw new Error(`table: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
274
- }
275
- if (actualFieldCount < keys.length) {
276
- throw new Error(`table: invalid field count, expected ${keys.length}, but got ${actualFieldCount}`);
277
- }
278
- if (actualFieldCount > keys.length && !config?.isExtraFieldIgnored) {
279
- throw new Error(`table: invalid field count, expected ${keys.length}, but got ${actualFieldCount}, and extra fields are not allowed in the current configuration. If you want to ignore extra fields, set isExtraFieldIgnored to true.`);
280
- }
281
- const offsets = keys.map((_, index) => uint32From(value.slice(4 + index * 4, 8 + index * 4)));
282
- // If there are extra fields, add the last offset to the offsets array
283
- if (actualFieldCount > keys.length) {
284
- offsets.push(uint32From(value.slice(4 + keys.length * 4, 8 + keys.length * 4)));
285
- }
286
- else {
287
- // If there are no extra fields, add the byte length to the offsets array
288
- offsets.push(byteLength);
289
- }
290
- const object = {};
291
- for (let i = 0; i < offsets.length - 1; i++) {
292
- const start = offsets[i];
293
- const end = offsets[i + 1];
294
- const field = keys[i];
295
- const codec = codecLayout[field];
296
- const payload = value.slice(start, end);
297
- try {
298
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
299
- Object.assign(object, { [field]: codec.decode(payload, config) });
300
- }
301
- catch (e) {
302
- throw new Error(`table.${field}(${e?.toString()})`);
303
- }
304
- }
305
- return object;
306
- },
307
- });
308
- }
309
- /**
310
- * Constructs a union codec that can serialize and deserialize values tagged with a type identifier.
311
- *
312
- * If all variants have the same fixed size, the resulting union codec is fixed-size (header + payload).
313
- * Otherwise, it falls back to a dynamic-size codec.
314
- *
315
- * Serialization format:
316
- * 1. 4-byte little-endian unsigned integer for the variant index.
317
- * 2. Encoded bytes of the selected variant.
318
- *
319
- * @typeParam T
320
- * A record mapping variant names to codecs.
321
- * @param codecLayout
322
- * An object whose keys are variant names and values are codecs for each variant.
323
- * @param fields
324
- * Optional mapping from variant names to custom numeric IDs. If omitted, the index
325
- * of each variant in `codecLayout` is used as its ID.
326
- *
327
- *
328
- * @example
329
- * // Dynamic union without custom numeric IDs
330
- * union({ cafe: Uint8, bee: Uint16 })
331
- *
332
- * // Dynamic union with custom numeric IDs
333
- * union({ cafe: Uint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
334
- *
335
- * // Fixed-size union without custom numeric IDs
336
- * const PaddedUint8 = struct({ data : u8, padding : u8 })
337
- * union({ cafe: PaddedUint8, bee: Uint16 });
338
- *
339
- * // Fixed-size union with custom numeric IDs
340
- * union({ cafe: PaddedUint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
341
- */
342
- function union(codecLayout, fields) {
343
- const entries = Object.entries(codecLayout);
344
- // Determine if all variants have a fixed and equal byteLength.
345
- let byteLength;
346
- if (entries.length > 0) {
347
- const firstLen = entries[0][1].byteLength;
348
- if (firstLen !== undefined &&
349
- entries.every(([, { byteLength: len }]) => len === firstLen)) {
350
- // Add 4 bytes for the type header
351
- byteLength = firstLen + 4;
352
- }
353
- }
354
- return Codec.from({
355
- byteLength,
356
- encode({ type, value }) {
357
- const typeStr = type.toString();
358
- const codec = codecLayout[typeStr];
359
- if (!codec) {
360
- throw new Error(`union: invalid type, expected ${entries.map((e) => e[0]).toString()}, but got ${typeStr}`);
361
- }
362
- const fieldId = fields
363
- ? (fields[typeStr] ?? -1)
364
- : entries.findIndex((e) => e[0] === typeStr);
365
- if (fieldId < 0) {
366
- throw new Error(`union: invalid field id ${fieldId} of ${typeStr}`);
367
- }
368
- const header = uint32To(fieldId);
369
- try {
370
- const body = codec.encode(value);
371
- return (0, index_js_1.bytesConcat)(header, body);
372
- }
373
- catch (e) {
374
- throw new Error(`union.(${typeStr})(${e?.toString()})`);
375
- }
376
- },
377
- decode(buffer, config) {
378
- const value = (0, index_js_1.bytesFrom)(buffer);
379
- const fieldIndex = uint32From(value.slice(0, 4));
380
- const keys = Object.keys(codecLayout);
381
- const field = (() => {
382
- if (!fields) {
383
- return keys[fieldIndex];
384
- }
385
- const entry = Object.entries(fields).find(([, id]) => id === fieldIndex);
386
- return entry?.[0];
387
- })();
388
- if (!field) {
389
- if (!fields) {
390
- throw new Error(`union: unknown union field index ${fieldIndex}, only ${keys.toString()} are allowed`);
391
- }
392
- const fieldKeys = Object.keys(fields);
393
- throw new Error(`union: unknown union field index ${fieldIndex}, only ${fieldKeys.toString()} and ${keys.toString()} are allowed`);
394
- }
395
- return {
396
- type: field,
397
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
398
- value: codecLayout[field].decode(value.slice(4), config),
399
- };
400
- },
401
- });
402
- }
403
- /**
404
- * Struct is a fixed-size type: all fields in struct are fixed-size and it has a fixed quantity of fields.
405
- * The size of a struct is the sum of all fields' size.
406
- * @param codecLayout a object contains all fields' codec
407
- */
408
- function struct(codecLayout) {
409
- const codecArray = Object.values(codecLayout);
410
- const keys = Object.keys(codecLayout);
411
- return Codec.from({
412
- byteLength: codecArray.reduce((acc, codec) => {
413
- if (codec.byteLength === undefined) {
414
- throw new Error("struct: all fields must be fixed-size");
415
- }
416
- return acc + codec.byteLength;
417
- }, 0),
418
- encode(object) {
419
- const bytes = [];
420
- for (const key of keys) {
421
- try {
422
- const encoded = codecLayout[key].encode(object[key]);
423
- (0, index_js_1.bytesConcatTo)(bytes, encoded);
424
- }
425
- catch (e) {
426
- throw new Error(`struct.${key}(${e?.toString()})`);
427
- }
428
- }
429
- return (0, index_js_1.bytesFrom)(bytes);
430
- },
431
- decode(buffer, config) {
432
- const value = (0, index_js_1.bytesFrom)(buffer);
433
- const object = {};
434
- let offset = 0;
435
- Object.entries(codecLayout).forEach(([key, codec]) => {
436
- const payload = value.slice(offset, offset + codec.byteLength);
437
- try {
438
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
439
- Object.assign(object, { [key]: codec.decode(payload, config) });
440
- }
441
- catch (e) {
442
- throw new Error(`struct.${key}(${e.toString()})`);
443
- }
444
- offset = offset + codec.byteLength;
445
- });
446
- return object;
447
- },
448
- });
449
- }
450
- /**
451
- * The array is a fixed-size type: it has a fixed-size inner type and a fixed length.
452
- * The size of an array is the size of inner type times the length.
453
- * @param itemCodec the fixed-size array item codec
454
- * @param itemCount
455
- */
456
- function array(itemCodec, itemCount) {
457
- if (itemCodec.byteLength === undefined) {
458
- throw new Error("array: itemCodec requires a byte length");
459
- }
460
- const byteLength = itemCodec.byteLength * itemCount;
461
- return Codec.from({
462
- byteLength,
463
- encode(items) {
464
- try {
465
- const bytes = [];
466
- for (const item of items) {
467
- (0, index_js_1.bytesConcatTo)(bytes, itemCodec.encode(item));
468
- }
469
- return (0, index_js_1.bytesFrom)(bytes);
470
- }
471
- catch (e) {
472
- throw new Error(`array(${e?.toString()})`);
473
- }
474
- },
475
- decode(buffer, config) {
476
- const value = (0, index_js_1.bytesFrom)(buffer);
477
- if (value.byteLength != byteLength) {
478
- throw new Error(`array: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
479
- }
480
- try {
481
- const result = [];
482
- for (let i = 0; i < value.byteLength; i += itemCodec.byteLength) {
483
- result.push(itemCodec.decode(value.slice(i, i + itemCodec.byteLength), config));
484
- }
485
- return result;
486
- }
487
- catch (e) {
488
- throw new Error(`array(${e?.toString()})`);
489
- }
490
- },
491
- });
492
- }
493
- /**
494
- * Create a codec to deal with fixed LE or BE bytes.
495
- * @param byteLength
496
- * @param littleEndian
497
- */
498
- function uint(byteLength, littleEndian = false) {
499
- return Codec.from({
500
- byteLength,
501
- encode: (numLike) => {
502
- if (littleEndian) {
503
- return (0, index_js_2.numToBytes)(numLike, byteLength);
504
- }
505
- else {
506
- return (0, index_js_2.numBeToBytes)(numLike, byteLength);
507
- }
508
- },
509
- decode: (buffer) => {
510
- if (littleEndian) {
511
- return (0, index_js_2.numFromBytes)(buffer);
512
- }
513
- else {
514
- return (0, index_js_2.numBeFromBytes)(buffer);
515
- }
516
- },
517
- });
518
- }
519
- /**
520
- * Create a codec to deal with fixed LE or BE bytes.
521
- * @param byteLength
522
- * @param littleEndian
523
- */
524
- function uintNumber(byteLength, littleEndian = false) {
525
- if (byteLength > 4) {
526
- throw new Error("uintNumber: byteLength must be less than or equal to 4");
527
- }
528
- return uint(byteLength, littleEndian).map({
529
- outMap: (num) => Number(num),
530
- });
531
- }
@@ -1,112 +0,0 @@
1
- import { Bytes, BytesLike } from "../bytes/index.js";
2
- import { Hex } from "../hex/index.js";
3
- import { Constructor } from "../utils/index.js";
4
- import { Codec } from "./codec.js";
5
- /**
6
- * The base class of CCC to create a serializable instance. This should be used with the {@link codec} decorator.
7
- * @public
8
- */
9
- export declare abstract class Entity {
10
- /**
11
- * Generate a base class of CCC to create a serializable instance.
12
- * This should be used with the {@link codec} decorator.
13
- * @public
14
- */
15
- static Base<SubTypeLike, SubType = SubTypeLike>(): (abstract new () => {
16
- /**
17
- * Convert the entity to bytes
18
- * @public
19
- * @returns The bytes representation of the entity
20
- */
21
- toBytes(): Bytes;
22
- /**
23
- * Create a clone of the entity
24
- * @public
25
- * @returns A clone of the entity
26
- */
27
- clone(): SubType;
28
- /**
29
- * Check if the entity is equal to another entity
30
- * @public
31
- * @param other - The other entity to compare with
32
- * @returns True if the entities are equal, false otherwise
33
- */
34
- eq(other: SubTypeLike): boolean;
35
- /**
36
- * Calculate the hash of the entity
37
- * @public
38
- * @returns The hash of the entity
39
- */
40
- hash(): Hex;
41
- }) & {
42
- /**
43
- * The bytes length of the entity, if it is fixed, otherwise undefined
44
- * @public
45
- * @static
46
- */
47
- byteLength?: number;
48
- /**
49
- * Encode the entity into bytes
50
- * @public
51
- * @static
52
- * @param _ - The entity to encode
53
- * @returns The encoded bytes
54
- * @throws Will throw an error if the entity is not serializable
55
- */
56
- encode(_: SubTypeLike): Bytes;
57
- /**
58
- * Decode the entity from bytes
59
- * @public
60
- * @static
61
- * @param _ - The bytes to decode
62
- * @returns The decoded entity
63
- * @throws Will throw an error if the entity is not serializable
64
- */
65
- decode(_: BytesLike): SubType;
66
- /**
67
- * Create an entity from bytes
68
- * @public
69
- * @static
70
- * @param _ - The bytes to create the entity from
71
- * @returns The created entity
72
- * @throws Will throw an error if the entity is not serializable
73
- */
74
- fromBytes(_bytes: BytesLike): SubType;
75
- /**
76
- * Create an entity from a serializable object
77
- * @public
78
- * @static
79
- * @param _ - The serializable object to create the entity from
80
- * @returns The created entity
81
- * @throws Will throw an error if the entity is not serializable
82
- */
83
- from(_: SubTypeLike): SubType;
84
- };
85
- abstract toBytes(): Bytes;
86
- abstract hash(): Hex;
87
- abstract clone(): Entity;
88
- }
89
- /**
90
- * A class decorator to add methods implementation on the {@link Entity.Base} class
91
- * @example
92
- * ```typescript
93
- * @mol.codec(
94
- * mol.table({
95
- * codeHash: mol.Byte32,
96
- * hashType: HashTypeCodec,
97
- * args: mol.Bytes,
98
- * }),
99
- * )
100
- * export class Script extends mol.Entity.Base<ScriptLike, Script>() {
101
- * from(scriptLike: ScriptLike): Script {}
102
- * }
103
- * ```
104
- */
105
- export declare function codec<Encodable, TypeLike extends Encodable, Decoded extends TypeLike>(codec: Codec<Encodable, Decoded>): <Type extends TypeLike, ConstructorType extends Constructor<Type> & {
106
- from(decoded: TypeLike): Type;
107
- byteLength?: number;
108
- encode(encodable: TypeLike): Bytes;
109
- decode(bytesLike: BytesLike): Type;
110
- fromBytes(bytes: BytesLike): Type;
111
- }>(Constructor: ConstructorType, ..._: unknown[]) => ConstructorType;
112
- //# sourceMappingURL=entity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/molecule/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,8BAAsB,MAAM;IAC1B;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW;QA6D1C;;;;WAIG;mBACQ,KAAK;QAMhB;;;;WAIG;iBACM,OAAO;QAMhB;;;;;WAKG;kBACO,WAAW,GAAG,OAAO;QAe/B;;;;WAIG;gBACK,GAAG;;QA3GX;;;;WAIG;qBACiB,MAAM;QAC1B;;;;;;;WAOG;kBACc,WAAW,GAAG,KAAK;QAKpC;;;;;;;WAOG;kBACc,SAAS,GAAG,OAAO;QAMpC;;;;;;;WAOG;0BACsB,SAAS,GAAG,OAAO;QAM5C;;;;;;;WAOG;gBACY,WAAW,GAAG,OAAO;;IAkExC,QAAQ,CAAC,OAAO,IAAI,KAAK;IACzB,QAAQ,CAAC,IAAI,IAAI,GAAG;IACpB,QAAQ,CAAC,KAAK,IAAI,MAAM;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CACnB,SAAS,EACT,QAAQ,SAAS,SAAS,EAC1B,OAAO,SAAS,QAAQ,EACxB,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,IAE9B,IAAI,SAAS,QAAQ,EACrB,eAAe,SAAS,WAAW,CAAC,IAAI,CAAC,GAAG;IAC1C,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC,EACD,aAAa,eAAe,EAAE,GAAG,GAAG,OAAO,EAAE,qBAoBhD"}