@aeternity/aepp-sdk 12.1.2 → 13.0.0-alpha.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 (475) hide show
  1. package/dist/aepp-sdk.browser-script.js +1 -1
  2. package/dist/aepp-sdk.browser-script.js.map +1 -1
  3. package/dist/aepp-sdk.browser.js +1 -1
  4. package/dist/aepp-sdk.browser.js.map +1 -1
  5. package/dist/aepp-sdk.js +6580 -8860
  6. package/dist/aepp-sdk.js.map +1 -1
  7. package/es/AeSdk.d.ts +7 -3
  8. package/es/AeSdk.mjs +17 -22
  9. package/es/AeSdk.mjs.map +1 -1
  10. package/es/AeSdkAepp.d.ts +6 -5
  11. package/es/AeSdkAepp.mjs +7 -30
  12. package/es/AeSdkAepp.mjs.map +1 -1
  13. package/es/AeSdkBase.d.ts +18 -140
  14. package/es/AeSdkBase.mjs +27 -185
  15. package/es/AeSdkBase.mjs.map +1 -1
  16. package/es/AeSdkMethods.d.ts +124 -0
  17. package/es/AeSdkMethods.mjs +122 -0
  18. package/es/AeSdkMethods.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +7 -21
  20. package/es/AeSdkWallet.mjs +38 -86
  21. package/es/AeSdkWallet.mjs.map +1 -1
  22. package/es/Node.d.ts +7 -12
  23. package/es/Node.mjs +34 -47
  24. package/es/Node.mjs.map +1 -1
  25. package/es/account/Base.d.ts +24 -40
  26. package/es/account/Base.mjs +1 -101
  27. package/es/account/Base.mjs.map +1 -1
  28. package/es/account/Generalized.d.ts +16 -0
  29. package/es/account/Generalized.mjs +111 -0
  30. package/es/account/Generalized.mjs.map +1 -0
  31. package/es/account/Ledger.d.ts +28 -0
  32. package/es/account/Ledger.mjs +101 -0
  33. package/es/account/Ledger.mjs.map +1 -0
  34. package/es/account/LedgerFactory.d.ts +39 -0
  35. package/es/account/LedgerFactory.mjs +81 -0
  36. package/es/account/LedgerFactory.mjs.map +1 -0
  37. package/es/account/Memory.d.ts +13 -17
  38. package/es/account/Memory.mjs +43 -65
  39. package/es/account/Memory.mjs.map +1 -1
  40. package/es/account/Rpc.d.ts +6 -8
  41. package/es/account/Rpc.mjs +14 -32
  42. package/es/account/Rpc.mjs.map +1 -1
  43. package/es/aens.d.ts +3 -3
  44. package/es/aens.mjs +42 -41
  45. package/es/aens.mjs.map +1 -1
  46. package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
  47. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  48. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +3 -7
  49. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  50. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
  51. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
  52. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  53. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  54. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
  55. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +4 -41
  56. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  57. package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
  58. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  59. package/es/aepp-wallet-communication/schema.mjs +14 -68
  60. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  61. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
  62. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  63. package/es/apis/compiler/compiler.d.ts +23 -29
  64. package/es/apis/compiler/compiler.mjs +128 -189
  65. package/es/apis/compiler/compiler.mjs.map +1 -1
  66. package/es/apis/compiler/index.mjs.map +1 -1
  67. package/es/apis/compiler/models/index.d.ts +82 -135
  68. package/es/apis/compiler/models/index.mjs +1 -47
  69. package/es/apis/compiler/models/index.mjs.map +1 -1
  70. package/es/apis/compiler/models/mappers.d.ts +8 -8
  71. package/es/apis/compiler/models/mappers.mjs +165 -183
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  73. package/es/apis/compiler/models/parameters.d.ts +0 -1
  74. package/es/apis/compiler/models/parameters.mjs +5 -9
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -1
  76. package/es/apis/node/index.mjs.map +1 -1
  77. package/es/apis/node/models/index.d.ts +48 -48
  78. package/es/apis/node/models/mappers.mjs +12 -6
  79. package/es/apis/node/models/mappers.mjs.map +1 -1
  80. package/es/apis/node/models/parameters.mjs.map +1 -1
  81. package/es/apis/node/node.mjs +43 -84
  82. package/es/apis/node/node.mjs.map +1 -1
  83. package/es/chain.d.ts +1 -1
  84. package/es/chain.mjs +33 -58
  85. package/es/chain.mjs.map +1 -1
  86. package/es/channel/Base.d.ts +195 -0
  87. package/es/channel/Base.mjs +290 -0
  88. package/es/channel/Base.mjs.map +1 -0
  89. package/es/channel/Contract.d.ts +247 -0
  90. package/es/channel/Contract.mjs +420 -0
  91. package/es/channel/Contract.mjs.map +1 -0
  92. package/es/channel/Spend.d.ts +217 -0
  93. package/es/channel/Spend.mjs +383 -0
  94. package/es/channel/Spend.mjs.map +1 -0
  95. package/es/channel/handlers.d.ts +8 -21
  96. package/es/channel/handlers.mjs +141 -891
  97. package/es/channel/handlers.mjs.map +1 -1
  98. package/es/channel/internal.d.ts +27 -21
  99. package/es/channel/internal.mjs +98 -190
  100. package/es/channel/internal.mjs.map +1 -1
  101. package/es/contract/{Compiler.d.ts → CompilerHttp.d.ts} +3 -3
  102. package/es/contract/{Compiler.mjs → CompilerHttp.mjs} +8 -13
  103. package/es/contract/CompilerHttp.mjs.map +1 -0
  104. package/es/contract/Contract.d.ts +235 -0
  105. package/es/contract/Contract.mjs +534 -0
  106. package/es/contract/Contract.mjs.map +1 -0
  107. package/es/contract/ga.d.ts +7 -33
  108. package/es/contract/ga.mjs +20 -112
  109. package/es/contract/ga.mjs.map +1 -1
  110. package/es/index.d.ts +9 -6
  111. package/es/index.mjs +8 -6
  112. package/es/index.mjs.map +1 -1
  113. package/es/oracle.d.ts +5 -5
  114. package/es/oracle.mjs +33 -39
  115. package/es/oracle.mjs.map +1 -1
  116. package/es/spend.d.ts +3 -3
  117. package/es/spend.mjs +17 -20
  118. package/es/spend.mjs.map +1 -1
  119. package/es/tx/builder/constants.d.ts +2 -1
  120. package/es/tx/builder/constants.mjs +12 -12
  121. package/es/tx/builder/constants.mjs.map +1 -1
  122. package/es/tx/builder/field-types/address.d.ts +15 -0
  123. package/es/tx/builder/field-types/address.mjs +42 -0
  124. package/es/tx/builder/field-types/address.mjs.map +1 -0
  125. package/es/tx/builder/field-types/addresses.d.ts +6 -0
  126. package/es/tx/builder/field-types/addresses.mjs +13 -0
  127. package/es/tx/builder/field-types/addresses.mjs.map +1 -0
  128. package/es/tx/builder/field-types/coin-amount.d.ts +1 -2
  129. package/es/tx/builder/field-types/coin-amount.mjs +4 -12
  130. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  131. package/es/tx/builder/field-types/deposit.d.ts +0 -1
  132. package/es/tx/builder/field-types/deposit.mjs +2 -4
  133. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  134. package/es/tx/builder/field-types/enumeration.d.ts +5 -0
  135. package/es/tx/builder/field-types/enumeration.mjs +21 -0
  136. package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
  137. package/es/tx/builder/field-types/fee.d.ts +1 -9
  138. package/es/tx/builder/field-types/fee.mjs +9 -25
  139. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  140. package/es/tx/builder/field-types/field.mjs +0 -2
  141. package/es/tx/builder/field-types/field.mjs.map +1 -1
  142. package/es/tx/builder/field-types/gas-limit.mjs +4 -9
  143. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  144. package/es/tx/builder/field-types/gas-price.d.ts +1 -2
  145. package/es/tx/builder/field-types/gas-price.mjs +3 -7
  146. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  147. package/es/tx/builder/field-types/index.d.ts +23 -11
  148. package/es/tx/builder/field-types/index.mjs +10 -3
  149. package/es/tx/builder/field-types/index.mjs.map +1 -1
  150. package/es/tx/builder/field-types/name-fee.d.ts +0 -1
  151. package/es/tx/builder/field-types/name-fee.mjs +3 -5
  152. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  153. package/es/tx/builder/field-types/name-id.d.ts +1 -4
  154. package/es/tx/builder/field-types/name-id.mjs +4 -10
  155. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  156. package/es/tx/builder/field-types/name.mjs +0 -2
  157. package/es/tx/builder/field-types/name.mjs.map +1 -1
  158. package/es/tx/builder/field-types/pointers.d.ts +23 -0
  159. package/es/tx/builder/field-types/pointers.mjs +36 -0
  160. package/es/tx/builder/field-types/pointers.mjs.map +1 -0
  161. package/es/tx/builder/field-types/short-u-int.mjs +0 -2
  162. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  163. package/es/tx/builder/field-types/u-int.d.ts +1 -1
  164. package/es/tx/builder/field-types/u-int.mjs +3 -4
  165. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  166. package/es/tx/builder/helpers.d.ts +2 -32
  167. package/es/tx/builder/helpers.mjs +19 -71
  168. package/es/tx/builder/helpers.mjs.map +1 -1
  169. package/es/tx/builder/index.d.ts +1 -21
  170. package/es/tx/builder/index.mjs +29 -148
  171. package/es/tx/builder/index.mjs.map +1 -1
  172. package/es/tx/builder/schema.d.ts +336 -176
  173. package/es/tx/builder/schema.mjs +71 -78
  174. package/es/tx/builder/schema.mjs.map +1 -1
  175. package/es/tx/index.d.ts +3 -33
  176. package/es/tx/index.mjs +26 -43
  177. package/es/tx/index.mjs.map +1 -1
  178. package/es/tx/validator.d.ts +2 -2
  179. package/es/tx/validator.mjs +86 -59
  180. package/es/tx/validator.mjs.map +1 -1
  181. package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
  182. package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
  183. package/es/utils/amount-formatter.mjs +4 -10
  184. package/es/utils/amount-formatter.mjs.map +1 -1
  185. package/es/utils/autorest.d.ts +1 -0
  186. package/es/utils/autorest.mjs +17 -19
  187. package/es/utils/autorest.mjs.map +1 -1
  188. package/es/utils/bignumber.mjs +4 -7
  189. package/es/utils/bignumber.mjs.map +1 -1
  190. package/es/utils/bytes.d.ts +0 -17
  191. package/es/utils/bytes.mjs +6 -35
  192. package/es/utils/bytes.mjs.map +1 -1
  193. package/es/utils/crypto.d.ts +15 -8
  194. package/es/utils/crypto.mjs +40 -40
  195. package/es/utils/crypto.mjs.map +1 -1
  196. package/es/utils/encoder-types.d.ts +28 -28
  197. package/es/utils/encoder-types.mjs +0 -1
  198. package/es/utils/encoder-types.mjs.map +1 -1
  199. package/es/utils/encoder.d.ts +0 -1
  200. package/es/utils/encoder.mjs +7 -15
  201. package/es/utils/encoder.mjs.map +1 -1
  202. package/es/utils/errors.d.ts +12 -6
  203. package/es/utils/errors.mjs +87 -163
  204. package/es/utils/errors.mjs.map +1 -1
  205. package/es/utils/hd-wallet.d.ts +27 -19
  206. package/es/utils/hd-wallet.mjs +42 -26
  207. package/es/utils/hd-wallet.mjs.map +1 -1
  208. package/es/utils/json-big.mjs +0 -8
  209. package/es/utils/json-big.mjs.map +1 -1
  210. package/es/utils/keystore.d.ts +2 -0
  211. package/es/utils/keystore.mjs +37 -36
  212. package/es/utils/keystore.mjs.map +1 -1
  213. package/es/utils/mptree.d.ts +1 -1
  214. package/es/utils/mptree.mjs +4 -26
  215. package/es/utils/mptree.mjs.map +1 -1
  216. package/es/utils/other.d.ts +3 -1
  217. package/es/utils/other.mjs +11 -7
  218. package/es/utils/other.mjs.map +1 -1
  219. package/es/utils/semver-satisfies.mjs +0 -3
  220. package/es/utils/semver-satisfies.mjs.map +1 -1
  221. package/es/utils/string.d.ts +0 -12
  222. package/es/utils/string.mjs +1 -21
  223. package/es/utils/string.mjs.map +1 -1
  224. package/package.json +87 -48
  225. package/src/AeSdk.ts +15 -11
  226. package/src/AeSdkAepp.ts +9 -7
  227. package/src/AeSdkBase.ts +28 -202
  228. package/src/AeSdkMethods.ts +170 -0
  229. package/src/AeSdkWallet.ts +16 -47
  230. package/src/Node.ts +11 -15
  231. package/src/account/Base.ts +29 -75
  232. package/src/account/Generalized.ts +98 -0
  233. package/src/account/Ledger.ts +131 -0
  234. package/src/account/LedgerFactory.ts +86 -0
  235. package/src/account/Memory.ts +46 -60
  236. package/src/account/Rpc.ts +17 -26
  237. package/src/aens.ts +10 -9
  238. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +5 -4
  239. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
  240. package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
  241. package/src/aepp-wallet-communication/rpc/types.ts +11 -1
  242. package/src/aepp-wallet-communication/schema.ts +18 -18
  243. package/src/apis/compiler/code-model-v4.yaml +681 -888
  244. package/src/apis/compiler/compiler.ts +113 -154
  245. package/src/apis/compiler/models/index.ts +80 -140
  246. package/src/apis/compiler/models/mappers.ts +165 -183
  247. package/src/apis/compiler/models/parameters.ts +6 -12
  248. package/src/chain.ts +6 -3
  249. package/src/channel/Base.ts +327 -0
  250. package/src/channel/Contract.ts +487 -0
  251. package/src/channel/Spend.ts +403 -0
  252. package/src/channel/handlers.ts +154 -573
  253. package/src/channel/internal.ts +113 -142
  254. package/src/contract/{Compiler.ts → CompilerHttp.ts} +5 -5
  255. package/src/contract/Contract.ts +620 -0
  256. package/src/contract/ga.ts +18 -104
  257. package/src/index.ts +9 -8
  258. package/src/oracle.ts +7 -7
  259. package/src/spend.ts +5 -13
  260. package/src/tx/builder/constants.ts +1 -0
  261. package/src/tx/builder/field-types/address.ts +52 -0
  262. package/src/tx/builder/field-types/addresses.ts +18 -0
  263. package/src/tx/builder/field-types/coin-amount.ts +2 -8
  264. package/src/tx/builder/field-types/enumeration.ts +21 -0
  265. package/src/tx/builder/field-types/fee.ts +1 -3
  266. package/src/tx/builder/field-types/gas-limit.ts +2 -2
  267. package/src/tx/builder/field-types/gas-price.ts +0 -2
  268. package/src/tx/builder/field-types/index.ts +16 -6
  269. package/src/tx/builder/field-types/name-fee.ts +1 -1
  270. package/src/tx/builder/field-types/name-id.ts +7 -10
  271. package/src/tx/builder/field-types/pointers.ts +41 -0
  272. package/src/tx/builder/field-types/u-int.ts +3 -2
  273. package/src/tx/builder/helpers.ts +10 -60
  274. package/src/tx/builder/index.ts +6 -65
  275. package/src/tx/builder/schema.ts +89 -100
  276. package/src/tx/index.ts +19 -15
  277. package/src/tx/validator.ts +36 -18
  278. package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
  279. package/src/utils/autorest.ts +16 -1
  280. package/src/utils/bytes.ts +5 -33
  281. package/src/utils/crypto.ts +23 -16
  282. package/src/utils/encoder.ts +0 -1
  283. package/src/utils/errors.ts +18 -12
  284. package/src/utils/hd-wallet.ts +30 -9
  285. package/src/utils/keystore.ts +24 -21
  286. package/src/utils/other.ts +16 -1
  287. package/src/utils/string.ts +0 -20
  288. package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
  289. package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
  290. package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
  291. package/types-legacy/ts4.2/AeSdkMethods.d.ts +141 -0
  292. package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
  293. package/types-legacy/ts4.2/Node.d.ts +78 -0
  294. package/types-legacy/ts4.2/account/Base.d.ts +52 -0
  295. package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
  296. package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
  297. package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
  298. package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
  299. package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
  300. package/types-legacy/ts4.2/aens.d.ts +222 -0
  301. package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  302. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  303. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  304. package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  305. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  306. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
  307. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
  308. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  309. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
  310. package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
  311. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
  312. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
  313. package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
  314. package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
  315. package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
  316. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
  317. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
  318. package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
  319. package/types-legacy/ts4.2/chain.d.ts +248 -0
  320. package/types-legacy/ts4.2/channel/Base.d.ts +194 -0
  321. package/types-legacy/ts4.2/channel/Contract.d.ts +247 -0
  322. package/types-legacy/ts4.2/channel/Spend.d.ts +217 -0
  323. package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
  324. package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
  325. package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +18 -0
  326. package/types-legacy/ts4.2/contract/Contract.d.ts +237 -0
  327. package/types-legacy/ts4.2/contract/ga.d.ts +43 -0
  328. package/types-legacy/ts4.2/globals.d.ts +16 -0
  329. package/types-legacy/ts4.2/index.d.ts +39 -0
  330. package/types-legacy/ts4.2/oracle.d.ts +161 -0
  331. package/types-legacy/ts4.2/spend.d.ts +62 -0
  332. package/types-legacy/ts4.2/tx/builder/constants.d.ts +71 -0
  333. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +22 -0
  334. package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +6 -0
  335. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
  336. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
  337. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -0
  338. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +17 -0
  339. package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
  340. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +12 -0
  341. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
  342. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +85 -0
  343. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +19 -0
  344. package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
  345. package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
  346. package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
  347. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
  348. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +8 -0
  349. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
  350. package/types-legacy/ts4.2/tx/builder/index.d.ts +68 -0
  351. package/types-legacy/ts4.2/tx/builder/schema.d.ts +2963 -0
  352. package/types-legacy/ts4.2/tx/index.d.ts +34 -0
  353. package/types-legacy/ts4.2/tx/validator.d.ts +20 -0
  354. package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
  355. package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
  356. package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
  357. package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
  358. package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
  359. package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
  360. package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
  361. package/types-legacy/ts4.2/utils/errors.d.ts +480 -0
  362. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
  363. package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
  364. package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
  365. package/types-legacy/ts4.2/utils/mptree.d.ts +32 -0
  366. package/types-legacy/ts4.2/utils/other.d.ts +31 -0
  367. package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
  368. package/types-legacy/ts4.2/utils/string.d.ts +12 -0
  369. package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
  370. package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
  371. package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
  372. package/types-legacy/ts4.5/AeSdkMethods.d.ts +141 -0
  373. package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
  374. package/types-legacy/ts4.5/Node.d.ts +78 -0
  375. package/types-legacy/ts4.5/account/Base.d.ts +52 -0
  376. package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
  377. package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
  378. package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
  379. package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
  380. package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
  381. package/types-legacy/ts4.5/aens.d.ts +222 -0
  382. package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  383. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  384. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  385. package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  386. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  387. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
  388. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
  389. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  390. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
  391. package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
  392. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
  393. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
  394. package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
  395. package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
  396. package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
  397. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
  398. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
  399. package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
  400. package/types-legacy/ts4.5/chain.d.ts +248 -0
  401. package/types-legacy/ts4.5/channel/Base.d.ts +194 -0
  402. package/types-legacy/ts4.5/channel/Contract.d.ts +247 -0
  403. package/types-legacy/ts4.5/channel/Spend.d.ts +217 -0
  404. package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
  405. package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
  406. package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +18 -0
  407. package/types-legacy/ts4.5/contract/Contract.d.ts +237 -0
  408. package/types-legacy/ts4.5/contract/ga.d.ts +43 -0
  409. package/types-legacy/ts4.5/index.d.ts +38 -0
  410. package/types-legacy/ts4.5/oracle.d.ts +161 -0
  411. package/types-legacy/ts4.5/spend.d.ts +62 -0
  412. package/types-legacy/ts4.5/tx/builder/constants.d.ts +71 -0
  413. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +22 -0
  414. package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +6 -0
  415. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
  416. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
  417. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -0
  418. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +17 -0
  419. package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
  420. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +12 -0
  421. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
  422. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +85 -0
  423. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +19 -0
  424. package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
  425. package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
  426. package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
  427. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
  428. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +8 -0
  429. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
  430. package/types-legacy/ts4.5/tx/builder/index.d.ts +68 -0
  431. package/types-legacy/ts4.5/tx/builder/schema.d.ts +2963 -0
  432. package/types-legacy/ts4.5/tx/index.d.ts +34 -0
  433. package/types-legacy/ts4.5/tx/validator.d.ts +20 -0
  434. package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
  435. package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
  436. package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
  437. package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
  438. package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
  439. package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
  440. package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
  441. package/types-legacy/ts4.5/utils/errors.d.ts +480 -0
  442. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
  443. package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
  444. package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
  445. package/types-legacy/ts4.5/utils/mptree.d.ts +32 -0
  446. package/types-legacy/ts4.5/utils/other.d.ts +31 -0
  447. package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
  448. package/types-legacy/ts4.5/utils/string.d.ts +12 -0
  449. package/es/channel/index.d.ts +0 -625
  450. package/es/channel/index.mjs +0 -975
  451. package/es/channel/index.mjs.map +0 -1
  452. package/es/contract/Compiler.mjs.map +0 -1
  453. package/es/contract/aci.d.ts +0 -127
  454. package/es/contract/aci.mjs +0 -509
  455. package/es/contract/aci.mjs.map +0 -1
  456. package/es/contract/methods.d.ts +0 -71
  457. package/es/contract/methods.mjs +0 -104
  458. package/es/contract/methods.mjs.map +0 -1
  459. package/es/deprecated/index.d.ts +0 -143
  460. package/es/deprecated/index.mjs +0 -162
  461. package/es/deprecated/index.mjs.map +0 -1
  462. package/es/deprecated/methods.d.ts +0 -18
  463. package/es/deprecated/methods.mjs +0 -26
  464. package/es/deprecated/methods.mjs.map +0 -1
  465. package/es/tx/builder/address.d.ts +0 -25
  466. package/es/tx/builder/address.mjs +0 -45
  467. package/es/tx/builder/address.mjs.map +0 -1
  468. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
  469. package/src/channel/index.ts +0 -1025
  470. package/src/contract/aci.ts +0 -538
  471. package/src/contract/methods.ts +0 -123
  472. package/src/deprecated/index.ts +0 -172
  473. package/src/deprecated/methods.ts +0 -25
  474. package/src/tx/builder/address.ts +0 -50
  475. package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
@@ -1,509 +0,0 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2022 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
- // @ts-expect-error TODO remove
18
- import _aeternityAeppCalldata from '@aeternity/aepp-calldata';
19
- const {
20
- Encoder: Calldata
21
- } = _aeternityAeppCalldata;
22
- import { DRY_RUN_ACCOUNT, AMOUNT } from "../tx/builder/schema.mjs";
23
- import { Tag } from "../tx/builder/constants.mjs";
24
- import { buildContractIdByContractTx, unpackTx } from "../tx/builder/index.mjs";
25
- import { _buildTx } from "../tx/index.mjs";
26
- import { send } from "../spend.mjs";
27
- import { decode } from "../utils/encoder.mjs";
28
- import { MissingContractDefError, MissingContractAddressError, InactiveContractError, BytecodeMismatchError, DuplicateContractError, MissingFunctionNameError, InvalidMethodInvocationError, NotPayableFunctionError, TypeError, NodeInvocationError, IllegalArgumentError, NoSuchContractFunctionError, MissingEventDefinitionError, AmbiguousEventDefinitionError, UnexpectedTsError, InternalError } from "../utils/errors.mjs";
29
- import { hash as calcHash } from "../utils/crypto.mjs";
30
- import { getAccount, getContract, getContractByteCode, getKeyBlock, resolveName, txDryRun } from "../chain.mjs";
31
-
32
- /**
33
- * Generate contract ACI object with predefined js methods for contract usage - can be used for
34
- * creating a reference to already deployed contracts
35
- * @category contract
36
- * @param options - Options object
37
- * @returns JS Contract API
38
- * @example
39
- * ```js
40
- * const contractIns = await aeSdk.getContractInstance({ source })
41
- * await contractIns.deploy([321]) or await contractIns.methods.init(321)
42
- * const callResult = await contractIns.call('setState', [123]) or
43
- * await contractIns.methods.setState.send(123, options)
44
- * const staticCallResult = await contractIns.call('setState', [123], { callStatic: true }) or
45
- * await contractIns.methods.setState.get(123, options)
46
- * ```
47
- * Also you can call contract like: `await contractIns.methods.setState(123, options)`
48
- * Then sdk decide to make on-chain or static call(dry-run API) transaction based on function is
49
- * stateful or not
50
- */
51
- export default async function getContractInstance(_ref) {
52
- let {
53
- onAccount,
54
- onCompiler,
55
- onNode,
56
- source,
57
- bytecode,
58
- aci: _aci,
59
- contractAddress,
60
- fileSystem = {},
61
- validateBytecode,
62
- ...otherOptions
63
- } = _ref;
64
-
65
- if (_aci == null && source != null) {
66
- // TODO: should be fixed when the compiledAci interface gets updated
67
- _aci = await onCompiler.generateACI({
68
- code: source,
69
- options: {
70
- fileSystem
71
- }
72
- });
73
- }
74
-
75
- if (_aci == null) throw new MissingContractDefError();
76
-
77
- if (contractAddress != null) {
78
- contractAddress = await resolveName(contractAddress, 'contract_pubkey', {
79
- resolveByNode: true,
80
- onNode
81
- });
82
- }
83
-
84
- if (contractAddress == null && source == null && bytecode == null) {
85
- throw new MissingContractAddressError('Can\'t create instance by ACI without address');
86
- }
87
-
88
- if (contractAddress != null) {
89
- const contract = await getContract(contractAddress, {
90
- onNode
91
- });
92
- if (contract.active == null) throw new InactiveContractError(contractAddress);
93
- }
94
-
95
- const instance = {
96
- _aci,
97
- _name: _aci.encodedAci.contract.name,
98
- calldata: new Calldata([_aci.encodedAci, ..._aci.externalEncodedAci]),
99
- source,
100
- bytecode,
101
- deployInfo: {
102
- address: contractAddress
103
- },
104
- options: {
105
- onAccount,
106
- onCompiler,
107
- onNode,
108
- amount: AMOUNT,
109
- callStatic: false,
110
- fileSystem,
111
- ...otherOptions
112
- },
113
-
114
- /* eslint-disable @typescript-eslint/no-unused-vars */
115
-
116
- /* eslint-disable @typescript-eslint/no-empty-function */
117
- async compile(_options) {},
118
-
119
- async _estimateGas(_name, _params, _options) {},
120
-
121
- async deploy(_params, _options) {},
122
-
123
- async call(_fn, _params, _options) {},
124
-
125
- decodeEvents(_events, options) {},
126
-
127
- /* eslint-enable @typescript-eslint/no-unused-vars */
128
-
129
- /* eslint-enable @typescript-eslint/no-empty-function */
130
- methods: undefined
131
- };
132
-
133
- if (validateBytecode != null) {
134
- if (contractAddress == null) throw new MissingContractAddressError('Can\'t validate bytecode without contract address');
135
- const onChanBytecode = (await getContractByteCode(contractAddress, {
136
- onNode
137
- })).bytecode;
138
- const isValid = source != null ? await onCompiler.validateByteCode({
139
- bytecode: onChanBytecode,
140
- source,
141
- options: instance.options
142
- }).then(() => true, () => false) : bytecode === onChanBytecode;
143
- if (!isValid) throw new BytecodeMismatchError(source != null ? 'source' : 'bytecode');
144
- }
145
- /**
146
- * Compile contract
147
- * @returns bytecode
148
- */
149
-
150
-
151
- instance.compile = async function () {
152
- let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
153
- if (instance.bytecode != null) throw new IllegalArgumentError('Contract already compiled');
154
- if (instance.source == null) throw new IllegalArgumentError('Can\'t compile without source code');
155
- instance.bytecode = (await onCompiler.compileContract({
156
- code: instance.source,
157
- options: { ...instance.options,
158
- ...options
159
- }
160
- })).bytecode;
161
- return instance.bytecode;
162
- };
163
-
164
- const handleCallError = (_ref2, transaction) => {
165
- let {
166
- returnType,
167
- returnValue
168
- } = _ref2;
169
- let message;
170
-
171
- switch (returnType) {
172
- case 'ok':
173
- return;
174
-
175
- case 'revert':
176
- message = instance.calldata.decodeFateString(returnValue);
177
- break;
178
-
179
- case 'error':
180
- message = decode(returnValue).toString();
181
- break;
182
-
183
- default:
184
- throw new InternalError(`Unknown return type: ${returnType}`);
185
- }
186
-
187
- throw new NodeInvocationError(message, transaction);
188
- };
189
-
190
- const sendAndProcess = async (tx, options) => {
191
- options = { ...instance.options,
192
- ...options
193
- };
194
- const txData = await send(tx, options);
195
- const result = {
196
- hash: txData.hash,
197
- tx: unpackTx(txData.rawTx),
198
- txData,
199
- rawTx: txData.rawTx
200
- };
201
- if (txData.blockHeight == null) return result;
202
- const {
203
- callInfo
204
- } = await onNode.getTransactionInfoByHash(txData.hash);
205
- Object.assign(result.txData, callInfo); // TODO: don't duplicate data in result
206
- // @ts-expect-error TODO api should be updated to match types
207
-
208
- handleCallError(callInfo, tx);
209
- return { ...result,
210
- result: callInfo
211
- };
212
- };
213
-
214
- instance._estimateGas = async (name, params, options) => {
215
- const {
216
- result: {
217
- gasUsed
218
- }
219
- } = await instance.call(name, params, { ...options,
220
- callStatic: true
221
- }); // taken from https://github.com/aeternity/aepp-sdk-js/issues/1286#issuecomment-977814771
222
-
223
- return Math.floor(gasUsed * 1.25);
224
- };
225
- /**
226
- * Deploy contract
227
- * @param params - Contract init function arguments array
228
- * @param options - Options
229
- * @returns deploy info
230
- */
231
-
232
-
233
- instance.deploy = async function () {
234
- var _opt$gasLimit;
235
-
236
- let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
237
- let options = arguments.length > 1 ? arguments[1] : undefined;
238
- const opt = { ...instance.options,
239
- ...options
240
- };
241
- if (instance.bytecode == null) await instance.compile(opt); // @ts-expect-error TODO: need to fix compatibility between return types of `deploy` and `call`
242
-
243
- if (opt.callStatic === true) return instance.call('init', params, opt);
244
- if (instance.deployInfo.address != null) throw new DuplicateContractError();
245
- const ownerId = await opt.onAccount.address(options);
246
- const tx = await _buildTx(Tag.ContractCreateTx, { ...opt,
247
- gasLimit: (_opt$gasLimit = opt.gasLimit) !== null && _opt$gasLimit !== void 0 ? _opt$gasLimit : await instance._estimateGas('init', params, opt),
248
- callData: instance.calldata.encode(instance._name, 'init', params),
249
- code: instance.bytecode,
250
- ownerId,
251
- onNode
252
- });
253
- const contractId = buildContractIdByContractTx(tx);
254
- const {
255
- hash,
256
- rawTx,
257
- result,
258
- txData
259
- } = await sendAndProcess(tx, opt);
260
- instance.deployInfo = Object.freeze({
261
- result,
262
- owner: ownerId,
263
- transaction: hash,
264
- rawTx,
265
- txData,
266
- address: contractId
267
- });
268
- return instance.deployInfo;
269
- };
270
- /**
271
- * Get function schema from contract ACI object
272
- * @param name - Function name
273
- * @returns function ACI
274
- */
275
-
276
-
277
- function getFunctionACI(name) {
278
- const fn = instance._aci.encodedAci.contract.functions.find(f => f.name === name);
279
-
280
- if (fn != null) {
281
- return fn;
282
- }
283
-
284
- if (name === 'init') return {
285
- payable: false
286
- };
287
- throw new NoSuchContractFunctionError(`Function ${name} doesn't exist in contract`);
288
- }
289
- /**
290
- * Call contract function
291
- * @param fn - Function name
292
- * @param params - Array of function arguments
293
- * @param options - Array of function arguments
294
- * @returns CallResult
295
- */
296
-
297
-
298
- instance.call = async function (fn) {
299
- let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
300
- let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
301
- const opt = { ...instance.options,
302
- ...options
303
- };
304
- const fnACI = getFunctionACI(fn);
305
- const contractId = instance.deployInfo.address;
306
- if (fn == null) throw new MissingFunctionNameError();
307
- if (fn === 'init' && opt.callStatic === false) throw new InvalidMethodInvocationError('"init" can be called only via dryRun');
308
- if (contractId == null && fn !== 'init') throw new InvalidMethodInvocationError('You need to deploy contract before calling!');
309
- if (fn !== 'init' && opt.amount > 0 && fnACI.payable === false) throw new NotPayableFunctionError(opt.amount, fn);
310
- const callerId = await Promise.resolve().then(() => opt.onAccount.address(opt)).catch(error => {
311
- if (opt.callStatic === true) return DRY_RUN_ACCOUNT.pub;
312
- throw error;
313
- });
314
- const callData = instance.calldata.encode(instance._name, fn, params);
315
- let res;
316
-
317
- if (opt.callStatic === true) {
318
- if (typeof opt.top === 'number') {
319
- opt.top = (await getKeyBlock(opt.top, {
320
- onNode
321
- })).hash;
322
- }
323
-
324
- const txOpt = { ...opt,
325
- onNode,
326
- callData
327
- };
328
-
329
- if (opt.nonce == null && opt.top != null) {
330
- opt.nonce = (await getAccount(callerId, {
331
- hash: opt.top,
332
- onNode
333
- })).nonce + 1;
334
- }
335
-
336
- const tx = await (fn === 'init' ? _buildTx(Tag.ContractCreateTx, { ...txOpt,
337
- code: instance.bytecode,
338
- ownerId: callerId
339
- }) : _buildTx(Tag.ContractCallTx, { ...txOpt,
340
- callerId,
341
- contractId
342
- }));
343
- const {
344
- callObj,
345
- ...dryRunOther
346
- } = await txDryRun(tx, callerId, {
347
- onNode,
348
- ...opt
349
- });
350
- if (callObj == null) throw new UnexpectedTsError();
351
- handleCallError({
352
- returnType: callObj.returnType,
353
- returnValue: callObj.returnValue
354
- }, tx);
355
- res = { ...dryRunOther,
356
- tx: unpackTx(tx),
357
- result: callObj
358
- };
359
- } else {
360
- var _opt$gasLimit2;
361
-
362
- const tx = await _buildTx(Tag.ContractCallTx, { ...opt,
363
- onNode,
364
- gasLimit: (_opt$gasLimit2 = opt.gasLimit) !== null && _opt$gasLimit2 !== void 0 ? _opt$gasLimit2 : await instance._estimateGas(fn, params, opt),
365
- callerId,
366
- contractId,
367
- callData
368
- });
369
- res = await sendAndProcess(tx, opt);
370
- }
371
-
372
- if (opt.callStatic === true || res.txData.blockHeight != null) {
373
- res.decodedResult = fnACI.returns != null && fnACI.returns !== 'unit' && fn !== 'init' && instance.calldata.decode(instance._name, fn, res.result.returnValue);
374
- res.decodedEvents = instance.decodeEvents(res.result.log, opt);
375
- }
376
-
377
- return res;
378
- };
379
- /**
380
- * @param address - Contract address that emitted event
381
- * @param nameHash - Hash of emitted event name
382
- * @param options - Options
383
- * @returns Contract name
384
- * @throws {@link MissingEventDefinitionError}
385
- * @throws {@link AmbiguousEventDefinitionError}
386
- */
387
-
388
-
389
- function getContractNameByEvent(address, nameHash, _ref3) {
390
- let {
391
- contractAddressToName
392
- } = _ref3;
393
- const addressToName = { ...instance.options.contractAddressToName,
394
- ...contractAddressToName
395
- };
396
- if (addressToName[address] != null) return addressToName[address];
397
- const matchedEvents = [instance._aci.encodedAci, ...instance._aci.externalEncodedAci].filter(_ref4 => {
398
- let {
399
- contract
400
- } = _ref4;
401
- return contract === null || contract === void 0 ? void 0 : contract.event;
402
- }).map(_ref5 => {
403
- let {
404
- contract
405
- } = _ref5;
406
- return [contract.name, contract.event.variant];
407
- }).map(_ref6 => {
408
- let [name, events] = _ref6;
409
- return events.map(event => [name, Object.keys(event)[0]]);
410
- }).flat().filter(_ref7 => {
411
- let [, eventName] = _ref7;
412
- return BigInt(`0x${calcHash(eventName).toString('hex')}`) === nameHash;
413
- });
414
-
415
- switch (matchedEvents.length) {
416
- case 0:
417
- throw new MissingEventDefinitionError(nameHash.toString(), address);
418
-
419
- case 1:
420
- return matchedEvents[0][0];
421
-
422
- default:
423
- throw new AmbiguousEventDefinitionError(address, matchedEvents);
424
- }
425
- }
426
- /**
427
- * Decode Events
428
- * @param events - Array of encoded events (callRes.result.log)
429
- * @param options - Options
430
- * @returns DecodedEvents
431
- */
432
-
433
-
434
- instance.decodeEvents = function (events) {
435
- let {
436
- omitUnknown,
437
- ...opt
438
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
439
- return events.map(event => {
440
- const topics = event.topics.map(t => BigInt(t));
441
- let contractName;
442
-
443
- try {
444
- contractName = getContractNameByEvent(event.address, topics[0], opt);
445
- } catch (error) {
446
- if ((omitUnknown !== null && omitUnknown !== void 0 ? omitUnknown : false) && error instanceof MissingEventDefinitionError) return null;
447
- throw error;
448
- }
449
-
450
- const decoded = instance.calldata.decodeEvent(contractName, event.data, topics);
451
- const [name, args] = Object.entries(decoded)[0];
452
- return {
453
- name,
454
- args,
455
- contract: {
456
- name: contractName,
457
- address: event.address
458
- }
459
- };
460
- }).filter(e => e != null);
461
- };
462
- /**
463
- * Generate proto function based on contract function using Contract ACI schema
464
- * All function can be called like:
465
- * ```js
466
- * await contract.methods.testFunction()
467
- * ```
468
- * then sdk will decide to use dry-run or send tx
469
- * on-chain base on if function stateful or not.
470
- * Also, you can manually do that:
471
- * ```js
472
- * await contract.methods.testFunction.get() // use call-static (dry-run)
473
- * await contract.methods.testFunction.send() // send tx on-chain
474
- * ```
475
- */
476
-
477
-
478
- instance.methods = Object.fromEntries(instance._aci.encodedAci.contract.functions.map(_ref8 => {
479
- let {
480
- name,
481
- arguments: aciArgs,
482
- stateful
483
- } = _ref8;
484
-
485
- const genHandler = callStatic => async function () {
486
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
487
- args[_key] = arguments[_key];
488
- }
489
-
490
- const options = args.length === aciArgs.length + 1 ? args.pop() : {};
491
- if (typeof options !== 'object') throw new TypeError(`Options should be an object: ${options}`);
492
- if (name === 'init') return instance.deploy(args, {
493
- callStatic,
494
- ...options
495
- });
496
- return instance.call(name, args, {
497
- callStatic,
498
- ...options
499
- });
500
- };
501
-
502
- return [name, Object.assign(genHandler(name === 'init' ? false : !stateful), {
503
- get: genHandler(true),
504
- send: genHandler(false)
505
- })];
506
- }));
507
- return instance;
508
- }
509
- //# sourceMappingURL=aci.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aci.mjs","names":["DRY_RUN_ACCOUNT","AMOUNT","Tag","buildContractIdByContractTx","unpackTx","_buildTx","send","decode","MissingContractDefError","MissingContractAddressError","InactiveContractError","BytecodeMismatchError","DuplicateContractError","MissingFunctionNameError","InvalidMethodInvocationError","NotPayableFunctionError","TypeError","NodeInvocationError","IllegalArgumentError","NoSuchContractFunctionError","MissingEventDefinitionError","AmbiguousEventDefinitionError","UnexpectedTsError","InternalError","hash","calcHash","getAccount","getContract","getContractByteCode","getKeyBlock","resolveName","txDryRun","getContractInstance","onAccount","onCompiler","onNode","source","bytecode","aci","_aci","contractAddress","fileSystem","validateBytecode","otherOptions","generateACI","code","options","resolveByNode","contract","active","instance","_name","encodedAci","name","calldata","Calldata","externalEncodedAci","deployInfo","address","amount","callStatic","compile","_options","_estimateGas","_params","deploy","call","_fn","decodeEvents","_events","methods","undefined","onChanBytecode","isValid","validateByteCode","then","compileContract","handleCallError","transaction","returnType","returnValue","message","decodeFateString","toString","sendAndProcess","tx","txData","result","rawTx","blockHeight","callInfo","getTransactionInfoByHash","Object","assign","params","gasUsed","Math","floor","opt","ownerId","ContractCreateTx","gasLimit","callData","encode","contractId","freeze","owner","getFunctionACI","fn","functions","find","f","payable","fnACI","callerId","Promise","resolve","catch","error","pub","res","top","txOpt","nonce","ContractCallTx","callObj","dryRunOther","decodedResult","returns","decodedEvents","log","getContractNameByEvent","nameHash","contractAddressToName","addressToName","matchedEvents","filter","event","map","variant","events","keys","flat","eventName","BigInt","length","omitUnknown","topics","t","contractName","decoded","decodeEvent","data","args","entries","e","fromEntries","arguments","aciArgs","stateful","genHandler","pop","get"],"sources":["../../src/contract/aci.ts"],"sourcesContent":["/*\n* ISC License (ISC)\n* Copyright (c) 2022 aeternity developers\n*\n* Permission to use, copy, modify, and/or distribute this software for any\n* purpose with or without fee is hereby granted, provided that the above\n* copyright notice and this permission notice appear in all copies.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n* PERFORMANCE OF THIS SOFTWARE.\n*/\n// @ts-expect-error TODO remove\nimport { Encoder as Calldata } from '@aeternity/aepp-calldata';\nimport { DRY_RUN_ACCOUNT, AMOUNT } from '../tx/builder/schema';\nimport { Tag, AensName } from '../tx/builder/constants';\nimport { buildContractIdByContractTx, unpackTx } from '../tx/builder';\nimport { _buildTx } from '../tx';\nimport { send } from '../spend';\nimport { decode, Encoded } from '../utils/encoder';\nimport {\n MissingContractDefError,\n MissingContractAddressError,\n InactiveContractError,\n BytecodeMismatchError,\n DuplicateContractError,\n MissingFunctionNameError,\n InvalidMethodInvocationError,\n NotPayableFunctionError,\n TypeError,\n NodeInvocationError,\n IllegalArgumentError,\n NoSuchContractFunctionError,\n MissingEventDefinitionError,\n AmbiguousEventDefinitionError,\n UnexpectedTsError,\n InternalError,\n} from '../utils/errors';\nimport { hash as calcHash } from '../utils/crypto';\nimport { Aci as BaseAci } from '../apis/compiler';\nimport { ContractCallReturnType } from '../apis/node';\nimport Compiler from './Compiler';\nimport Node from '../Node';\nimport {\n getAccount, getContract, getContractByteCode, getKeyBlock, resolveName, txDryRun,\n} from '../chain';\nimport AccountBase from '../account/Base';\n\ninterface FunctionACI {\n arguments: any[];\n name: string;\n payable: boolean;\n returns: string;\n stateful: boolean;\n}\n\ninterface Aci extends BaseAci {\n encodedAci: {\n contract: {\n name: string;\n event: any;\n kind: string;\n state: any;\n type_defs: any[];\n functions: FunctionACI[];\n };\n };\n externalEncodedAci: any[];\n}\n\ninterface Event {\n address: Encoded.ContractAddress;\n data: string;\n topics: Array<string | number>;\n}\n\ninterface DecodedEvent {\n name: string;\n args: unknown;\n contract: {\n name: string;\n address: Encoded.ContractAddress;\n };\n}\n\ntype TxData = Awaited<ReturnType<typeof send>>;\n\nexport interface ContractInstance {\n _aci: Aci;\n _name: string;\n calldata: any;\n source?: string;\n bytecode?: Encoded.ContractBytearray;\n deployInfo: {\n address?: Encoded.ContractAddress;\n result?: {\n callerId: string;\n callerNonce: string;\n contractId: string;\n gasPrice: bigint;\n gasUsed: number;\n height: number;\n log: any[];\n returnType: ContractCallReturnType;\n returnValue: string;\n };\n owner?: Encoded.AccountAddress;\n transaction?: string;\n rawTx?: string;\n txData?: TxData;\n };\n options: any;\n compile: (options?: {}) => Promise<Encoded.ContractBytearray>;\n _estimateGas: (name: string, params: any[], options: object) => Promise<number>;\n deploy: (params?: any[], options?: object) => Promise<any>;\n call: (fn: string, params?: any[], options?: {}) => Promise<{\n hash: string;\n tx: any;\n txData: TxData;\n rawTx: string;\n result: {\n callerId: Encoded.AccountAddress;\n callerNonce: number;\n contractId: Encoded.ContractAddress;\n gasPrice: number;\n gasUsed: number;\n height: number;\n log: any[];\n returnType: ContractCallReturnType;\n returnValue: string;\n };\n decodedResult: any;\n decodedEvents: DecodedEvent[];\n }>;\n decodeEvents: (\n events: Event[], options?: { omitUnknown?: boolean; contractAddressToName?: any }\n ) => DecodedEvent[];\n methods: any;\n}\n\n/**\n * Generate contract ACI object with predefined js methods for contract usage - can be used for\n * creating a reference to already deployed contracts\n * @category contract\n * @param options - Options object\n * @returns JS Contract API\n * @example\n * ```js\n * const contractIns = await aeSdk.getContractInstance({ source })\n * await contractIns.deploy([321]) or await contractIns.methods.init(321)\n * const callResult = await contractIns.call('setState', [123]) or\n * await contractIns.methods.setState.send(123, options)\n * const staticCallResult = await contractIns.call('setState', [123], { callStatic: true }) or\n * await contractIns.methods.setState.get(123, options)\n * ```\n * Also you can call contract like: `await contractIns.methods.setState(123, options)`\n * Then sdk decide to make on-chain or static call(dry-run API) transaction based on function is\n * stateful or not\n */\nexport default async function getContractInstance({\n onAccount,\n onCompiler,\n onNode,\n source,\n bytecode,\n aci: _aci,\n contractAddress,\n fileSystem = {},\n validateBytecode,\n ...otherOptions\n}: {\n onAccount?: AccountBase;\n onCompiler: Compiler;\n onNode: Node;\n source?: string;\n bytecode?: Encoded.ContractBytearray;\n aci?: Aci;\n contractAddress?: Encoded.ContractAddress | AensName;\n fileSystem?: Record<string, string>;\n validateBytecode?: boolean;\n [key: string]: any;\n}): Promise<ContractInstance> {\n if (_aci == null && source != null) {\n // TODO: should be fixed when the compiledAci interface gets updated\n _aci = await onCompiler.generateACI({ code: source, options: { fileSystem } }) as Aci;\n }\n if (_aci == null) throw new MissingContractDefError();\n\n if (contractAddress != null) {\n contractAddress = await resolveName(\n contractAddress,\n 'contract_pubkey',\n { resolveByNode: true, onNode },\n ) as Encoded.ContractAddress;\n }\n\n if (contractAddress == null && source == null && bytecode == null) {\n throw new MissingContractAddressError('Can\\'t create instance by ACI without address');\n }\n\n if (contractAddress != null) {\n const contract = await getContract(contractAddress, { onNode });\n if (contract.active == null) throw new InactiveContractError(contractAddress);\n }\n\n const instance: ContractInstance = {\n _aci,\n _name: _aci.encodedAci.contract.name,\n calldata: new Calldata([_aci.encodedAci, ..._aci.externalEncodedAci]),\n source,\n bytecode,\n deployInfo: { address: contractAddress },\n options: {\n onAccount,\n onCompiler,\n onNode,\n amount: AMOUNT,\n callStatic: false,\n fileSystem,\n ...otherOptions,\n },\n /* eslint-disable @typescript-eslint/no-unused-vars */\n /* eslint-disable @typescript-eslint/no-empty-function */\n async compile(_options?: {}): Promise<any> {},\n async _estimateGas(_name: string, _params: any[], _options: object): Promise<any> {},\n async deploy(_params?: any[], _options?: any): Promise<any> {},\n async call(_fn: string, _params?: any[], _options?: {}): Promise<any> {},\n decodeEvents(_events: Event[], options?: { omitUnknown?: boolean }): any {},\n /* eslint-enable @typescript-eslint/no-unused-vars */\n /* eslint-enable @typescript-eslint/no-empty-function */\n methods: undefined,\n };\n\n if (validateBytecode != null) {\n if (contractAddress == null) throw new MissingContractAddressError('Can\\'t validate bytecode without contract address');\n const onChanBytecode = (await getContractByteCode(contractAddress, { onNode })).bytecode;\n const isValid: boolean = source != null\n ? await onCompiler.validateByteCode(\n { bytecode: onChanBytecode, source, options: instance.options },\n ).then(() => true, () => false)\n : bytecode === onChanBytecode;\n if (!isValid) throw new BytecodeMismatchError(source != null ? 'source' : 'bytecode');\n }\n\n /**\n * Compile contract\n * @returns bytecode\n */\n instance.compile = async (options = {}): Promise<Encoded.ContractBytearray> => {\n if (instance.bytecode != null) throw new IllegalArgumentError('Contract already compiled');\n if (instance.source == null) throw new IllegalArgumentError('Can\\'t compile without source code');\n instance.bytecode = (await onCompiler.compileContract({\n code: instance.source, options: { ...instance.options, ...options },\n })).bytecode as Encoded.ContractBytearray;\n return instance.bytecode;\n };\n\n const handleCallError = (\n { returnType, returnValue }: {\n returnType: ContractCallReturnType;\n returnValue: Encoded.ContractBytearray;\n },\n transaction: string,\n ): void => {\n let message: string;\n switch (returnType) {\n case 'ok': return;\n case 'revert':\n message = instance.calldata.decodeFateString(returnValue);\n break;\n case 'error':\n message = decode(returnValue).toString();\n break;\n default:\n throw new InternalError(`Unknown return type: ${returnType}`);\n }\n throw new NodeInvocationError(message, transaction);\n };\n\n const sendAndProcess = async (tx: Encoded.Transaction, options: any): Promise<{\n result?: ContractInstance['deployInfo']['result'];\n hash: TxData['hash'];\n tx: Awaited<ReturnType<typeof unpackTx<Tag.ContractCallTx | Tag.ContractCreateTx>>>;\n txData: TxData;\n rawTx: Encoded.Transaction;\n }> => {\n options = { ...instance.options, ...options };\n const txData = await send(tx, options);\n const result = {\n hash: txData.hash,\n tx: unpackTx<Tag.ContractCallTx | Tag.ContractCreateTx>(txData.rawTx),\n txData,\n rawTx: txData.rawTx,\n };\n if (txData.blockHeight == null) return result;\n const { callInfo } = await onNode.getTransactionInfoByHash(txData.hash);\n Object.assign(result.txData, callInfo); // TODO: don't duplicate data in result\n // @ts-expect-error TODO api should be updated to match types\n handleCallError(callInfo, tx);\n return { ...result, result: callInfo };\n };\n\n instance._estimateGas = async (name: string, params: any[], options: object): Promise<number> => {\n const { result: { gasUsed } } = await instance\n .call(name, params, { ...options, callStatic: true });\n // taken from https://github.com/aeternity/aepp-sdk-js/issues/1286#issuecomment-977814771\n return Math.floor(gasUsed * 1.25);\n };\n\n /**\n * Deploy contract\n * @param params - Contract init function arguments array\n * @param options - Options\n * @returns deploy info\n */\n instance.deploy = async (\n params = [],\n options?:\n Parameters<typeof instance.compile>[0] &\n Parameters<typeof instance.call>[2] &\n Parameters<AccountBase['address']>[0] &\n Parameters<typeof sendAndProcess>[1],\n ): Promise<ContractInstance['deployInfo']> => {\n const opt = { ...instance.options, ...options };\n if (instance.bytecode == null) await instance.compile(opt);\n // @ts-expect-error TODO: need to fix compatibility between return types of `deploy` and `call`\n if (opt.callStatic === true) return instance.call('init', params, opt);\n if (instance.deployInfo.address != null) throw new DuplicateContractError();\n\n const ownerId = await opt.onAccount.address(options);\n const tx = await _buildTx(Tag.ContractCreateTx, {\n ...opt,\n gasLimit: opt.gasLimit ?? await instance._estimateGas('init', params, opt),\n callData: instance.calldata.encode(instance._name, 'init', params),\n code: instance.bytecode,\n ownerId,\n onNode,\n });\n const contractId = buildContractIdByContractTx(tx);\n const {\n hash, rawTx, result, txData,\n } = await sendAndProcess(tx, opt);\n instance.deployInfo = Object.freeze({\n result,\n owner: ownerId,\n transaction: hash,\n rawTx,\n txData,\n address: contractId,\n });\n return instance.deployInfo;\n };\n\n /**\n * Get function schema from contract ACI object\n * @param name - Function name\n * @returns function ACI\n */\n function getFunctionACI(name: string): Partial<FunctionACI> {\n const fn = instance._aci.encodedAci.contract.functions.find(\n (f: { name: string }) => f.name === name,\n );\n if (fn != null) {\n return fn;\n }\n if (name === 'init') return { payable: false };\n throw new NoSuchContractFunctionError(`Function ${name} doesn't exist in contract`);\n }\n\n /**\n * Call contract function\n * @param fn - Function name\n * @param params - Array of function arguments\n * @param options - Array of function arguments\n * @returns CallResult\n */\n instance.call = async (fn: string, params: any[] = [], options: object = {}) => {\n const opt = { ...instance.options, ...options };\n const fnACI = getFunctionACI(fn);\n const contractId = instance.deployInfo.address;\n\n if (fn == null) throw new MissingFunctionNameError();\n if (fn === 'init' && opt.callStatic === false) throw new InvalidMethodInvocationError('\"init\" can be called only via dryRun');\n if (contractId == null && fn !== 'init') throw new InvalidMethodInvocationError('You need to deploy contract before calling!');\n if (fn !== 'init' && opt.amount > 0 && fnACI.payable === false) throw new NotPayableFunctionError(opt.amount, fn);\n\n const callerId = await Promise.resolve()\n .then(() => opt.onAccount.address(opt))\n .catch((error: any) => {\n if (opt.callStatic === true) return DRY_RUN_ACCOUNT.pub;\n throw error;\n }) as Encoded.AccountAddress;\n const callData = instance.calldata.encode(instance._name, fn, params);\n\n let res: any;\n if (opt.callStatic === true) {\n if (typeof opt.top === 'number') {\n opt.top = (await getKeyBlock(opt.top, { onNode })).hash;\n }\n const txOpt = { ...opt, onNode, callData };\n if (opt.nonce == null && opt.top != null) {\n opt.nonce = (await getAccount(callerId, { hash: opt.top, onNode })).nonce + 1;\n }\n const tx = await (fn === 'init'\n ? _buildTx(Tag.ContractCreateTx, { ...txOpt, code: instance.bytecode, ownerId: callerId })\n : _buildTx(Tag.ContractCallTx, { ...txOpt, callerId, contractId }));\n\n const { callObj, ...dryRunOther } = await txDryRun(tx, callerId, { onNode, ...opt });\n if (callObj == null) throw new UnexpectedTsError();\n handleCallError({\n returnType: callObj.returnType as ContractCallReturnType,\n returnValue: callObj.returnValue as Encoded.ContractBytearray,\n }, tx);\n res = { ...dryRunOther, tx: unpackTx(tx), result: callObj };\n } else {\n const tx = await _buildTx(Tag.ContractCallTx, {\n ...opt,\n onNode,\n gasLimit: opt.gasLimit ?? await instance._estimateGas(fn, params, opt),\n callerId,\n contractId,\n callData,\n });\n res = await sendAndProcess(tx, opt);\n }\n if (opt.callStatic === true || res.txData.blockHeight != null) {\n res.decodedResult = fnACI.returns != null && fnACI.returns !== 'unit' && fn !== 'init'\n && instance.calldata.decode(instance._name, fn, res.result.returnValue);\n res.decodedEvents = instance.decodeEvents(res.result.log, opt);\n }\n return res;\n };\n\n /**\n * @param address - Contract address that emitted event\n * @param nameHash - Hash of emitted event name\n * @param options - Options\n * @returns Contract name\n * @throws {@link MissingEventDefinitionError}\n * @throws {@link AmbiguousEventDefinitionError}\n */\n function getContractNameByEvent(\n address: Encoded.ContractAddress,\n nameHash: BigInt,\n { contractAddressToName }: {\n contractAddressToName?: { [key: Encoded.ContractAddress]: string };\n },\n ): string {\n const addressToName = { ...instance.options.contractAddressToName, ...contractAddressToName };\n if (addressToName[address] != null) return addressToName[address];\n\n const matchedEvents = [\n instance._aci.encodedAci,\n ...instance._aci.externalEncodedAci,\n ]\n .filter(({ contract }) => contract?.event)\n .map(({ contract }) => [contract.name, contract.event.variant])\n .map(([name, events]) => events.map((event: {}) => [name, Object.keys(event)[0]]))\n .flat()\n .filter(([, eventName]) => BigInt(`0x${calcHash(eventName).toString('hex')}`) === nameHash);\n switch (matchedEvents.length) {\n case 0: throw new MissingEventDefinitionError(nameHash.toString(), address);\n case 1: return matchedEvents[0][0];\n default: throw new AmbiguousEventDefinitionError(address, matchedEvents);\n }\n }\n\n /**\n * Decode Events\n * @param events - Array of encoded events (callRes.result.log)\n * @param options - Options\n * @returns DecodedEvents\n */\n instance.decodeEvents = (\n events: Event[],\n { omitUnknown, ...opt }: { omitUnknown?: boolean } = {},\n ): DecodedEvent[] => events\n .map((event) => {\n const topics = event.topics.map((t: string | number) => BigInt(t));\n let contractName;\n try {\n contractName = getContractNameByEvent(event.address, topics[0], opt);\n } catch (error) {\n if ((omitUnknown ?? false) && error instanceof MissingEventDefinitionError) return null;\n throw error;\n }\n const decoded = instance.calldata.decodeEvent(contractName, event.data, topics);\n const [name, args] = Object.entries(decoded)[0];\n return {\n name,\n args,\n contract: {\n name: contractName,\n address: event.address,\n },\n };\n }).filter((e: DecodedEvent | null): e is DecodedEvent => e != null);\n\n /**\n * Generate proto function based on contract function using Contract ACI schema\n * All function can be called like:\n * ```js\n * await contract.methods.testFunction()\n * ```\n * then sdk will decide to use dry-run or send tx\n * on-chain base on if function stateful or not.\n * Also, you can manually do that:\n * ```js\n * await contract.methods.testFunction.get() // use call-static (dry-run)\n * await contract.methods.testFunction.send() // send tx on-chain\n * ```\n */\n instance.methods = Object.fromEntries(instance._aci.encodedAci.contract.functions\n .map(({ name, arguments: aciArgs, stateful }: FunctionACI) => {\n const genHandler = (callStatic: boolean) => async (...args: any[]) => {\n const options = args.length === aciArgs.length + 1 ? args.pop() : {};\n if (typeof options !== 'object') throw new TypeError(`Options should be an object: ${options as string}`);\n if (name === 'init') return instance.deploy(args, { callStatic, ...options });\n return instance.call(name, args, { callStatic, ...options });\n };\n return [\n name,\n Object.assign(\n genHandler(name === 'init' ? false : !stateful),\n {\n get: genHandler(true),\n send: genHandler(false),\n },\n ),\n ];\n }));\n\n return instance;\n}\n"],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- /**
2
- * Contract module - routines to interact with the æternity contract
3
- *
4
- * High level documentation of the contracts are available at
5
- * https://github.com/aeternity/protocol/tree/master/contracts and
6
- */
7
- import { AensName } from '../tx/builder/constants';
8
- import { Encoded } from '../utils/encoder';
9
- import AccountBase from '../account/Base';
10
- import Node from '../Node';
11
- export { default as getContractInstance } from './aci';
12
- /**
13
- * Utility method to create a delegate signature for a contract
14
- * @category contract
15
- * @param ids - The list of id's to prepend
16
- * @param opt - Options
17
- * @param opt.onNode - Node to use
18
- * @param opt.onAccount - Account to use
19
- * @returns Signature in hex representation
20
- */
21
- declare function delegateSignatureCommon(ids: Encoded.Any[], { onAccount, onNode, ...opt }: {
22
- onAccount: AccountBase;
23
- onNode: Node;
24
- } & Parameters<AccountBase['sign']>[1]): Promise<string>;
25
- /**
26
- * Helper to generate a signature to delegate pre-claim/claim/transfer/revoke of a name to
27
- * a contract.
28
- * @category contract
29
- * @param contractId - Contract Id
30
- * @param opt - Options
31
- * @param opt.name - The name
32
- * @returns Signature for delegation
33
- * @example
34
- * ```js
35
- * const aeSdk = new AeSdk({ ... })
36
- * const contractId = 'ct_asd2ks...' // contract address
37
- * const name = 'example.chain' // AENS name
38
- * const onAccount = await aeSdk.address() // Sign with a specific account
39
- * // Preclaim signature
40
- * const preclaimSig = await aeSdk.createAensDelegationSignature(contractId, { onAccount: current })
41
- * // Claim, transfer and revoke signature
42
- * const aensDelegationSig = await contract.createAensDelegationSignature(
43
- * contractId, { name, onAccount: current }
44
- * )
45
- * ```
46
- */
47
- export declare function createAensDelegationSignature(contractId: Encoded.ContractAddress, opt: Parameters<AccountBase['address']>[0] & Parameters<typeof delegateSignatureCommon>[1] & {
48
- name?: AensName;
49
- }): Promise<string>;
50
- /**
51
- * Helper to generate a signature to delegate register/extend/respond of a Oracle to a contract.
52
- * @category contract
53
- * @param contractId - Contract Id
54
- * @param opt - Options
55
- * @param opt.queryId - Oracle Query Id
56
- * @returns Signature for delegation
57
- * @example
58
- * ```js
59
- * const aeSdk = new AeSdk({ ... })
60
- * const contractId = 'ct_asd2ks...' // contract address
61
- * const queryId = 'oq_...' // Oracle Query Id
62
- * const onAccount = await aeSdk.address() // Sign with a specific account
63
- * // Oracle register and extend signature
64
- * const oracleDelegationSig = await aeSdk.createOracleDelegationSignature(contractId)
65
- * // Oracle respond signature
66
- * const respondSig = await aeSdk.createOracleDelegationSignature(contractId, { queryId })
67
- * ```
68
- */
69
- export declare function createOracleDelegationSignature(contractId: Encoded.ContractAddress, opt: Parameters<AccountBase['address']>[0] & Parameters<typeof delegateSignatureCommon>[1] & {
70
- queryId?: Encoded.OracleQueryId;
71
- }): Promise<string>;