@alephium/web3 1.8.2 → 1.8.3-rc.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 (444) hide show
  1. package/LICENSE +165 -0
  2. package/dist/{scripts → _cjs/scripts}/check-versions.js +1 -0
  3. package/dist/_cjs/scripts/check-versions.js.map +1 -0
  4. package/dist/{scripts → _cjs/scripts}/header.js +1 -0
  5. package/dist/_cjs/scripts/header.js.map +1 -0
  6. package/dist/{src → _cjs/src}/address/address.js +1 -0
  7. package/dist/_cjs/src/address/address.js.map +1 -0
  8. package/dist/{src → _cjs/src}/address/index.js +1 -0
  9. package/dist/_cjs/src/address/index.js.map +1 -0
  10. package/dist/{src → _cjs/src}/api/api-alephium.js +1 -0
  11. package/dist/_cjs/src/api/api-alephium.js.map +1 -0
  12. package/dist/{src → _cjs/src}/api/api-explorer.js +1 -0
  13. package/dist/_cjs/src/api/api-explorer.js.map +1 -0
  14. package/dist/{src → _cjs/src}/api/explorer-provider.js +1 -0
  15. package/dist/_cjs/src/api/explorer-provider.js.map +1 -0
  16. package/dist/{src → _cjs/src}/api/index.js +1 -0
  17. package/dist/_cjs/src/api/index.js.map +1 -0
  18. package/dist/{src → _cjs/src}/api/node-provider.js +1 -0
  19. package/dist/_cjs/src/api/node-provider.js.map +1 -0
  20. package/dist/{src → _cjs/src}/api/types.js +1 -0
  21. package/dist/_cjs/src/api/types.js.map +1 -0
  22. package/dist/{src → _cjs/src}/api/utils.js +1 -0
  23. package/dist/_cjs/src/api/utils.js.map +1 -0
  24. package/dist/{src → _cjs/src}/block/block.js +1 -0
  25. package/dist/_cjs/src/block/block.js.map +1 -0
  26. package/dist/{src → _cjs/src}/block/index.js +1 -0
  27. package/dist/_cjs/src/block/index.js.map +1 -0
  28. package/dist/{src → _cjs/src}/codec/array-codec.js +1 -0
  29. package/dist/_cjs/src/codec/array-codec.js.map +1 -0
  30. package/dist/{src → _cjs/src}/codec/asset-output-codec.js +1 -0
  31. package/dist/_cjs/src/codec/asset-output-codec.js.map +1 -0
  32. package/dist/{src → _cjs/src}/codec/bigint-codec.js +1 -0
  33. package/dist/_cjs/src/codec/bigint-codec.js.map +1 -0
  34. package/dist/{src → _cjs/src}/codec/bytestring-codec.js +1 -0
  35. package/dist/_cjs/src/codec/bytestring-codec.js.map +1 -0
  36. package/dist/{src → _cjs/src}/codec/codec.js +1 -0
  37. package/dist/_cjs/src/codec/codec.js.map +1 -0
  38. package/dist/{src → _cjs/src}/codec/compact-int-codec.js +1 -0
  39. package/dist/_cjs/src/codec/compact-int-codec.js.map +1 -0
  40. package/dist/{src → _cjs/src}/codec/contract-codec.js +1 -0
  41. package/dist/_cjs/src/codec/contract-codec.js.map +1 -0
  42. package/dist/{src → _cjs/src}/codec/contract-output-codec.js +1 -0
  43. package/dist/_cjs/src/codec/contract-output-codec.js.map +1 -0
  44. package/dist/{src → _cjs/src}/codec/contract-output-ref-codec.js +1 -0
  45. package/dist/_cjs/src/codec/contract-output-ref-codec.js.map +1 -0
  46. package/dist/{src → _cjs/src}/codec/either-codec.js +1 -0
  47. package/dist/_cjs/src/codec/either-codec.js.map +1 -0
  48. package/dist/{src → _cjs/src}/codec/hash.js +1 -0
  49. package/dist/_cjs/src/codec/hash.js.map +1 -0
  50. package/dist/{src → _cjs/src}/codec/index.js +1 -0
  51. package/dist/_cjs/src/codec/index.js.map +1 -0
  52. package/dist/{src → _cjs/src}/codec/input-codec.js +1 -0
  53. package/dist/_cjs/src/codec/input-codec.js.map +1 -0
  54. package/dist/{src → _cjs/src}/codec/instr-codec.js +1 -0
  55. package/dist/_cjs/src/codec/instr-codec.js.map +1 -0
  56. package/dist/{src → _cjs/src}/codec/int-as-4bytes-codec.js +1 -0
  57. package/dist/_cjs/src/codec/int-as-4bytes-codec.js.map +1 -0
  58. package/dist/{src → _cjs/src}/codec/lockup-script-codec.js +1 -0
  59. package/dist/_cjs/src/codec/lockup-script-codec.js.map +1 -0
  60. package/dist/{src → _cjs/src}/codec/method-codec.js +1 -0
  61. package/dist/_cjs/src/codec/method-codec.js.map +1 -0
  62. package/dist/{src → _cjs/src}/codec/option-codec.js +1 -0
  63. package/dist/_cjs/src/codec/option-codec.js.map +1 -0
  64. package/dist/{src → _cjs/src}/codec/output-codec.js +1 -0
  65. package/dist/_cjs/src/codec/output-codec.js.map +1 -0
  66. package/dist/{src → _cjs/src}/codec/reader.js +1 -0
  67. package/dist/_cjs/src/codec/reader.js.map +1 -0
  68. package/dist/{src → _cjs/src}/codec/script-codec.js +1 -0
  69. package/dist/_cjs/src/codec/script-codec.js.map +1 -0
  70. package/dist/{src → _cjs/src}/codec/signature-codec.js +1 -0
  71. package/dist/_cjs/src/codec/signature-codec.js.map +1 -0
  72. package/dist/{src → _cjs/src}/codec/timestamp-codec.js +1 -0
  73. package/dist/_cjs/src/codec/timestamp-codec.js.map +1 -0
  74. package/dist/{src → _cjs/src}/codec/token-codec.js +1 -0
  75. package/dist/_cjs/src/codec/token-codec.js.map +1 -0
  76. package/dist/{src → _cjs/src}/codec/transaction-codec.js +1 -0
  77. package/dist/_cjs/src/codec/transaction-codec.js.map +1 -0
  78. package/dist/{src → _cjs/src}/codec/unlock-script-codec.js +1 -0
  79. package/dist/_cjs/src/codec/unlock-script-codec.js.map +1 -0
  80. package/dist/{src → _cjs/src}/codec/unsigned-tx-codec.js +1 -0
  81. package/dist/_cjs/src/codec/unsigned-tx-codec.js.map +1 -0
  82. package/dist/{src → _cjs/src}/codec/val.js +1 -0
  83. package/dist/_cjs/src/codec/val.js.map +1 -0
  84. package/dist/{src → _cjs/src}/constants.js +1 -0
  85. package/dist/_cjs/src/constants.js.map +1 -0
  86. package/dist/{src → _cjs/src}/contract/contract.js +1 -0
  87. package/dist/_cjs/src/contract/contract.js.map +1 -0
  88. package/dist/{src → _cjs/src}/contract/events.js +1 -0
  89. package/dist/_cjs/src/contract/events.js.map +1 -0
  90. package/dist/{src → _cjs/src}/contract/index.js +1 -0
  91. package/dist/_cjs/src/contract/index.js.map +1 -0
  92. package/dist/{src → _cjs/src}/contract/ralph.js +1 -0
  93. package/dist/_cjs/src/contract/ralph.js.map +1 -0
  94. package/dist/{src → _cjs/src}/contract/script-simulator.js +1 -0
  95. package/dist/_cjs/src/contract/script-simulator.js.map +1 -0
  96. package/dist/{src → _cjs/src}/debug.js +1 -0
  97. package/dist/_cjs/src/debug.js.map +1 -0
  98. package/dist/{src → _cjs/src}/error.js +1 -0
  99. package/dist/_cjs/src/error.js.map +1 -0
  100. package/dist/{src → _cjs/src}/exchange/exchange.js +1 -0
  101. package/dist/_cjs/src/exchange/exchange.js.map +1 -0
  102. package/dist/{src → _cjs/src}/exchange/index.js +1 -0
  103. package/dist/_cjs/src/exchange/index.js.map +1 -0
  104. package/dist/{src → _cjs/src}/global.js +1 -0
  105. package/dist/_cjs/src/global.js.map +1 -0
  106. package/dist/{src → _cjs/src}/index.js +1 -0
  107. package/dist/_cjs/src/index.js.map +1 -0
  108. package/dist/{src → _cjs/src}/signer/index.js +1 -0
  109. package/dist/_cjs/src/signer/index.js.map +1 -0
  110. package/dist/{src → _cjs/src}/signer/signer.js +1 -0
  111. package/dist/_cjs/src/signer/signer.js.map +1 -0
  112. package/dist/{src → _cjs/src}/signer/tx-builder.js +1 -0
  113. package/dist/_cjs/src/signer/tx-builder.js.map +1 -0
  114. package/dist/{src → _cjs/src}/signer/types.js +1 -0
  115. package/dist/_cjs/src/signer/types.js.map +1 -0
  116. package/dist/{src → _cjs/src}/token/index.js +1 -0
  117. package/dist/_cjs/src/token/index.js.map +1 -0
  118. package/dist/{src → _cjs/src}/token/nft.js +1 -0
  119. package/dist/_cjs/src/token/nft.js.map +1 -0
  120. package/dist/{src → _cjs/src}/transaction/index.js +1 -0
  121. package/dist/_cjs/src/transaction/index.js.map +1 -0
  122. package/dist/{src → _cjs/src}/transaction/sign-verify.js +1 -0
  123. package/dist/_cjs/src/transaction/sign-verify.js.map +1 -0
  124. package/dist/{src → _cjs/src}/transaction/status.js +1 -0
  125. package/dist/_cjs/src/transaction/status.js.map +1 -0
  126. package/dist/{src → _cjs/src}/transaction/utils.js +1 -0
  127. package/dist/_cjs/src/transaction/utils.js.map +1 -0
  128. package/dist/{src → _cjs/src}/utils/bs58.js +1 -0
  129. package/dist/_cjs/src/utils/bs58.js.map +1 -0
  130. package/dist/{src → _cjs/src}/utils/djb2.js +1 -0
  131. package/dist/_cjs/src/utils/djb2.js.map +1 -0
  132. package/dist/{src → _cjs/src}/utils/index.js +1 -0
  133. package/dist/_cjs/src/utils/index.js.map +1 -0
  134. package/dist/{src → _cjs/src}/utils/number.fixture.js +1 -0
  135. package/dist/_cjs/src/utils/number.fixture.js.map +1 -0
  136. package/dist/{src → _cjs/src}/utils/number.js +1 -0
  137. package/dist/_cjs/src/utils/number.js.map +1 -0
  138. package/dist/{src → _cjs/src}/utils/sign.js +1 -0
  139. package/dist/_cjs/src/utils/sign.js.map +1 -0
  140. package/dist/{src → _cjs/src}/utils/subscription.js +1 -0
  141. package/dist/_cjs/src/utils/subscription.js.map +1 -0
  142. package/dist/{src → _cjs/src}/utils/utils.js +1 -0
  143. package/dist/_cjs/src/utils/utils.js.map +1 -0
  144. package/dist/{src → _cjs/src}/utils/webcrypto.js +1 -0
  145. package/dist/_cjs/src/utils/webcrypto.js.map +1 -0
  146. package/dist/_esm/scripts/check-versions.js +40 -0
  147. package/dist/_esm/scripts/check-versions.js.map +1 -0
  148. package/dist/_esm/scripts/header.js +19 -0
  149. package/dist/_esm/scripts/header.js.map +1 -0
  150. package/dist/_esm/src/address/address.js +220 -0
  151. package/dist/_esm/src/address/address.js.map +1 -0
  152. package/dist/_esm/src/address/index.js +19 -0
  153. package/dist/_esm/src/address/index.js.map +1 -0
  154. package/dist/_esm/src/api/api-alephium.js +1519 -0
  155. package/dist/_esm/src/api/api-alephium.js.map +1 -0
  156. package/dist/_esm/src/api/api-explorer.js +964 -0
  157. package/dist/_esm/src/api/api-explorer.js.map +1 -0
  158. package/dist/_esm/src/api/explorer-provider.js +66 -0
  159. package/dist/_esm/src/api/explorer-provider.js.map +1 -0
  160. package/dist/_esm/src/api/index.js +24 -0
  161. package/dist/_esm/src/api/index.js.map +1 -0
  162. package/dist/_esm/src/api/node-provider.js +201 -0
  163. package/dist/_esm/src/api/node-provider.js.map +1 -0
  164. package/dist/_esm/src/api/types.js +211 -0
  165. package/dist/_esm/src/api/types.js.map +1 -0
  166. package/dist/_esm/src/api/utils.js +51 -0
  167. package/dist/_esm/src/api/utils.js.map +1 -0
  168. package/dist/_esm/src/block/block.js +145 -0
  169. package/dist/_esm/src/block/block.js.map +1 -0
  170. package/dist/_esm/src/block/index.js +19 -0
  171. package/dist/_esm/src/block/index.js.map +1 -0
  172. package/dist/_esm/src/codec/array-codec.js +42 -0
  173. package/dist/_esm/src/codec/array-codec.js.map +1 -0
  174. package/dist/_esm/src/codec/asset-output-codec.js +91 -0
  175. package/dist/_esm/src/codec/asset-output-codec.js.map +1 -0
  176. package/dist/_esm/src/codec/bigint-codec.js +94 -0
  177. package/dist/_esm/src/codec/bigint-codec.js.map +1 -0
  178. package/dist/_esm/src/codec/bytestring-codec.js +33 -0
  179. package/dist/_esm/src/codec/bytestring-codec.js.map +1 -0
  180. package/dist/_esm/src/codec/codec.js +131 -0
  181. package/dist/_esm/src/codec/codec.js.map +1 -0
  182. package/dist/_esm/src/codec/compact-int-codec.js +304 -0
  183. package/dist/_esm/src/codec/compact-int-codec.js.map +1 -0
  184. package/dist/_esm/src/codec/contract-codec.js +64 -0
  185. package/dist/_esm/src/codec/contract-codec.js.map +1 -0
  186. package/dist/_esm/src/codec/contract-output-codec.js +57 -0
  187. package/dist/_esm/src/codec/contract-output-codec.js.map +1 -0
  188. package/dist/_esm/src/codec/contract-output-ref-codec.js +26 -0
  189. package/dist/_esm/src/codec/contract-output-ref-codec.js.map +1 -0
  190. package/dist/_esm/src/codec/either-codec.js +22 -0
  191. package/dist/_esm/src/codec/either-codec.js.map +1 -0
  192. package/dist/_esm/src/codec/hash.js +32 -0
  193. package/dist/_esm/src/codec/hash.js.map +1 -0
  194. package/dist/_esm/src/codec/index.js +42 -0
  195. package/dist/_esm/src/codec/index.js.map +1 -0
  196. package/dist/_esm/src/codec/input-codec.js +33 -0
  197. package/dist/_esm/src/codec/input-codec.js.map +1 -0
  198. package/dist/_esm/src/codec/instr-codec.js +1067 -0
  199. package/dist/_esm/src/codec/instr-codec.js.map +1 -0
  200. package/dist/_esm/src/codec/int-as-4bytes-codec.js +29 -0
  201. package/dist/_esm/src/codec/int-as-4bytes-codec.js.map +1 -0
  202. package/dist/_esm/src/codec/lockup-script-codec.js +32 -0
  203. package/dist/_esm/src/codec/lockup-script-codec.js.map +1 -0
  204. package/dist/_esm/src/codec/method-codec.js +71 -0
  205. package/dist/_esm/src/codec/method-codec.js.map +1 -0
  206. package/dist/_esm/src/codec/option-codec.js +33 -0
  207. package/dist/_esm/src/codec/option-codec.js.map +1 -0
  208. package/dist/_esm/src/codec/output-codec.js +24 -0
  209. package/dist/_esm/src/codec/output-codec.js.map +1 -0
  210. package/dist/_esm/src/codec/reader.js +45 -0
  211. package/dist/_esm/src/codec/reader.js.map +1 -0
  212. package/dist/_esm/src/codec/script-codec.js +31 -0
  213. package/dist/_esm/src/codec/script-codec.js.map +1 -0
  214. package/dist/_esm/src/codec/signature-codec.js +22 -0
  215. package/dist/_esm/src/codec/signature-codec.js.map +1 -0
  216. package/dist/_esm/src/codec/timestamp-codec.js +36 -0
  217. package/dist/_esm/src/codec/timestamp-codec.js.map +1 -0
  218. package/dist/_esm/src/codec/token-codec.js +26 -0
  219. package/dist/_esm/src/codec/token-codec.js.map +1 -0
  220. package/dist/_esm/src/codec/transaction-codec.js +99 -0
  221. package/dist/_esm/src/codec/transaction-codec.js.map +1 -0
  222. package/dist/_esm/src/codec/unlock-script-codec.js +47 -0
  223. package/dist/_esm/src/codec/unlock-script-codec.js.map +1 -0
  224. package/dist/_esm/src/codec/unsigned-tx-codec.js +57 -0
  225. package/dist/_esm/src/codec/unsigned-tx-codec.js.map +1 -0
  226. package/dist/_esm/src/codec/val.js +31 -0
  227. package/dist/_esm/src/codec/val.js.map +1 -0
  228. package/dist/_esm/src/constants.js +31 -0
  229. package/dist/_esm/src/constants.js.map +1 -0
  230. package/dist/_esm/src/contract/contract.js +1361 -0
  231. package/dist/_esm/src/contract/contract.js.map +1 -0
  232. package/dist/_esm/src/contract/events.js +56 -0
  233. package/dist/_esm/src/contract/events.js.map +1 -0
  234. package/dist/_esm/src/contract/index.js +22 -0
  235. package/dist/_esm/src/contract/index.js.map +1 -0
  236. package/dist/_esm/src/contract/ralph.js +415 -0
  237. package/dist/_esm/src/contract/ralph.js.map +1 -0
  238. package/dist/_esm/src/contract/script-simulator.js +754 -0
  239. package/dist/_esm/src/contract/script-simulator.js.map +1 -0
  240. package/dist/_esm/src/debug.js +38 -0
  241. package/dist/_esm/src/debug.js.map +1 -0
  242. package/dist/_esm/src/error.js +33 -0
  243. package/dist/_esm/src/error.js.map +1 -0
  244. package/dist/_esm/src/exchange/exchange.js +119 -0
  245. package/dist/_esm/src/exchange/exchange.js.map +1 -0
  246. package/dist/_esm/src/exchange/index.js +19 -0
  247. package/dist/_esm/src/exchange/index.js.map +1 -0
  248. package/dist/_esm/src/global.js +48 -0
  249. package/dist/_esm/src/global.js.map +1 -0
  250. package/dist/_esm/src/index.js +36 -0
  251. package/dist/_esm/src/index.js.map +1 -0
  252. package/dist/_esm/src/signer/index.js +21 -0
  253. package/dist/_esm/src/signer/index.js.map +1 -0
  254. package/dist/_esm/src/signer/signer.js +206 -0
  255. package/dist/_esm/src/signer/signer.js.map +1 -0
  256. package/dist/_esm/src/signer/tx-builder.js +182 -0
  257. package/dist/_esm/src/signer/tx-builder.js.map +1 -0
  258. package/dist/_esm/src/signer/types.js +29 -0
  259. package/dist/_esm/src/signer/types.js.map +1 -0
  260. package/dist/_esm/src/token/index.js +19 -0
  261. package/dist/_esm/src/token/index.js.map +1 -0
  262. package/dist/_esm/src/token/nft.js +115 -0
  263. package/dist/_esm/src/token/nft.js.map +1 -0
  264. package/dist/_esm/src/transaction/index.js +21 -0
  265. package/dist/_esm/src/transaction/index.js.map +1 -0
  266. package/dist/_esm/src/transaction/sign-verify.js +25 -0
  267. package/dist/_esm/src/transaction/sign-verify.js.map +1 -0
  268. package/dist/_esm/src/transaction/status.js +50 -0
  269. package/dist/_esm/src/transaction/status.js.map +1 -0
  270. package/dist/_esm/src/transaction/utils.js +52 -0
  271. package/dist/_esm/src/transaction/utils.js.map +1 -0
  272. package/dist/_esm/src/utils/bs58.js +43 -0
  273. package/dist/_esm/src/utils/bs58.js.map +1 -0
  274. package/dist/_esm/src/utils/djb2.js +25 -0
  275. package/dist/_esm/src/utils/djb2.js.map +1 -0
  276. package/dist/_esm/src/utils/index.js +25 -0
  277. package/dist/_esm/src/utils/index.js.map +1 -0
  278. package/dist/_esm/src/utils/number.fixture.js +187 -0
  279. package/dist/_esm/src/utils/number.fixture.js.map +1 -0
  280. package/dist/_esm/src/utils/number.js +139 -0
  281. package/dist/_esm/src/utils/number.js.map +1 -0
  282. package/dist/_esm/src/utils/sign.js +62 -0
  283. package/dist/_esm/src/utils/sign.js.map +1 -0
  284. package/dist/_esm/src/utils/subscription.js +48 -0
  285. package/dist/_esm/src/utils/subscription.js.map +1 -0
  286. package/dist/_esm/src/utils/utils.js +144 -0
  287. package/dist/_esm/src/utils/utils.js.map +1 -0
  288. package/dist/_esm/src/utils/webcrypto.js +38 -0
  289. package/dist/_esm/src/utils/webcrypto.js.map +1 -0
  290. package/dist/_types/scripts/check-versions.d.ts +2 -0
  291. package/dist/_types/scripts/check-versions.d.ts.map +1 -0
  292. package/dist/_types/scripts/header.d.ts +1 -0
  293. package/dist/_types/scripts/header.d.ts.map +1 -0
  294. package/dist/{src → _types/src}/address/address.d.ts +1 -0
  295. package/dist/_types/src/address/address.d.ts.map +1 -0
  296. package/dist/_types/src/address/index.d.ts +2 -0
  297. package/dist/_types/src/address/index.d.ts.map +1 -0
  298. package/dist/{src → _types/src}/api/api-alephium.d.ts +1 -0
  299. package/dist/_types/src/api/api-alephium.d.ts.map +1 -0
  300. package/dist/{src → _types/src}/api/api-explorer.d.ts +1 -0
  301. package/dist/_types/src/api/api-explorer.d.ts.map +1 -0
  302. package/dist/{src → _types/src}/api/explorer-provider.d.ts +1 -0
  303. package/dist/_types/src/api/explorer-provider.d.ts.map +1 -0
  304. package/dist/{src → _types/src}/api/index.d.ts +1 -0
  305. package/dist/_types/src/api/index.d.ts.map +1 -0
  306. package/dist/{src → _types/src}/api/node-provider.d.ts +1 -0
  307. package/dist/_types/src/api/node-provider.d.ts.map +1 -0
  308. package/dist/{src → _types/src}/api/types.d.ts +1 -0
  309. package/dist/_types/src/api/types.d.ts.map +1 -0
  310. package/dist/{src → _types/src}/api/utils.d.ts +1 -0
  311. package/dist/_types/src/api/utils.d.ts.map +1 -0
  312. package/dist/{src → _types/src}/block/block.d.ts +1 -0
  313. package/dist/_types/src/block/block.d.ts.map +1 -0
  314. package/dist/{src → _types/src}/block/index.d.ts +1 -0
  315. package/dist/_types/src/block/index.d.ts.map +1 -0
  316. package/dist/{src → _types/src}/codec/array-codec.d.ts +1 -0
  317. package/dist/_types/src/codec/array-codec.d.ts.map +1 -0
  318. package/dist/{src → _types/src}/codec/asset-output-codec.d.ts +1 -0
  319. package/dist/_types/src/codec/asset-output-codec.d.ts.map +1 -0
  320. package/dist/{src → _types/src}/codec/bigint-codec.d.ts +1 -0
  321. package/dist/_types/src/codec/bigint-codec.d.ts.map +1 -0
  322. package/dist/{src → _types/src}/codec/bytestring-codec.d.ts +1 -0
  323. package/dist/_types/src/codec/bytestring-codec.d.ts.map +1 -0
  324. package/dist/{src → _types/src}/codec/codec.d.ts +1 -0
  325. package/dist/_types/src/codec/codec.d.ts.map +1 -0
  326. package/dist/{src → _types/src}/codec/compact-int-codec.d.ts +1 -0
  327. package/dist/_types/src/codec/compact-int-codec.d.ts.map +1 -0
  328. package/dist/{src → _types/src}/codec/contract-codec.d.ts +1 -0
  329. package/dist/_types/src/codec/contract-codec.d.ts.map +1 -0
  330. package/dist/{src → _types/src}/codec/contract-output-codec.d.ts +1 -0
  331. package/dist/_types/src/codec/contract-output-codec.d.ts.map +1 -0
  332. package/dist/{src → _types/src}/codec/contract-output-ref-codec.d.ts +1 -0
  333. package/dist/_types/src/codec/contract-output-ref-codec.d.ts.map +1 -0
  334. package/dist/{src → _types/src}/codec/either-codec.d.ts +1 -0
  335. package/dist/_types/src/codec/either-codec.d.ts.map +1 -0
  336. package/dist/{src → _types/src}/codec/hash.d.ts +1 -0
  337. package/dist/_types/src/codec/hash.d.ts.map +1 -0
  338. package/dist/{src → _types/src}/codec/index.d.ts +1 -0
  339. package/dist/_types/src/codec/index.d.ts.map +1 -0
  340. package/dist/{src → _types/src}/codec/input-codec.d.ts +1 -0
  341. package/dist/_types/src/codec/input-codec.d.ts.map +1 -0
  342. package/dist/{src → _types/src}/codec/instr-codec.d.ts +1 -0
  343. package/dist/_types/src/codec/instr-codec.d.ts.map +1 -0
  344. package/dist/{src → _types/src}/codec/int-as-4bytes-codec.d.ts +1 -0
  345. package/dist/_types/src/codec/int-as-4bytes-codec.d.ts.map +1 -0
  346. package/dist/{src → _types/src}/codec/lockup-script-codec.d.ts +1 -0
  347. package/dist/_types/src/codec/lockup-script-codec.d.ts.map +1 -0
  348. package/dist/{src → _types/src}/codec/method-codec.d.ts +1 -0
  349. package/dist/_types/src/codec/method-codec.d.ts.map +1 -0
  350. package/dist/{src → _types/src}/codec/option-codec.d.ts +1 -0
  351. package/dist/_types/src/codec/option-codec.d.ts.map +1 -0
  352. package/dist/{src → _types/src}/codec/output-codec.d.ts +1 -0
  353. package/dist/_types/src/codec/output-codec.d.ts.map +1 -0
  354. package/dist/{src → _types/src}/codec/reader.d.ts +1 -0
  355. package/dist/_types/src/codec/reader.d.ts.map +1 -0
  356. package/dist/{src → _types/src}/codec/script-codec.d.ts +1 -0
  357. package/dist/_types/src/codec/script-codec.d.ts.map +1 -0
  358. package/dist/{src → _types/src}/codec/signature-codec.d.ts +1 -0
  359. package/dist/_types/src/codec/signature-codec.d.ts.map +1 -0
  360. package/dist/{src → _types/src}/codec/timestamp-codec.d.ts +1 -0
  361. package/dist/_types/src/codec/timestamp-codec.d.ts.map +1 -0
  362. package/dist/{src → _types/src}/codec/token-codec.d.ts +1 -0
  363. package/dist/_types/src/codec/token-codec.d.ts.map +1 -0
  364. package/dist/{src → _types/src}/codec/transaction-codec.d.ts +1 -0
  365. package/dist/_types/src/codec/transaction-codec.d.ts.map +1 -0
  366. package/dist/{src → _types/src}/codec/unlock-script-codec.d.ts +1 -0
  367. package/dist/_types/src/codec/unlock-script-codec.d.ts.map +1 -0
  368. package/dist/{src → _types/src}/codec/unsigned-tx-codec.d.ts +1 -0
  369. package/dist/_types/src/codec/unsigned-tx-codec.d.ts.map +1 -0
  370. package/dist/{src → _types/src}/codec/val.d.ts +1 -0
  371. package/dist/_types/src/codec/val.d.ts.map +1 -0
  372. package/dist/{src → _types/src}/constants.d.ts +1 -0
  373. package/dist/_types/src/constants.d.ts.map +1 -0
  374. package/dist/{src → _types/src}/contract/contract.d.ts +1 -0
  375. package/dist/_types/src/contract/contract.d.ts.map +1 -0
  376. package/dist/{src → _types/src}/contract/events.d.ts +1 -0
  377. package/dist/_types/src/contract/events.d.ts.map +1 -0
  378. package/dist/{src → _types/src}/contract/index.d.ts +1 -0
  379. package/dist/_types/src/contract/index.d.ts.map +1 -0
  380. package/dist/{src → _types/src}/contract/ralph.d.ts +1 -0
  381. package/dist/_types/src/contract/ralph.d.ts.map +1 -0
  382. package/dist/{src → _types/src}/contract/script-simulator.d.ts +1 -0
  383. package/dist/_types/src/contract/script-simulator.d.ts.map +1 -0
  384. package/dist/{src → _types/src}/debug.d.ts +1 -0
  385. package/dist/_types/src/debug.d.ts.map +1 -0
  386. package/dist/{src → _types/src}/error.d.ts +1 -0
  387. package/dist/_types/src/error.d.ts.map +1 -0
  388. package/dist/{src → _types/src}/exchange/exchange.d.ts +1 -0
  389. package/dist/_types/src/exchange/exchange.d.ts.map +1 -0
  390. package/dist/{src → _types/src}/exchange/index.d.ts +1 -0
  391. package/dist/_types/src/exchange/index.d.ts.map +1 -0
  392. package/dist/{src → _types/src}/global.d.ts +1 -0
  393. package/dist/_types/src/global.d.ts.map +1 -0
  394. package/dist/{src → _types/src}/index.d.ts +1 -0
  395. package/dist/_types/src/index.d.ts.map +1 -0
  396. package/dist/{src → _types/src}/signer/index.d.ts +1 -0
  397. package/dist/_types/src/signer/index.d.ts.map +1 -0
  398. package/dist/{src → _types/src}/signer/signer.d.ts +1 -0
  399. package/dist/_types/src/signer/signer.d.ts.map +1 -0
  400. package/dist/{src → _types/src}/signer/tx-builder.d.ts +1 -0
  401. package/dist/_types/src/signer/tx-builder.d.ts.map +1 -0
  402. package/dist/{src → _types/src}/signer/types.d.ts +1 -0
  403. package/dist/_types/src/signer/types.d.ts.map +1 -0
  404. package/dist/_types/src/token/index.d.ts +2 -0
  405. package/dist/_types/src/token/index.d.ts.map +1 -0
  406. package/dist/{src → _types/src}/token/nft.d.ts +1 -0
  407. package/dist/_types/src/token/nft.d.ts.map +1 -0
  408. package/dist/{src → _types/src}/transaction/index.d.ts +1 -0
  409. package/dist/_types/src/transaction/index.d.ts.map +1 -0
  410. package/dist/{src → _types/src}/transaction/sign-verify.d.ts +1 -0
  411. package/dist/_types/src/transaction/sign-verify.d.ts.map +1 -0
  412. package/dist/{src → _types/src}/transaction/status.d.ts +1 -0
  413. package/dist/_types/src/transaction/status.d.ts.map +1 -0
  414. package/dist/{src → _types/src}/transaction/utils.d.ts +1 -0
  415. package/dist/_types/src/transaction/utils.d.ts.map +1 -0
  416. package/dist/{src → _types/src}/utils/bs58.d.ts +1 -0
  417. package/dist/_types/src/utils/bs58.d.ts.map +1 -0
  418. package/dist/{src → _types/src}/utils/djb2.d.ts +1 -0
  419. package/dist/_types/src/utils/djb2.d.ts.map +1 -0
  420. package/dist/{src → _types/src}/utils/index.d.ts +1 -0
  421. package/dist/_types/src/utils/index.d.ts.map +1 -0
  422. package/dist/{src → _types/src}/utils/number.d.ts +1 -0
  423. package/dist/_types/src/utils/number.d.ts.map +1 -0
  424. package/dist/{src → _types/src}/utils/number.fixture.d.ts +1 -0
  425. package/dist/_types/src/utils/number.fixture.d.ts.map +1 -0
  426. package/dist/{src → _types/src}/utils/sign.d.ts +1 -0
  427. package/dist/_types/src/utils/sign.d.ts.map +1 -0
  428. package/dist/{src → _types/src}/utils/subscription.d.ts +1 -0
  429. package/dist/_types/src/utils/subscription.d.ts.map +1 -0
  430. package/dist/{src → _types/src}/utils/utils.d.ts +1 -0
  431. package/dist/_types/src/utils/utils.d.ts.map +1 -0
  432. package/dist/{src → _types/src}/utils/webcrypto.d.ts +1 -0
  433. package/dist/_types/src/utils/webcrypto.d.ts.map +1 -0
  434. package/dist/_umd/alephium-web3.min.js +2 -0
  435. package/dist/_umd/alephium-web3.min.js.map +1 -0
  436. package/package.json +21 -23
  437. package/{webpack.config.js → webpack.config.cjs} +2 -2
  438. package/dist/alephium-web3.min.js +0 -3
  439. package/dist/alephium-web3.min.js.LICENSE.txt +0 -12
  440. package/dist/alephium-web3.min.js.map +0 -1
  441. package/dist/scripts/check-versions.d.ts +0 -1
  442. package/dist/scripts/header.d.ts +0 -0
  443. package/dist/src/address/index.d.ts +0 -1
  444. package/dist/src/token/index.d.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-simulator.js","sourceRoot":"","sources":["../../../../src/contract/script-simulator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ let debugModeEnabled = false;
19
+ export function isDebugModeEnabled() {
20
+ return debugModeEnabled;
21
+ }
22
+ export function enableDebugMode() {
23
+ debugModeEnabled = true;
24
+ }
25
+ export function disableDebugMode() {
26
+ debugModeEnabled = false;
27
+ }
28
+ let contractDebugMessageEnabled = true;
29
+ export function isContractDebugMessageEnabled() {
30
+ return contractDebugMessageEnabled;
31
+ }
32
+ export function enableContractDebugMessage() {
33
+ contractDebugMessageEnabled = true;
34
+ }
35
+ export function disableContractDebugMessage() {
36
+ contractDebugMessageEnabled = false;
37
+ }
38
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/debug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,IAAI,gBAAgB,GAAG,KAAK,CAAA;AAE5B,MAAM,UAAU,kBAAkB;IAChC,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,gBAAgB,GAAG,IAAI,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,gBAAgB,GAAG,KAAK,CAAA;AAC1B,CAAC;AAED,IAAI,2BAA2B,GAAG,IAAI,CAAA;AAEtC,MAAM,UAAU,6BAA6B;IAC3C,OAAO,2BAA2B,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,2BAA2B,GAAG,IAAI,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,2BAA2B,GAAG,KAAK,CAAA;AACrC,CAAC"}
@@ -0,0 +1,33 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ export class TraceableError extends Error {
19
+ constructor(message, innerError) {
20
+ const innerErrorMessage = innerError === undefined ? undefined : innerError instanceof Error ? innerError.message : `${innerError}`;
21
+ super(innerErrorMessage ? `${message}, error: ${innerErrorMessage}` : message);
22
+ this.trace = innerError;
23
+ const actualProto = new.target.prototype;
24
+ if (Object.setPrototypeOf) {
25
+ Object.setPrototypeOf(this, actualProto);
26
+ }
27
+ else {
28
+ const object = this;
29
+ object.__proto__ = actualProto;
30
+ }
31
+ }
32
+ }
33
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAGvC,YAAY,OAAgB,EAAE,UAAgB;QAC5C,MAAM,iBAAiB,GACrB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,CAAA;QAC3G,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,YAAY,iBAAiB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAC9E,IAAI,CAAC,KAAK,GAAG,UAAU,CAAA;QAEvB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAA;QAExC,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;SACzC;aAAM;YACL,MAAM,MAAM,GAAG,IAAW,CAAA;YAC1B,MAAM,CAAC,SAAS,GAAG,WAAW,CAAA;SAC/B;IACH,CAAC;CACF"}
@@ -0,0 +1,119 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { AddressType, addressFromPublicKey, addressFromScript } from '../address';
19
+ import { base58ToBytes, binToHex, hexToBinUnsafe, isHexString } from '../utils';
20
+ import { unlockScriptCodec } from '../codec/unlock-script-codec';
21
+ import { scriptCodec } from '../codec/script-codec';
22
+ import { TraceableError } from '../error';
23
+ export function validateExchangeAddress(address) {
24
+ const decoded = base58ToBytes(address);
25
+ if (decoded.length === 0)
26
+ throw new Error('Address is empty');
27
+ const addressType = decoded[0];
28
+ if (addressType !== AddressType.P2PKH && addressType !== AddressType.P2SH) {
29
+ throw new Error('Invalid address type');
30
+ }
31
+ if (decoded.length !== 33) {
32
+ throw new Error('Invalid address length');
33
+ }
34
+ }
35
+ export function isALPHTransferTx(tx) {
36
+ return isTransferTx(tx) && checkALPHOutput(tx);
37
+ }
38
+ export function getALPHDepositInfo(tx) {
39
+ if (!isALPHTransferTx(tx)) {
40
+ return [];
41
+ }
42
+ const inputAddresses = [];
43
+ for (const input of tx.unsigned.inputs) {
44
+ try {
45
+ const address = getAddressFromUnlockScript(input.unlockScript);
46
+ if (!inputAddresses.includes(address)) {
47
+ inputAddresses.push(address);
48
+ }
49
+ }
50
+ catch (_) { }
51
+ }
52
+ const result = new Map();
53
+ tx.unsigned.fixedOutputs.forEach((o) => {
54
+ if (!inputAddresses.includes(o.address)) {
55
+ const amount = result.get(o.address);
56
+ if (amount === undefined) {
57
+ result.set(o.address, BigInt(o.attoAlphAmount));
58
+ }
59
+ else {
60
+ result.set(o.address, BigInt(o.attoAlphAmount) + amount);
61
+ }
62
+ }
63
+ });
64
+ return Array.from(result.entries()).map(([key, value]) => ({ targetAddress: key, depositAmount: value }));
65
+ }
66
+ // we assume that the tx is a simple transfer tx, i.e. isSimpleALPHTransferTx(tx) == true
67
+ export function getSenderAddress(tx) {
68
+ return getAddressFromUnlockScript(tx.unsigned.inputs[0].unlockScript);
69
+ }
70
+ var UnlockScriptType;
71
+ (function (UnlockScriptType) {
72
+ UnlockScriptType[UnlockScriptType["P2PKH"] = 0] = "P2PKH";
73
+ UnlockScriptType[UnlockScriptType["P2MPKH"] = 1] = "P2MPKH";
74
+ UnlockScriptType[UnlockScriptType["P2SH"] = 2] = "P2SH";
75
+ })(UnlockScriptType || (UnlockScriptType = {}));
76
+ export function getAddressFromUnlockScript(unlockScript) {
77
+ if (!isHexString(unlockScript)) {
78
+ throw new Error(`Invalid unlock script ${unlockScript}, expected a hex string`);
79
+ }
80
+ const decoded = hexToBinUnsafe(unlockScript);
81
+ if (decoded.length === 0)
82
+ throw new Error('UnlockScript is empty');
83
+ const unlockScriptType = decoded[0];
84
+ const unlockScriptBody = decoded.slice(1);
85
+ if (unlockScriptType === UnlockScriptType.P2PKH) {
86
+ if (unlockScriptBody.length !== 33) {
87
+ throw new Error(`Invalid p2pkh unlock script: ${unlockScript}`);
88
+ }
89
+ return addressFromPublicKey(binToHex(unlockScriptBody));
90
+ }
91
+ if (unlockScriptType === UnlockScriptType.P2MPKH) {
92
+ throw new Error('Naive multi-sig address is not supported for exchanges as it will be replaced by P2SH');
93
+ }
94
+ if (unlockScriptType === UnlockScriptType.P2SH) {
95
+ let p2sh;
96
+ try {
97
+ p2sh = unlockScriptCodec.decode(decoded).value;
98
+ }
99
+ catch (e) {
100
+ throw new TraceableError(`Invalid p2sh unlock script: ${unlockScript}`, e);
101
+ }
102
+ return addressFromScript(scriptCodec.encode(p2sh.script));
103
+ }
104
+ throw new Error('Invalid unlock script type');
105
+ }
106
+ function checkALPHOutput(tx) {
107
+ const outputs = tx.unsigned.fixedOutputs;
108
+ return outputs.every((o) => o.tokens.length === 0);
109
+ }
110
+ function isTransferTx(tx) {
111
+ if (tx.contractInputs.length !== 0 ||
112
+ tx.generatedOutputs.length !== 0 ||
113
+ tx.unsigned.inputs.length === 0 ||
114
+ tx.unsigned.scriptOpt !== undefined) {
115
+ return false;
116
+ }
117
+ return true;
118
+ }
119
+ //# sourceMappingURL=exchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../../../src/exchange/exchange.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ export { validateExchangeAddress, isALPHTransferTx, getSenderAddress, getALPHDepositInfo } from './exchange';
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exchange/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,48 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { ExplorerProvider, NodeProvider } from './api';
19
+ let _currentNodeProvider = undefined;
20
+ export function setCurrentNodeProvider(provider, apiKey, customFetch) {
21
+ if (typeof provider == 'string') {
22
+ _currentNodeProvider = new NodeProvider(provider, apiKey, customFetch);
23
+ }
24
+ else {
25
+ _currentNodeProvider = provider;
26
+ }
27
+ }
28
+ export function getCurrentNodeProvider() {
29
+ if (typeof _currentNodeProvider === 'undefined') {
30
+ throw Error('No node provider is set.');
31
+ }
32
+ return _currentNodeProvider;
33
+ }
34
+ let _currentExplorerProvider = undefined;
35
+ export function setCurrentExplorerProvider(provider, apiKey, customFetch) {
36
+ if (typeof provider == 'string') {
37
+ _currentExplorerProvider = new ExplorerProvider(provider, apiKey, customFetch);
38
+ }
39
+ else {
40
+ _currentExplorerProvider = provider;
41
+ }
42
+ }
43
+ // Different from `NodeProvider`, this may return `undefined`
44
+ // as ExplorerProvider is not necessary for all applications
45
+ export function getCurrentExplorerProvider() {
46
+ return _currentExplorerProvider;
47
+ }
48
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../../src/global.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAEtD,IAAI,oBAAoB,GAA6B,SAAS,CAAA;AAI9D,MAAM,UAAU,sBAAsB,CACpC,QAA+B,EAC/B,MAAe,EACf,WAA0B;IAE1B,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE;QAC/B,oBAAoB,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;KACvE;SAAM;QACL,oBAAoB,GAAG,QAAQ,CAAA;KAChC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;QAC/C,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAA;KACxC;IACD,OAAO,oBAAoB,CAAA;AAC7B,CAAC;AAED,IAAI,wBAAwB,GAAiC,SAAS,CAAA;AAItE,MAAM,UAAU,0BAA0B,CACxC,QAAmC,EACnC,MAAe,EACf,WAA0B;IAE1B,IAAI,OAAO,QAAQ,IAAI,QAAQ,EAAE;QAC/B,wBAAwB,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;KAC/E;SAAM;QACL,wBAAwB,GAAG,QAAQ,CAAA;KACpC;AACH,CAAC;AAED,6DAA6D;AAC7D,4DAA4D;AAC5D,MAAM,UAAU,0BAA0B;IACxC,OAAO,wBAAwB,CAAA;AACjC,CAAC"}
@@ -0,0 +1,36 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ BigInt.prototype['toJSON'] = function () {
19
+ return this.toString();
20
+ };
21
+ export * from './api';
22
+ export * from './contract';
23
+ export * from './signer';
24
+ export * from './utils';
25
+ export * from './transaction';
26
+ export * from './token';
27
+ export * from './constants';
28
+ export * as web3 from './global';
29
+ export * as codec from './codec';
30
+ export * as utils from './utils';
31
+ export * from './debug';
32
+ export * from './block';
33
+ export * from './address';
34
+ export * from './exchange';
35
+ export * from './error';
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG;IAC3B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;AACxB,CAAC,CAAA;AAED,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AAEvB,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,IAAI,MAAM,UAAU,CAAA;AAChC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
@@ -0,0 +1,21 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ export * from './signer';
19
+ export * from './types';
20
+ export * from './tx-builder';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/signer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
@@ -0,0 +1,206 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { createHash } from 'crypto';
19
+ import { fromApiNumber256, fromApiTokens, toApiNumber256, toApiTokens } from '../api';
20
+ import * as utils from '../utils';
21
+ import blake from 'blakejs';
22
+ import { TransactionBuilder } from './tx-builder';
23
+ import { addressFromPublicKey, groupOfAddress } from '../address';
24
+ export class SignerProvider {
25
+ async getSelectedAccount() {
26
+ const account = await this.unsafeGetSelectedAccount();
27
+ SignerProvider.validateAccount(account);
28
+ return account;
29
+ }
30
+ static validateAccount(account) {
31
+ const derivedAddress = addressFromPublicKey(account.publicKey, account.keyType);
32
+ const derivedGroup = groupOfAddress(derivedAddress);
33
+ if (derivedAddress !== account.address || derivedGroup !== account.group) {
34
+ throw Error(`Invalid accounot data: ${JSON.stringify(account)}`);
35
+ }
36
+ }
37
+ }
38
+ // Abstraction for interactive signer (e.g. WalletConnect instance, Extension wallet object)
39
+ export class InteractiveSignerProvider extends SignerProvider {
40
+ async enable(opt) {
41
+ const account = await this.unsafeEnable(opt);
42
+ SignerProvider.validateAccount(account);
43
+ return account;
44
+ }
45
+ }
46
+ export class SignerProviderSimple extends SignerProvider {
47
+ async submitTransaction(params) {
48
+ const data = { unsignedTx: params.unsignedTx, signature: params.signature };
49
+ return this.nodeProvider.transactions.postTransactionsSubmit(data);
50
+ }
51
+ async signAndSubmitTransferTx(params) {
52
+ const signResult = await this.signTransferTx(params);
53
+ await this.submitTransaction(signResult);
54
+ return signResult;
55
+ }
56
+ async signAndSubmitDeployContractTx(params) {
57
+ const signResult = await this.signDeployContractTx(params);
58
+ await this.submitTransaction(signResult);
59
+ return signResult;
60
+ }
61
+ async signAndSubmitExecuteScriptTx(params) {
62
+ const signResult = await this.signExecuteScriptTx(params);
63
+ await this.submitTransaction(signResult);
64
+ return signResult;
65
+ }
66
+ async signAndSubmitUnsignedTx(params) {
67
+ const signResult = await this.signUnsignedTx(params);
68
+ await this.submitTransaction(signResult);
69
+ return signResult;
70
+ }
71
+ async signAndSubmitChainedTx(params) {
72
+ const signResults = await this.signChainedTx(params);
73
+ for (const r of signResults) {
74
+ await this.submitTransaction(r);
75
+ }
76
+ return signResults;
77
+ }
78
+ async signTransferTx(params) {
79
+ const response = await this.buildTransferTx(params);
80
+ const signature = await this.signRaw(params.signerAddress, response.txId);
81
+ return { signature, ...response };
82
+ }
83
+ async buildTransferTx(params) {
84
+ return TransactionBuilder.from(this.nodeProvider).buildTransferTx(params, await this.getPublicKey(params.signerAddress));
85
+ }
86
+ async signDeployContractTx(params) {
87
+ const response = await this.buildDeployContractTx(params);
88
+ const signature = await this.signRaw(params.signerAddress, response.txId);
89
+ return { signature, ...response };
90
+ }
91
+ async buildDeployContractTx(params) {
92
+ return TransactionBuilder.from(this.nodeProvider).buildDeployContractTx(params, await this.getPublicKey(params.signerAddress));
93
+ }
94
+ async signExecuteScriptTx(params) {
95
+ const response = await this.buildExecuteScriptTx(params);
96
+ const signature = await this.signRaw(params.signerAddress, response.txId);
97
+ return { signature, ...response };
98
+ }
99
+ async buildExecuteScriptTx(params) {
100
+ return TransactionBuilder.from(this.nodeProvider).buildExecuteScriptTx(params, await this.getPublicKey(params.signerAddress));
101
+ }
102
+ async signChainedTx(params) {
103
+ const response = await this.buildChainedTx(params);
104
+ const signatures = await Promise.all(response.map((r, i) => this.signRaw(params[`${i}`].signerAddress, r.txId)));
105
+ return response.map((r, i) => ({ ...r, signature: signatures[`${i}`] }));
106
+ }
107
+ async buildChainedTx(params) {
108
+ return TransactionBuilder.from(this.nodeProvider).buildChainedTx(params, await Promise.all(params.map((p) => this.getPublicKey(p.signerAddress))));
109
+ }
110
+ // in general, wallet should show the decoded information to user for confirmation
111
+ // please overwrite this function for real wallet
112
+ async signUnsignedTx(params) {
113
+ const response = await TransactionBuilder.from(this.nodeProvider).buildUnsignedTx(params);
114
+ const signature = await this.signRaw(params.signerAddress, response.txId);
115
+ return { signature, ...response };
116
+ }
117
+ async signMessage(params) {
118
+ const messageHash = hashMessage(params.message, params.messageHasher);
119
+ const signature = await this.signRaw(params.signerAddress, messageHash);
120
+ return { signature: signature };
121
+ }
122
+ }
123
+ export class SignerProviderWithMultipleAccounts extends SignerProviderSimple {
124
+ async getAccount(signerAddress) {
125
+ const accounts = await this.getAccounts();
126
+ const account = accounts.find((a) => a.address === signerAddress);
127
+ if (typeof account === 'undefined') {
128
+ throw new Error('Unmatched signerAddress');
129
+ }
130
+ else {
131
+ return account;
132
+ }
133
+ }
134
+ async getPublicKey(signerAddress) {
135
+ const account = await this.getAccount(signerAddress);
136
+ return account.publicKey;
137
+ }
138
+ }
139
+ export class SignerProviderWithCachedAccounts extends SignerProviderWithMultipleAccounts {
140
+ constructor() {
141
+ super(...arguments);
142
+ this._selectedAccount = undefined;
143
+ this._accounts = new Map();
144
+ }
145
+ unsafeGetSelectedAccount() {
146
+ if (this._selectedAccount === undefined) {
147
+ throw Error('No account is selected yet');
148
+ }
149
+ else {
150
+ return Promise.resolve(this._selectedAccount);
151
+ }
152
+ }
153
+ setSelectedAccount(address) {
154
+ const accountOpt = this._accounts.get(address);
155
+ if (accountOpt === undefined) {
156
+ throw Error('The address is not in the accounts');
157
+ }
158
+ else {
159
+ this._selectedAccount = accountOpt;
160
+ return Promise.resolve();
161
+ }
162
+ }
163
+ getAccounts() {
164
+ return Promise.resolve(Array.from(this._accounts.values()));
165
+ }
166
+ async getAccount(address) {
167
+ const account = this._accounts.get(address);
168
+ if (account === undefined) {
169
+ throw Error('The address is not in the accounts');
170
+ }
171
+ return Promise.resolve(account);
172
+ }
173
+ }
174
+ export function extendMessage(message) {
175
+ return 'Alephium Signed Message: ' + message;
176
+ }
177
+ export function hashMessage(message, hasher) {
178
+ switch (hasher) {
179
+ case 'alephium':
180
+ return utils.binToHex(blake.blake2b(extendMessage(message), undefined, 32));
181
+ case 'sha256':
182
+ const sha256 = createHash('sha256');
183
+ sha256.update(new TextEncoder().encode(message));
184
+ return utils.binToHex(sha256.digest());
185
+ case 'blake2b':
186
+ return utils.binToHex(blake.blake2b(message, undefined, 32));
187
+ case 'identity':
188
+ return message;
189
+ default:
190
+ throw Error(`Invalid message hasher: ${hasher}`);
191
+ }
192
+ }
193
+ export function verifySignedMessage(message, messageHasher, publicKey, signature, keyType) {
194
+ const messageHash = hashMessage(message, messageHasher);
195
+ return utils.verifySignature(messageHash, publicKey, signature, keyType);
196
+ }
197
+ export function toApiDestination(data) {
198
+ return { ...data, attoAlphAmount: toApiNumber256(data.attoAlphAmount), tokens: toApiTokens(data.tokens) };
199
+ }
200
+ export function toApiDestinations(data) {
201
+ return data.map(toApiDestination);
202
+ }
203
+ export function fromApiDestination(data) {
204
+ return { ...data, attoAlphAmount: fromApiNumber256(data.attoAlphAmount), tokens: fromApiTokens(data.tokens) };
205
+ }
206
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../../src/signer/signer.ts"],"names":[],"mappings":"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"}