@pezkuwi/api-contract 16.5.6 → 16.5.8

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 (384) hide show
  1. package/build/Abi/index.d.ts +31 -0
  2. package/build/Abi/index.js +359 -0
  3. package/build/Abi/toLatestCompatible.d.ts +15 -0
  4. package/build/Abi/toLatestCompatible.js +30 -0
  5. package/build/Abi/toV1.d.ts +3 -0
  6. package/build/Abi/toV1.js +21 -0
  7. package/build/Abi/toV2.d.ts +3 -0
  8. package/build/Abi/toV2.js +27 -0
  9. package/build/Abi/toV3.d.ts +3 -0
  10. package/build/Abi/toV3.js +10 -0
  11. package/build/Abi/toV4.d.ts +3 -0
  12. package/build/Abi/toV4.js +10 -0
  13. package/build/LICENSE +201 -0
  14. package/build/README.md +3 -0
  15. package/build/augment.d.ts +1 -0
  16. package/build/augment.js +1 -0
  17. package/build/base/Base.d.ts +13 -0
  18. package/build/base/Base.js +40 -0
  19. package/build/base/Blueprint.d.ts +24 -0
  20. package/build/base/Blueprint.js +51 -0
  21. package/build/base/Code.d.ts +22 -0
  22. package/build/base/Code.js +74 -0
  23. package/build/base/Contract.d.ts +25 -0
  24. package/build/base/Contract.js +127 -0
  25. package/build/base/index.d.ts +3 -0
  26. package/build/base/index.js +3 -0
  27. package/build/base/mock.d.ts +3 -0
  28. package/build/base/mock.js +38 -0
  29. package/build/base/types.d.ts +25 -0
  30. package/build/base/types.js +1 -0
  31. package/build/base/util.d.ts +16 -0
  32. package/build/base/util.js +33 -0
  33. package/build/bundle-pezkuwi-api-contract.js +1238 -0
  34. package/build/bundle.d.ts +4 -0
  35. package/build/bundle.js +4 -0
  36. package/build/cjs/Abi/index.d.ts +31 -0
  37. package/build/cjs/Abi/index.js +363 -0
  38. package/build/cjs/Abi/toLatestCompatible.d.ts +15 -0
  39. package/build/cjs/Abi/toLatestCompatible.js +36 -0
  40. package/build/cjs/Abi/toV1.d.ts +3 -0
  41. package/build/cjs/Abi/toV1.js +24 -0
  42. package/build/cjs/Abi/toV2.d.ts +3 -0
  43. package/build/cjs/Abi/toV2.js +30 -0
  44. package/build/cjs/Abi/toV3.d.ts +3 -0
  45. package/build/cjs/Abi/toV3.js +13 -0
  46. package/build/cjs/Abi/toV4.d.ts +3 -0
  47. package/build/cjs/Abi/toV4.js +13 -0
  48. package/build/cjs/augment.d.ts +1 -0
  49. package/build/cjs/augment.js +3 -0
  50. package/build/cjs/base/Base.d.ts +13 -0
  51. package/build/cjs/base/Base.js +44 -0
  52. package/build/cjs/base/Blueprint.d.ts +24 -0
  53. package/build/cjs/base/Blueprint.js +57 -0
  54. package/build/cjs/base/Code.d.ts +22 -0
  55. package/build/cjs/base/Code.js +80 -0
  56. package/build/cjs/base/Contract.d.ts +25 -0
  57. package/build/cjs/base/Contract.js +133 -0
  58. package/build/cjs/base/index.d.ts +3 -0
  59. package/build/cjs/base/index.js +14 -0
  60. package/build/cjs/base/mock.d.ts +3 -0
  61. package/build/cjs/base/mock.js +41 -0
  62. package/build/cjs/base/types.d.ts +25 -0
  63. package/build/cjs/base/types.js +2 -0
  64. package/build/cjs/base/util.d.ts +16 -0
  65. package/build/cjs/base/util.js +42 -0
  66. package/build/cjs/bundle.d.ts +4 -0
  67. package/build/cjs/bundle.js +10 -0
  68. package/build/cjs/index.d.ts +2 -0
  69. package/build/cjs/index.js +5 -0
  70. package/build/cjs/package.json +3 -0
  71. package/build/cjs/packageDetect.d.ts +1 -0
  72. package/build/cjs/packageDetect.js +7 -0
  73. package/build/cjs/packageInfo.d.ts +6 -0
  74. package/build/cjs/packageInfo.js +4 -0
  75. package/build/cjs/promise/index.d.ts +13 -0
  76. package/build/cjs/promise/index.js +23 -0
  77. package/build/cjs/promise/types.d.ts +3 -0
  78. package/build/cjs/promise/types.js +2 -0
  79. package/build/cjs/rx/index.d.ts +13 -0
  80. package/build/cjs/rx/index.js +23 -0
  81. package/build/cjs/rx/types.d.ts +3 -0
  82. package/build/cjs/rx/types.js +2 -0
  83. package/build/cjs/types.d.ts +79 -0
  84. package/build/cjs/types.js +2 -0
  85. package/build/cjs/util.d.ts +5 -0
  86. package/build/cjs/util.js +13 -0
  87. package/build/index.d.ts +2 -0
  88. package/build/index.js +2 -0
  89. package/build/package.json +408 -0
  90. package/build/packageDetect.d.ts +1 -0
  91. package/build/packageDetect.js +5 -0
  92. package/build/packageInfo.d.ts +6 -0
  93. package/build/packageInfo.js +1 -0
  94. package/build/promise/index.d.ts +13 -0
  95. package/build/promise/index.js +17 -0
  96. package/build/promise/types.d.ts +3 -0
  97. package/build/promise/types.js +1 -0
  98. package/build/rx/index.d.ts +13 -0
  99. package/build/rx/index.js +17 -0
  100. package/build/rx/types.d.ts +3 -0
  101. package/build/rx/types.js +1 -0
  102. package/build/types.d.ts +79 -0
  103. package/build/types.js +1 -0
  104. package/build/util.d.ts +5 -0
  105. package/build/util.js +10 -0
  106. package/build-deno/Abi/index.ts +475 -0
  107. package/build-deno/Abi/toLatestCompatible.ts +47 -0
  108. package/build-deno/Abi/toV1.ts +33 -0
  109. package/build-deno/Abi/toV2.ts +56 -0
  110. package/build-deno/Abi/toV3.ts +16 -0
  111. package/build-deno/Abi/toV4.ts +19 -0
  112. package/build-deno/README.md +3 -0
  113. package/build-deno/augment.ts +2 -0
  114. package/build-deno/base/Base.ts +50 -0
  115. package/build-deno/base/Blueprint.ts +88 -0
  116. package/build-deno/base/Code.ts +140 -0
  117. package/build-deno/base/Contract.ts +194 -0
  118. package/build-deno/base/index.ts +4 -0
  119. package/build-deno/base/mock.ts +46 -0
  120. package/build-deno/base/types.ts +38 -0
  121. package/build-deno/base/util.ts +54 -0
  122. package/build-deno/bundle.ts +6 -0
  123. package/build-deno/checkTypes.manual.ts +42 -0
  124. package/build-deno/index.ts +4 -0
  125. package/build-deno/mod.ts +2 -0
  126. package/build-deno/packageDetect.ts +9 -0
  127. package/build-deno/packageInfo.ts +3 -0
  128. package/build-deno/promise/index.ts +28 -0
  129. package/build-deno/promise/types.ts +5 -0
  130. package/build-deno/rx/index.ts +28 -0
  131. package/build-deno/rx/types.ts +5 -0
  132. package/build-deno/test/contracts/index.ts +18 -0
  133. package/build-deno/test/contracts/ink/index.ts +11 -0
  134. package/build-deno/test/contracts/ink/v0/accumulator.wasm +0 -0
  135. package/build-deno/test/contracts/ink/v0/adder.wasm +0 -0
  136. package/build-deno/test/contracts/ink/v0/delegator.wasm +0 -0
  137. package/build-deno/test/contracts/ink/v0/dns.wasm +0 -0
  138. package/build-deno/test/contracts/ink/v0/erc20.wasm +0 -0
  139. package/build-deno/test/contracts/ink/v0/erc721.wasm +0 -0
  140. package/build-deno/test/contracts/ink/v0/flipper.wasm +0 -0
  141. package/build-deno/test/contracts/ink/v0/incrementer.wasm +0 -0
  142. package/build-deno/test/contracts/ink/v0/index.ts +9 -0
  143. package/build-deno/test/contracts/ink/v0/multisig_plain.wasm +0 -0
  144. package/build-deno/test/contracts/ink/v0/subber.wasm +0 -0
  145. package/build-deno/test/contracts/ink/v0/trait-flipper.wasm +0 -0
  146. package/build-deno/test/contracts/ink/v1/index.ts +3 -0
  147. package/build-deno/test/contracts/ink/v2/index.ts +3 -0
  148. package/build-deno/test/contracts/ink/v3/index.ts +3 -0
  149. package/build-deno/test/contracts/ink/v4/erc20.wasm +0 -0
  150. package/build-deno/test/contracts/ink/v4/flipper.wasm +0 -0
  151. package/build-deno/test/contracts/ink/v4/index.ts +5 -0
  152. package/build-deno/test/contracts/ink/v5/erc20.wasm +0 -0
  153. package/build-deno/test/contracts/ink/v5/flipper.wasm +0 -0
  154. package/build-deno/test/contracts/ink/v5/index.ts +6 -0
  155. package/build-deno/test/contracts/ink/v6/erc20.polkavm +0 -0
  156. package/build-deno/test/contracts/ink/v6/index.ts +3 -0
  157. package/build-deno/test/contracts/solang/index.ts +5 -0
  158. package/build-deno/test/contracts/solang/v0/index.ts +2 -0
  159. package/build-deno/test/contracts/solang/v0/ints256.sol +13 -0
  160. package/build-deno/test/contracts/solang/v0/ints256.wasm +0 -0
  161. package/build-deno/test/contracts/user/index.ts +7 -0
  162. package/build-deno/test/contracts/user/v0/assetTransfer.wasm +0 -0
  163. package/build-deno/test/contracts/user/v0/enumExample.wasm +0 -0
  164. package/build-deno/test/contracts/user/v0/index.ts +5 -0
  165. package/build-deno/test/contracts/user/v3/index.ts +2 -0
  166. package/build-deno/test/contracts/user/v4/index.ts +2 -0
  167. package/build-deno/test/contracts/util.ts +12 -0
  168. package/build-deno/types.ts +95 -0
  169. package/build-deno/util.ts +18 -0
  170. package/build-tsc/Abi/index.d.ts +31 -0
  171. package/build-tsc/Abi/toLatestCompatible.d.ts +15 -0
  172. package/build-tsc/Abi/toV1.d.ts +3 -0
  173. package/build-tsc/Abi/toV2.d.ts +3 -0
  174. package/build-tsc/Abi/toV3.d.ts +3 -0
  175. package/build-tsc/Abi/toV4.d.ts +3 -0
  176. package/build-tsc/augment.d.ts +1 -0
  177. package/build-tsc/base/Base.d.ts +13 -0
  178. package/build-tsc/base/Blueprint.d.ts +24 -0
  179. package/build-tsc/base/Code.d.ts +22 -0
  180. package/build-tsc/base/Contract.d.ts +25 -0
  181. package/build-tsc/base/index.d.ts +3 -0
  182. package/build-tsc/base/mock.d.ts +3 -0
  183. package/build-tsc/base/types.d.ts +25 -0
  184. package/build-tsc/base/util.d.ts +16 -0
  185. package/build-tsc/bundle.d.ts +4 -0
  186. package/build-tsc/index.d.ts +2 -0
  187. package/build-tsc/packageDetect.d.ts +1 -0
  188. package/build-tsc/packageInfo.d.ts +6 -0
  189. package/build-tsc/promise/index.d.ts +13 -0
  190. package/build-tsc/promise/types.d.ts +3 -0
  191. package/build-tsc/rx/index.d.ts +13 -0
  192. package/build-tsc/rx/types.d.ts +3 -0
  193. package/build-tsc/types.d.ts +79 -0
  194. package/build-tsc/util.d.ts +5 -0
  195. package/build-tsc-cjs/Abi/index.js +363 -0
  196. package/build-tsc-cjs/Abi/toLatestCompatible.js +36 -0
  197. package/build-tsc-cjs/Abi/toV1.js +24 -0
  198. package/build-tsc-cjs/Abi/toV2.js +30 -0
  199. package/build-tsc-cjs/Abi/toV3.js +13 -0
  200. package/build-tsc-cjs/Abi/toV4.js +13 -0
  201. package/build-tsc-cjs/augment.js +3 -0
  202. package/build-tsc-cjs/base/Base.js +44 -0
  203. package/build-tsc-cjs/base/Blueprint.js +57 -0
  204. package/build-tsc-cjs/base/Code.js +80 -0
  205. package/build-tsc-cjs/base/Contract.js +133 -0
  206. package/build-tsc-cjs/base/index.js +14 -0
  207. package/build-tsc-cjs/base/mock.js +41 -0
  208. package/build-tsc-cjs/base/types.js +2 -0
  209. package/build-tsc-cjs/base/util.js +42 -0
  210. package/build-tsc-cjs/bundle.js +10 -0
  211. package/build-tsc-cjs/index.js +5 -0
  212. package/build-tsc-cjs/packageDetect.js +7 -0
  213. package/build-tsc-cjs/packageInfo.js +4 -0
  214. package/build-tsc-cjs/promise/index.js +23 -0
  215. package/build-tsc-cjs/promise/types.js +2 -0
  216. package/build-tsc-cjs/rx/index.js +23 -0
  217. package/build-tsc-cjs/rx/types.js +2 -0
  218. package/build-tsc-cjs/types.js +2 -0
  219. package/build-tsc-cjs/util.js +13 -0
  220. package/build-tsc-esm/Abi/index.js +359 -0
  221. package/build-tsc-esm/Abi/toLatestCompatible.js +30 -0
  222. package/build-tsc-esm/Abi/toV1.js +21 -0
  223. package/build-tsc-esm/Abi/toV2.js +27 -0
  224. package/build-tsc-esm/Abi/toV3.js +10 -0
  225. package/build-tsc-esm/Abi/toV4.js +10 -0
  226. package/build-tsc-esm/augment.js +1 -0
  227. package/build-tsc-esm/base/Base.js +40 -0
  228. package/build-tsc-esm/base/Blueprint.js +51 -0
  229. package/build-tsc-esm/base/Code.js +74 -0
  230. package/build-tsc-esm/base/Contract.js +127 -0
  231. package/build-tsc-esm/base/index.js +3 -0
  232. package/build-tsc-esm/base/mock.js +38 -0
  233. package/build-tsc-esm/base/types.js +1 -0
  234. package/build-tsc-esm/base/util.js +33 -0
  235. package/build-tsc-esm/bundle.js +4 -0
  236. package/build-tsc-esm/index.js +2 -0
  237. package/build-tsc-esm/packageDetect.js +5 -0
  238. package/build-tsc-esm/packageInfo.js +1 -0
  239. package/build-tsc-esm/promise/index.js +17 -0
  240. package/build-tsc-esm/promise/types.js +1 -0
  241. package/build-tsc-esm/rx/index.js +17 -0
  242. package/build-tsc-esm/rx/types.js +1 -0
  243. package/build-tsc-esm/types.js +1 -0
  244. package/build-tsc-esm/util.js +10 -0
  245. package/bundle-pezkuwi-api-contract.js +1 -1
  246. package/cjs/packageInfo.js +1 -1
  247. package/package.json +6 -6
  248. package/packageInfo.js +1 -1
  249. package/src/Abi/Abi.spec.ts +235 -0
  250. package/src/Abi/index.ts +477 -0
  251. package/src/Abi/toLatestCompatible.spec.ts +219 -0
  252. package/src/Abi/toLatestCompatible.ts +52 -0
  253. package/src/Abi/toV1.ts +35 -0
  254. package/src/Abi/toV2.ts +58 -0
  255. package/src/Abi/toV3.ts +18 -0
  256. package/src/Abi/toV4.ts +21 -0
  257. package/src/augment.ts +4 -0
  258. package/src/base/Base.ts +52 -0
  259. package/src/base/Blueprint.ts +90 -0
  260. package/src/base/Code.spec.ts +47 -0
  261. package/src/base/Code.ts +142 -0
  262. package/src/base/Contract.ts +197 -0
  263. package/src/base/index.ts +6 -0
  264. package/src/base/mock.ts +48 -0
  265. package/src/base/types.ts +40 -0
  266. package/src/base/util.ts +56 -0
  267. package/src/bundle.ts +10 -0
  268. package/src/checkTypes.manual.ts +45 -0
  269. package/src/index.ts +6 -0
  270. package/src/mod.ts +4 -0
  271. package/src/packageDetect.ts +13 -0
  272. package/src/packageInfo.ts +6 -0
  273. package/src/promise/index.ts +28 -0
  274. package/src/promise/types.ts +7 -0
  275. package/src/rx/index.ts +28 -0
  276. package/src/rx/types.ts +7 -0
  277. package/src/test/compare/ink_v0_delegator.test.json +47 -0
  278. package/src/test/compare/ink_v0_dns.test.json +232 -0
  279. package/src/test/compare/ink_v0_erc20.test.json +253 -0
  280. package/src/test/compare/ink_v0_erc721.test.json +415 -0
  281. package/src/test/compare/ink_v0_flipper.test.json +9 -0
  282. package/src/test/compare/ink_v0_flipperBundle.test.json +9 -0
  283. package/src/test/compare/ink_v0_incrementer.test.json +9 -0
  284. package/src/test/compare/ink_v0_multisigPlain.test.json +562 -0
  285. package/src/test/compare/ink_v1_flipper.test.json +9 -0
  286. package/src/test/compare/ink_v1_psp22.test.json +531 -0
  287. package/src/test/compare/ink_v2_erc20.test.json +205 -0
  288. package/src/test/compare/ink_v2_flipper.test.json +9 -0
  289. package/src/test/compare/ink_v3_flipper.test.json +9 -0
  290. package/src/test/compare/ink_v3_traitErc20.test.json +205 -0
  291. package/src/test/compare/ink_v4_erc20Contract.test.json +253 -0
  292. package/src/test/compare/ink_v4_erc20Metadata.test.json +253 -0
  293. package/src/test/compare/ink_v4_flipperContract.test.json +155 -0
  294. package/src/test/compare/ink_v4_flipperMetadata.test.json +155 -0
  295. package/src/test/compare/ink_v5_erc20.test.json +370 -0
  296. package/src/test/compare/ink_v5_erc20AnonymousTransferMetadata.test.json +370 -0
  297. package/src/test/compare/ink_v5_erc20Contract.test.json +370 -0
  298. package/src/test/compare/ink_v5_erc20Metadata.test.json +370 -0
  299. package/src/test/compare/ink_v5_flipperContract.test.json +174 -0
  300. package/src/test/compare/ink_v5_flipperMetadata.test.json +174 -0
  301. package/src/test/compare/ink_v6_erc20Contract.test.json +418 -0
  302. package/src/test/compare/ink_v6_erc20Metadata.test.json +418 -0
  303. package/src/test/compare/solang_v0_ints256.test.json +9 -0
  304. package/src/test/compare/user_v0_assetTransfer.test.json +54 -0
  305. package/src/test/compare/user_v0_enumExample.test.json +303 -0
  306. package/src/test/compare/user_v0_recursive.test.json +27 -0
  307. package/src/test/compare/user_v0_withString.test.json +260 -0
  308. package/src/test/compare/user_v3_ask.test.json +71 -0
  309. package/src/test/compare/user_v4_events.test.json +1328 -0
  310. package/src/test/contracts/index.ts +20 -0
  311. package/src/test/contracts/ink/index.ts +13 -0
  312. package/src/test/contracts/ink/v0/accumulator.wasm +0 -0
  313. package/src/test/contracts/ink/v0/adder.wasm +0 -0
  314. package/src/test/contracts/ink/v0/delegator.json +252 -0
  315. package/src/test/contracts/ink/v0/delegator.wasm +0 -0
  316. package/src/test/contracts/ink/v0/dns.json +713 -0
  317. package/src/test/contracts/ink/v0/dns.wasm +0 -0
  318. package/src/test/contracts/ink/v0/erc20.json +704 -0
  319. package/src/test/contracts/ink/v0/erc20.wasm +0 -0
  320. package/src/test/contracts/ink/v0/erc721.json +1197 -0
  321. package/src/test/contracts/ink/v0/erc721.wasm +0 -0
  322. package/src/test/contracts/ink/v0/flipper.contract.json +107 -0
  323. package/src/test/contracts/ink/v0/flipper.json +106 -0
  324. package/src/test/contracts/ink/v0/flipper.wasm +0 -0
  325. package/src/test/contracts/ink/v0/incrementer.json +108 -0
  326. package/src/test/contracts/ink/v0/incrementer.wasm +0 -0
  327. package/src/test/contracts/ink/v0/index.ts +11 -0
  328. package/src/test/contracts/ink/v0/multisig_plain.json +1466 -0
  329. package/src/test/contracts/ink/v0/multisig_plain.wasm +0 -0
  330. package/src/test/contracts/ink/v0/subber.wasm +0 -0
  331. package/src/test/contracts/ink/v0/trait-flipper.json +103 -0
  332. package/src/test/contracts/ink/v0/trait-flipper.wasm +0 -0
  333. package/src/test/contracts/ink/v1/flipper.contract.json +111 -0
  334. package/src/test/contracts/ink/v1/index.ts +6 -0
  335. package/src/test/contracts/ink/v1/psp22_minter_pauser.contract.json +1722 -0
  336. package/src/test/contracts/ink/v2/erc20.contract.json +630 -0
  337. package/src/test/contracts/ink/v2/flipper.contract.json +103 -0
  338. package/src/test/contracts/ink/v2/index.ts +5 -0
  339. package/src/test/contracts/ink/v3/flipper.contract.json +105 -0
  340. package/src/test/contracts/ink/v3/index.ts +6 -0
  341. package/src/test/contracts/ink/v3/trait_erc20.contract.json +631 -0
  342. package/src/test/contracts/ink/v4/erc20.contract.json +1 -0
  343. package/src/test/contracts/ink/v4/erc20.json +821 -0
  344. package/src/test/contracts/ink/v4/erc20.wasm +0 -0
  345. package/src/test/contracts/ink/v4/flipper.contract.json +1 -0
  346. package/src/test/contracts/ink/v4/flipper.json +396 -0
  347. package/src/test/contracts/ink/v4/flipper.wasm +0 -0
  348. package/src/test/contracts/ink/v4/index.ts +7 -0
  349. package/src/test/contracts/ink/v5/erc20.contract.json +1 -0
  350. package/src/test/contracts/ink/v5/erc20.json +1025 -0
  351. package/src/test/contracts/ink/v5/erc20.wasm +0 -0
  352. package/src/test/contracts/ink/v5/erc20_anonymous_transfer.json +1025 -0
  353. package/src/test/contracts/ink/v5/flipper.contract.json +1 -0
  354. package/src/test/contracts/ink/v5/flipper.json +420 -0
  355. package/src/test/contracts/ink/v5/flipper.wasm +0 -0
  356. package/src/test/contracts/ink/v5/index.ts +8 -0
  357. package/src/test/contracts/ink/v6/erc20.contract.json +1 -0
  358. package/src/test/contracts/ink/v6/erc20.json +1081 -0
  359. package/src/test/contracts/ink/v6/erc20.polkavm +0 -0
  360. package/src/test/contracts/ink/v6/index.ts +5 -0
  361. package/src/test/contracts/solang/index.ts +7 -0
  362. package/src/test/contracts/solang/v0/index.ts +4 -0
  363. package/src/test/contracts/solang/v0/ints256.json +113 -0
  364. package/src/test/contracts/solang/v0/ints256.sol +13 -0
  365. package/src/test/contracts/solang/v0/ints256.wasm +0 -0
  366. package/src/test/contracts/user/index.ts +9 -0
  367. package/src/test/contracts/user/v0/assetTransfer.json +299 -0
  368. package/src/test/contracts/user/v0/assetTransfer.wasm +0 -0
  369. package/src/test/contracts/user/v0/enumExample.json +528 -0
  370. package/src/test/contracts/user/v0/enumExample.wasm +0 -0
  371. package/src/test/contracts/user/v0/index.ts +7 -0
  372. package/src/test/contracts/user/v0/recursive.contract.json +1 -0
  373. package/src/test/contracts/user/v0/withString.json +777 -0
  374. package/src/test/contracts/user/v3/ask.json +550 -0
  375. package/src/test/contracts/user/v3/index.ts +4 -0
  376. package/src/test/contracts/user/v4/events.contract.json +2990 -0
  377. package/src/test/contracts/user/v4/index.ts +4 -0
  378. package/src/test/contracts/util.ts +14 -0
  379. package/src/types.ts +98 -0
  380. package/src/util.ts +20 -0
  381. package/tsconfig.build.json +22 -0
  382. package/tsconfig.build.tsbuildinfo +1 -0
  383. package/tsconfig.spec.json +26 -0
  384. package/tsconfig.spec.tsbuildinfo +1 -0
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Blueprint = exports.BlueprintSubmittableResult = void 0;
4
+ exports.extendBlueprint = extendBlueprint;
5
+ const api_1 = require("@pezkuwi/api");
6
+ const util_1 = require("@pezkuwi/util");
7
+ const util_js_1 = require("../util.js");
8
+ const Base_js_1 = require("./Base.js");
9
+ const Contract_js_1 = require("./Contract.js");
10
+ const util_js_2 = require("./util.js");
11
+ class BlueprintSubmittableResult extends api_1.SubmittableResult {
12
+ contract;
13
+ constructor(result, contract) {
14
+ super(result);
15
+ this.contract = contract;
16
+ }
17
+ }
18
+ exports.BlueprintSubmittableResult = BlueprintSubmittableResult;
19
+ class Blueprint extends Base_js_1.Base {
20
+ /**
21
+ * @description The on-chain code hash for this blueprint
22
+ */
23
+ codeHash;
24
+ #tx = {};
25
+ constructor(api, abi, codeHash, decorateMethod) {
26
+ super(api, abi, decorateMethod);
27
+ this.codeHash = this.registry.createType('Hash', codeHash);
28
+ this.abi.constructors.forEach((c) => {
29
+ if ((0, util_1.isUndefined)(this.#tx[c.method])) {
30
+ this.#tx[c.method] = (0, util_js_2.createBluePrintTx)(c, (o, p) => this.#deploy(c, o, p));
31
+ }
32
+ });
33
+ }
34
+ get tx() {
35
+ return this.#tx;
36
+ }
37
+ #deploy = (constructorOrId, { gasLimit = util_1.BN_ZERO, salt, storageDepositLimit = null, value = util_1.BN_ZERO }, params) => {
38
+ const palletTx = this._isRevive
39
+ ? this.api.tx.revive
40
+ : this.api.tx.contracts;
41
+ return palletTx.instantiate(value,
42
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
43
+ // @ts-ignore jiggle v1 weights, metadata points to latest
44
+ this._isWeightV1
45
+ ? (0, util_js_2.convertWeight)(gasLimit).v1Weight
46
+ : (0, util_js_2.convertWeight)(gasLimit).v2Weight, storageDepositLimit, this.codeHash, this.abi.findConstructor(constructorOrId).toU8a(params), (0, util_js_2.encodeSalt)(salt)).withResultTransform((result) => new BlueprintSubmittableResult(result, (0, util_js_1.applyOnEvent)(result, ['Instantiated'], ([record]) => new Contract_js_1.Contract(this.api, this.abi, record.event.data[1], this._decorateMethod), this._isRevive)));
47
+ };
48
+ }
49
+ exports.Blueprint = Blueprint;
50
+ function extendBlueprint(type, decorateMethod) {
51
+ return class extends Blueprint {
52
+ static __BlueprintType = type;
53
+ constructor(api, abi, codeHash) {
54
+ super(api, abi, codeHash, decorateMethod);
55
+ }
56
+ };
57
+ }
@@ -0,0 +1,22 @@
1
+ import type { ApiBase } from '@pezkuwi/api/base';
2
+ import type { ApiTypes, DecorateMethod } from '@pezkuwi/api/types';
3
+ import type { ISubmittableResult } from '@pezkuwi/types/types';
4
+ import type { Abi } from '../Abi/index.js';
5
+ import type { MapConstructorExec } from './types.js';
6
+ import { SubmittableResult } from '@pezkuwi/api';
7
+ import { Base } from './Base.js';
8
+ import { Blueprint } from './Blueprint.js';
9
+ import { Contract } from './Contract.js';
10
+ export type CodeConstructor<ApiType extends ApiTypes> = new (api: ApiBase<ApiType>, abi: string | Record<string, unknown> | Abi, wasm: Uint8Array | string | Buffer | null | undefined) => Code<ApiType>;
11
+ export declare class CodeSubmittableResult<ApiType extends ApiTypes> extends SubmittableResult {
12
+ readonly blueprint?: Blueprint<ApiType> | undefined;
13
+ readonly contract?: Contract<ApiType> | undefined;
14
+ constructor(result: ISubmittableResult, blueprint?: Blueprint<ApiType> | undefined, contract?: Contract<ApiType> | undefined);
15
+ }
16
+ export declare class Code<ApiType extends ApiTypes> extends Base<ApiType> {
17
+ #private;
18
+ readonly code: Uint8Array;
19
+ constructor(api: ApiBase<ApiType>, abi: string | Record<string, unknown> | Abi, wasm: Uint8Array | string | Buffer | null | undefined, decorateMethod: DecorateMethod<ApiType>);
20
+ get tx(): MapConstructorExec<ApiType>;
21
+ }
22
+ export declare function extendCode<ApiType extends ApiTypes>(type: ApiType, decorateMethod: DecorateMethod<ApiType>): CodeConstructor<ApiType>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Code = exports.CodeSubmittableResult = void 0;
4
+ exports.extendCode = extendCode;
5
+ const api_1 = require("@pezkuwi/api");
6
+ const util_1 = require("@pezkuwi/util");
7
+ const util_js_1 = require("../util.js");
8
+ const Base_js_1 = require("./Base.js");
9
+ const Blueprint_js_1 = require("./Blueprint.js");
10
+ const Contract_js_1 = require("./Contract.js");
11
+ const util_js_2 = require("./util.js");
12
+ class CodeSubmittableResult extends api_1.SubmittableResult {
13
+ blueprint;
14
+ contract;
15
+ constructor(result, blueprint, contract) {
16
+ super(result);
17
+ this.blueprint = blueprint;
18
+ this.contract = contract;
19
+ }
20
+ }
21
+ exports.CodeSubmittableResult = CodeSubmittableResult;
22
+ function isValidCode(code) {
23
+ return (0, util_1.isWasm)(code) || (0, util_1.isRiscV)(code);
24
+ }
25
+ class Code extends Base_js_1.Base {
26
+ code;
27
+ #tx = {};
28
+ constructor(api, abi, wasm, decorateMethod) {
29
+ super(api, abi, decorateMethod);
30
+ this.code = isValidCode(this.abi.info.source.wasm)
31
+ ? this.abi.info.source.wasm
32
+ : (0, util_1.u8aToU8a)(wasm);
33
+ if (!isValidCode(this.code)) {
34
+ throw new Error('Invalid code provided');
35
+ }
36
+ this.abi.constructors.forEach((c) => {
37
+ if ((0, util_1.isUndefined)(this.#tx[c.method])) {
38
+ this.#tx[c.method] = (0, util_js_2.createBluePrintTx)(c, (o, p) => this.#instantiate(c, o, p));
39
+ }
40
+ });
41
+ }
42
+ get tx() {
43
+ return this.#tx;
44
+ }
45
+ #instantiate = (constructorOrId, { gasLimit = util_1.BN_ZERO, salt, storageDepositLimit = null, value = util_1.BN_ZERO }, params) => {
46
+ const palletTx = this._isRevive ? this.api.tx.revive : this.api.tx.contracts;
47
+ if (this._isRevive) {
48
+ return palletTx.instantiateWithCode(value,
49
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
50
+ // @ts-ignore jiggle v1 weights, metadata points to latest
51
+ this._isWeightV1
52
+ ? (0, util_js_2.convertWeight)(gasLimit).v1Weight
53
+ : (0, util_js_2.convertWeight)(gasLimit).v2Weight, storageDepositLimit, (0, util_1.compactAddLength)(this.code), this.abi.findConstructor(constructorOrId).toU8a(params), (0, util_js_2.encodeSalt)(salt)).withResultTransform((result) => new CodeSubmittableResult(result, ...((0, util_js_1.applyOnEvent)(result, ['Instantiated'], (records) => records.reduce(([blueprint, contract], { event }) => this.api.events.revive['Instantiated'].is(event)
54
+ ? [
55
+ blueprint,
56
+ new Contract_js_1.Contract(this.api, this.abi, event.data[1], this._decorateMethod)
57
+ ]
58
+ : [blueprint, contract], [undefined, undefined]), this._isRevive) || [undefined, undefined])));
59
+ }
60
+ return palletTx.instantiateWithCode(value,
61
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
62
+ // @ts-ignore jiggle v1 weights, metadata points to latest
63
+ this._isWeightV1
64
+ ? (0, util_js_2.convertWeight)(gasLimit).v1Weight
65
+ : (0, util_js_2.convertWeight)(gasLimit).v2Weight, storageDepositLimit, (0, util_1.compactAddLength)(this.code), this.abi.findConstructor(constructorOrId).toU8a(params), (0, util_js_2.encodeSalt)(salt)).withResultTransform((result) => new CodeSubmittableResult(result, ...((0, util_js_1.applyOnEvent)(result, ['CodeStored', 'Instantiated'], (records) => records.reduce(([blueprint, contract], { event }) => this.api.events.contracts.Instantiated.is(event)
66
+ ? [blueprint, new Contract_js_1.Contract(this.api, this.abi, event.data[1], this._decorateMethod)]
67
+ : this.api.events.contracts.CodeStored.is(event)
68
+ ? [new Blueprint_js_1.Blueprint(this.api, this.abi, event.data[0], this._decorateMethod), contract]
69
+ : [blueprint, contract], [undefined, undefined]), this._isRevive) || [undefined, undefined])));
70
+ };
71
+ }
72
+ exports.Code = Code;
73
+ function extendCode(type, decorateMethod) {
74
+ return class extends Code {
75
+ static __CodeType = type;
76
+ constructor(api, abi, wasm) {
77
+ super(api, abi, wasm, decorateMethod);
78
+ }
79
+ };
80
+ }
@@ -0,0 +1,25 @@
1
+ import type { ApiBase } from '@pezkuwi/api/base';
2
+ import type { ApiTypes, DecorateMethod } from '@pezkuwi/api/types';
3
+ import type { AccountId, AccountId20 } from '@pezkuwi/types/interfaces';
4
+ import type { ISubmittableResult } from '@pezkuwi/types/types';
5
+ import type { Abi } from '../Abi/index.js';
6
+ import type { DecodedEvent } from '../types.js';
7
+ import type { MapMessageQuery, MapMessageTx } from './types.js';
8
+ import { SubmittableResult } from '@pezkuwi/api';
9
+ import { Base } from './Base.js';
10
+ export type ContractConstructor<ApiType extends ApiTypes> = new (api: ApiBase<ApiType>, abi: string | Record<string, unknown> | Abi, address: string | AccountId) => Contract<ApiType>;
11
+ export declare class ContractSubmittableResult extends SubmittableResult {
12
+ readonly contractEvents?: DecodedEvent[] | undefined;
13
+ constructor(result: ISubmittableResult, contractEvents?: DecodedEvent[]);
14
+ }
15
+ export declare class Contract<ApiType extends ApiTypes> extends Base<ApiType> {
16
+ #private;
17
+ /**
18
+ * @description The on-chain address for this contract
19
+ */
20
+ readonly address: AccountId | AccountId20;
21
+ constructor(api: ApiBase<ApiType>, abi: string | Record<string, unknown> | Abi, address: string | AccountId | AccountId20, decorateMethod: DecorateMethod<ApiType>);
22
+ get query(): MapMessageQuery<ApiType>;
23
+ get tx(): MapMessageTx<ApiType>;
24
+ }
25
+ export declare function extendContract<ApiType extends ApiTypes>(type: ApiType, decorateMethod: DecorateMethod<ApiType>): ContractConstructor<ApiType>;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Contract = exports.ContractSubmittableResult = void 0;
4
+ exports.extendContract = extendContract;
5
+ const rxjs_1 = require("rxjs");
6
+ const api_1 = require("@pezkuwi/api");
7
+ const util_1 = require("@pezkuwi/util");
8
+ const util_js_1 = require("../util.js");
9
+ const Base_js_1 = require("./Base.js");
10
+ const util_js_2 = require("./util.js");
11
+ const MAX_CALL_GAS = new util_1.BN(5_000_000_000_000).isub(util_1.BN_ONE);
12
+ const l = (0, util_1.logger)('Contract');
13
+ function createQuery(meta, fn) {
14
+ return (0, util_js_2.withMeta)(meta, (origin, options, ...params) => fn(origin, options, params));
15
+ }
16
+ function createTx(meta, fn) {
17
+ return (0, util_js_2.withMeta)(meta, (options, ...params) => fn(options, params));
18
+ }
19
+ class ContractSubmittableResult extends api_1.SubmittableResult {
20
+ contractEvents;
21
+ constructor(result, contractEvents) {
22
+ super(result);
23
+ this.contractEvents = contractEvents;
24
+ }
25
+ }
26
+ exports.ContractSubmittableResult = ContractSubmittableResult;
27
+ class Contract extends Base_js_1.Base {
28
+ /**
29
+ * @description The on-chain address for this contract
30
+ */
31
+ address;
32
+ #query = {};
33
+ #tx = {};
34
+ constructor(api, abi, address, decorateMethod) {
35
+ super(api, abi, decorateMethod);
36
+ this.address = this.registry.createType(this._isRevive ? 'AccountId20' : 'AccountId', address);
37
+ this.abi.messages.forEach((m) => {
38
+ if ((0, util_1.isUndefined)(this.#tx[m.method])) {
39
+ this.#tx[m.method] = createTx(m, (o, p) => this.#exec(m, o, p));
40
+ }
41
+ if ((0, util_1.isUndefined)(this.#query[m.method])) {
42
+ this.#query[m.method] = createQuery(m, (f, o, p) => this.#read(m, o, p).send(f));
43
+ }
44
+ });
45
+ }
46
+ get query() {
47
+ return this.#query;
48
+ }
49
+ get tx() {
50
+ return this.#tx;
51
+ }
52
+ #getGas = (_gasLimit, isCall = false) => {
53
+ const weight = (0, util_js_2.convertWeight)(_gasLimit);
54
+ if (weight.v1Weight.gt(util_1.BN_ZERO)) {
55
+ return weight;
56
+ }
57
+ return (0, util_js_2.convertWeight)(isCall
58
+ ? MAX_CALL_GAS
59
+ : (0, util_js_2.convertWeight)(this.api.consts.system.blockWeights
60
+ ? this.api.consts.system.blockWeights.maxBlock
61
+ : this.api.consts.system['maximumBlockWeight']).v1Weight.muln(64).div(util_1.BN_HUNDRED));
62
+ };
63
+ #exec = (messageOrId, { gasLimit = util_1.BN_ZERO, storageDepositLimit = null, value = util_1.BN_ZERO }, params) => {
64
+ const palletTx = this._isRevive ? this.api.tx.revive : this.api.tx.contracts;
65
+ return palletTx.call(this.address, value,
66
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
67
+ // @ts-ignore jiggle v1 weights, metadata points to latest
68
+ this._isWeightV1
69
+ ? (0, util_js_2.convertWeight)(gasLimit).v1Weight
70
+ : (0, util_js_2.convertWeight)(gasLimit).v2Weight, storageDepositLimit, this.abi.findMessage(messageOrId).toU8a(params)).withResultTransform((result) =>
71
+ // ContractEmitted is the current generation, ContractExecution is the previous generation
72
+ new ContractSubmittableResult(result, (0, util_js_1.applyOnEvent)(result, ['ContractEmitted', 'ContractExecution'], (records) => records
73
+ // Filter to only decode events emitted by this specific contract instance.
74
+ .filter((record) => {
75
+ try {
76
+ const contractAddress = record.event.data[0];
77
+ if (this.address.eq(contractAddress)) {
78
+ return true;
79
+ }
80
+ l.debug(`Skipping event from different contract ${contractAddress.toString()} (this contract: ${this.address.toString()})`);
81
+ return false;
82
+ }
83
+ catch (error) {
84
+ l.warn(`Unable to extract contract address from event: ${error.message}`);
85
+ return false;
86
+ }
87
+ })
88
+ .map((record) => {
89
+ try {
90
+ return this.abi.decodeEvent(record);
91
+ }
92
+ catch (error) {
93
+ l.error(`Unable to decode contract event: ${error.message}`);
94
+ return null;
95
+ }
96
+ })
97
+ .filter((decoded) => !!decoded), this._isRevive)));
98
+ };
99
+ #read = (messageOrId, { gasLimit = util_1.BN_ZERO, storageDepositLimit = null, value = util_1.BN_ZERO }, params) => {
100
+ const message = this.abi.findMessage(messageOrId);
101
+ return {
102
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
103
+ send: this._decorateMethod((origin) => (this._isRevive
104
+ ? this.api.rx.call.reviveApi.call
105
+ : this.api.rx.call.contractsApi.call)(origin, this.address, value,
106
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
107
+ // @ts-ignore jiggle v1 weights, metadata points to latest
108
+ this._isWeightV1
109
+ ? this.#getGas(gasLimit, true).v1Weight
110
+ : this.#getGas(gasLimit, true).v2Weight, storageDepositLimit, message.toU8a(params)).pipe((0, rxjs_1.map)(({ debugMessage, gasConsumed, gasRequired, result, storageDeposit }) => ({
111
+ debugMessage,
112
+ gasConsumed,
113
+ gasRequired: gasRequired && !(0, util_js_2.convertWeight)(gasRequired).v1Weight.isZero()
114
+ ? gasRequired
115
+ : gasConsumed,
116
+ output: result.isOk && message.returnType
117
+ ? this.abi.registry.createTypeUnsafe(message.returnType.lookupName || message.returnType.type, [result.asOk.data.toU8a(true)], { isPedantic: true })
118
+ : null,
119
+ result,
120
+ storageDeposit
121
+ }))))
122
+ };
123
+ };
124
+ }
125
+ exports.Contract = Contract;
126
+ function extendContract(type, decorateMethod) {
127
+ return class extends Contract {
128
+ static __ContractType = type;
129
+ constructor(api, abi, address) {
130
+ super(api, abi, address, decorateMethod);
131
+ }
132
+ };
133
+ }
@@ -0,0 +1,3 @@
1
+ export { Blueprint, BlueprintSubmittableResult, extendBlueprint } from './Blueprint.js';
2
+ export { Code, CodeSubmittableResult, extendCode } from './Code.js';
3
+ export { Contract, extendContract } from './Contract.js';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extendContract = exports.Contract = exports.extendCode = exports.CodeSubmittableResult = exports.Code = exports.extendBlueprint = exports.BlueprintSubmittableResult = exports.Blueprint = void 0;
4
+ var Blueprint_js_1 = require("./Blueprint.js");
5
+ Object.defineProperty(exports, "Blueprint", { enumerable: true, get: function () { return Blueprint_js_1.Blueprint; } });
6
+ Object.defineProperty(exports, "BlueprintSubmittableResult", { enumerable: true, get: function () { return Blueprint_js_1.BlueprintSubmittableResult; } });
7
+ Object.defineProperty(exports, "extendBlueprint", { enumerable: true, get: function () { return Blueprint_js_1.extendBlueprint; } });
8
+ var Code_js_1 = require("./Code.js");
9
+ Object.defineProperty(exports, "Code", { enumerable: true, get: function () { return Code_js_1.Code; } });
10
+ Object.defineProperty(exports, "CodeSubmittableResult", { enumerable: true, get: function () { return Code_js_1.CodeSubmittableResult; } });
11
+ Object.defineProperty(exports, "extendCode", { enumerable: true, get: function () { return Code_js_1.extendCode; } });
12
+ var Contract_js_1 = require("./Contract.js");
13
+ Object.defineProperty(exports, "Contract", { enumerable: true, get: function () { return Contract_js_1.Contract; } });
14
+ Object.defineProperty(exports, "extendContract", { enumerable: true, get: function () { return Contract_js_1.extendContract; } });
@@ -0,0 +1,3 @@
1
+ import type { ApiBase } from '@pezkuwi/api/base';
2
+ export declare const mockApi: ApiBase<"promise">;
3
+ export declare const mockReviveApi: ApiBase<"promise">;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mockReviveApi = exports.mockApi = void 0;
4
+ const types_1 = require("@pezkuwi/types");
5
+ const registry = new types_1.TypeRegistry();
6
+ const instantiateWithCode = () => {
7
+ throw new Error('mock');
8
+ };
9
+ instantiateWithCode.meta = { args: new Array(6) };
10
+ exports.mockApi = {
11
+ call: {
12
+ contractsApi: {
13
+ call: () => {
14
+ throw new Error('mock');
15
+ }
16
+ }
17
+ },
18
+ isConnected: true,
19
+ registry,
20
+ tx: {
21
+ contracts: {
22
+ instantiateWithCode
23
+ }
24
+ }
25
+ };
26
+ exports.mockReviveApi = {
27
+ call: {
28
+ reviveApi: {
29
+ call: () => {
30
+ throw new Error('mock');
31
+ }
32
+ }
33
+ },
34
+ isConnected: true,
35
+ registry,
36
+ tx: {
37
+ revive: {
38
+ instantiateWithCode
39
+ }
40
+ }
41
+ };
@@ -0,0 +1,25 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { SubmittableExtrinsic } from '@pezkuwi/api/submittable/types';
3
+ import type { ApiTypes, ObsInnerType } from '@pezkuwi/api/types';
4
+ import type { AccountId } from '@pezkuwi/types/interfaces';
5
+ import type { AbiMessage, BlueprintOptions, ContractCallOutcome, ContractOptions } from '../types.js';
6
+ export interface MessageMeta {
7
+ readonly meta: AbiMessage;
8
+ }
9
+ export interface BlueprintDeploy<ApiType extends ApiTypes> extends MessageMeta {
10
+ (options: BlueprintOptions, ...params: unknown[]): SubmittableExtrinsic<ApiType>;
11
+ }
12
+ export interface ContractQuery<ApiType extends ApiTypes> extends MessageMeta {
13
+ (origin: AccountId | string | Uint8Array, options: ContractOptions, ...params: unknown[]): ContractCallResult<ApiType, ContractCallOutcome>;
14
+ }
15
+ export interface ContractTx<ApiType extends ApiTypes> extends MessageMeta {
16
+ (options: ContractOptions, ...params: unknown[]): SubmittableExtrinsic<ApiType>;
17
+ }
18
+ export type ContractGeneric<O, T> = (messageOrId: AbiMessage | string | number, options: O, ...params: unknown[]) => T;
19
+ export type ContractCallResult<ApiType extends ApiTypes, T> = ApiType extends 'rxjs' ? Observable<T> : Promise<ObsInnerType<Observable<T>>>;
20
+ export interface ContractCallSend<ApiType extends ApiTypes> {
21
+ send(account: string | AccountId | Uint8Array): ContractCallResult<ApiType, ContractCallOutcome>;
22
+ }
23
+ export type MapConstructorExec<ApiType extends ApiTypes> = Record<string, BlueprintDeploy<ApiType>>;
24
+ export type MapMessageTx<ApiType extends ApiTypes> = Record<string, ContractTx<ApiType>>;
25
+ export type MapMessageQuery<ApiType extends ApiTypes> = Record<string, ContractQuery<ApiType>>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ import type { SubmittableResult } from '@pezkuwi/api';
2
+ import type { SubmittableExtrinsic } from '@pezkuwi/api/submittable/types';
3
+ import type { ApiTypes } from '@pezkuwi/api/types';
4
+ import type { WeightV1, WeightV2 } from '@pezkuwi/types/interfaces';
5
+ import type { BN } from '@pezkuwi/util';
6
+ import type { AbiConstructor, AbiMessage, BlueprintOptions, WeightAll } from '../types.js';
7
+ import type { BlueprintDeploy, ContractGeneric } from './types.js';
8
+ export declare const EMPTY_SALT: Uint8Array;
9
+ export declare function withMeta<T extends {
10
+ meta: AbiMessage;
11
+ }>(meta: AbiMessage, creator: Omit<T, 'meta'>): T;
12
+ export declare function createBluePrintTx<ApiType extends ApiTypes, R extends SubmittableResult>(meta: AbiMessage, fn: (options: BlueprintOptions, params: unknown[]) => SubmittableExtrinsic<ApiType, R>): BlueprintDeploy<ApiType>;
13
+ export declare function createBluePrintWithId<T>(fn: (constructorOrId: AbiConstructor | string | number, options: BlueprintOptions, params: unknown[]) => T): ContractGeneric<BlueprintOptions, T>;
14
+ export declare function encodeSalt(salt?: Uint8Array | string | null): Uint8Array;
15
+ export declare function convertWeight(weight: WeightV1 | WeightV2 | bigint | string | number | BN): WeightAll;
16
+ export declare function isWeightV2(weight: WeightV1 | WeightV2 | bigint | string | number | BN): weight is WeightV2;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMPTY_SALT = void 0;
4
+ exports.withMeta = withMeta;
5
+ exports.createBluePrintTx = createBluePrintTx;
6
+ exports.createBluePrintWithId = createBluePrintWithId;
7
+ exports.encodeSalt = encodeSalt;
8
+ exports.convertWeight = convertWeight;
9
+ exports.isWeightV2 = isWeightV2;
10
+ const types_1 = require("@pezkuwi/types");
11
+ const util_1 = require("@pezkuwi/util");
12
+ const util_crypto_1 = require("@pezkuwi/util-crypto");
13
+ exports.EMPTY_SALT = new Uint8Array();
14
+ function withMeta(meta, creator) {
15
+ creator.meta = meta;
16
+ return creator;
17
+ }
18
+ function createBluePrintTx(meta, fn) {
19
+ return withMeta(meta, (options, ...params) => fn(options, params));
20
+ }
21
+ function createBluePrintWithId(fn) {
22
+ return (constructorOrId, options, ...params) => fn(constructorOrId, options, params);
23
+ }
24
+ function encodeSalt(salt = (0, util_crypto_1.randomAsU8a)()) {
25
+ return salt instanceof types_1.Bytes
26
+ ? salt
27
+ : salt?.length
28
+ ? (0, util_1.compactAddLength)((0, util_1.u8aToU8a)(salt))
29
+ : exports.EMPTY_SALT;
30
+ }
31
+ function convertWeight(weight) {
32
+ const [refTime, proofSize] = isWeightV2(weight)
33
+ ? [weight.refTime.toBn(), weight.proofSize.toBn()]
34
+ : [(0, util_1.bnToBn)(weight), undefined];
35
+ return {
36
+ v1Weight: refTime,
37
+ v2Weight: { proofSize, refTime }
38
+ };
39
+ }
40
+ function isWeightV2(weight) {
41
+ return !!weight.proofSize;
42
+ }
@@ -0,0 +1,4 @@
1
+ export { Abi } from './Abi/index.js';
2
+ export { packageInfo } from './packageInfo.js';
3
+ export * from './promise/index.js';
4
+ export * from './rx/index.js';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.packageInfo = exports.Abi = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var index_js_1 = require("./Abi/index.js");
6
+ Object.defineProperty(exports, "Abi", { enumerable: true, get: function () { return index_js_1.Abi; } });
7
+ var packageInfo_js_1 = require("./packageInfo.js");
8
+ Object.defineProperty(exports, "packageInfo", { enumerable: true, get: function () { return packageInfo_js_1.packageInfo; } });
9
+ tslib_1.__exportStar(require("./promise/index.js"), exports);
10
+ tslib_1.__exportStar(require("./rx/index.js"), exports);
@@ -0,0 +1,2 @@
1
+ import './packageDetect.js';
2
+ export * from './bundle.js';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ require("./packageDetect.js");
5
+ tslib_1.__exportStar(require("./bundle.js"), exports);
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const packageInfo_1 = require("@pezkuwi/api/cjs/packageInfo");
4
+ const packageInfo_2 = require("@pezkuwi/types/cjs/packageInfo");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const packageInfo_js_1 = require("./packageInfo.js");
7
+ (0, util_1.detectPackage)(packageInfo_js_1.packageInfo, null, [packageInfo_1.packageInfo, packageInfo_2.packageInfo]);
@@ -0,0 +1,6 @@
1
+ export declare const packageInfo: {
2
+ name: string;
3
+ path: string;
4
+ type: string;
5
+ version: string;
6
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.packageInfo = void 0;
4
+ exports.packageInfo = { name: '@pezkuwi/api-contract', path: typeof __dirname === 'string' ? __dirname : 'auto', type: 'cjs', version: '16.5.8' };
@@ -0,0 +1,13 @@
1
+ import type { ApiPromise } from '@pezkuwi/api';
2
+ import type { AccountId, AccountId20, Hash } from '@pezkuwi/types/interfaces';
3
+ import type { Abi } from '../Abi/index.js';
4
+ import { Blueprint, Code, Contract } from '../base/index.js';
5
+ export declare class BlueprintPromise extends Blueprint<'promise'> {
6
+ constructor(api: ApiPromise, abi: string | Record<string, unknown> | Abi, codeHash: string | Hash);
7
+ }
8
+ export declare class CodePromise extends Code<'promise'> {
9
+ constructor(api: ApiPromise, abi: string | Record<string, unknown> | Abi, wasm: Uint8Array | string | Buffer | null | undefined);
10
+ }
11
+ export declare class ContractPromise extends Contract<'promise'> {
12
+ constructor(api: ApiPromise, abi: string | Record<string, unknown> | Abi, address: string | AccountId | AccountId20);
13
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContractPromise = exports.CodePromise = exports.BlueprintPromise = void 0;
4
+ const api_1 = require("@pezkuwi/api");
5
+ const index_js_1 = require("../base/index.js");
6
+ class BlueprintPromise extends index_js_1.Blueprint {
7
+ constructor(api, abi, codeHash) {
8
+ super(api, abi, codeHash, api_1.toPromiseMethod);
9
+ }
10
+ }
11
+ exports.BlueprintPromise = BlueprintPromise;
12
+ class CodePromise extends index_js_1.Code {
13
+ constructor(api, abi, wasm) {
14
+ super(api, abi, wasm, api_1.toPromiseMethod);
15
+ }
16
+ }
17
+ exports.CodePromise = CodePromise;
18
+ class ContractPromise extends index_js_1.Contract {
19
+ constructor(api, abi, address) {
20
+ super(api, abi, address, api_1.toPromiseMethod);
21
+ }
22
+ }
23
+ exports.ContractPromise = ContractPromise;
@@ -0,0 +1,3 @@
1
+ import type { BlueprintSubmittableResult as BaseBlueprintSubmittableResult, CodeSubmittableResult as BaseCodeSubmittableResult } from '../base/index.js';
2
+ export type BlueprintSubmittableResult = BaseBlueprintSubmittableResult<'promise'>;
3
+ export type CodeSubmittableResult = BaseCodeSubmittableResult<'promise'>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import type { ApiRx } from '@pezkuwi/api';
2
+ import type { AccountId, Hash } from '@pezkuwi/types/interfaces';
3
+ import type { Abi } from '../Abi/index.js';
4
+ import { Blueprint, Code, Contract } from '../base/index.js';
5
+ export declare class BlueprintRx extends Blueprint<'rxjs'> {
6
+ constructor(api: ApiRx, abi: string | Record<string, unknown> | Abi, codeHash: string | Hash);
7
+ }
8
+ export declare class CodeRx extends Code<'rxjs'> {
9
+ constructor(api: ApiRx, abi: string | Record<string, unknown> | Abi, wasm: Uint8Array | string | Buffer | null | undefined);
10
+ }
11
+ export declare class ContractRx extends Contract<'rxjs'> {
12
+ constructor(api: ApiRx, abi: string | Record<string, unknown> | Abi, address: string | AccountId);
13
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContractRx = exports.CodeRx = exports.BlueprintRx = void 0;
4
+ const api_1 = require("@pezkuwi/api");
5
+ const index_js_1 = require("../base/index.js");
6
+ class BlueprintRx extends index_js_1.Blueprint {
7
+ constructor(api, abi, codeHash) {
8
+ super(api, abi, codeHash, api_1.toRxMethod);
9
+ }
10
+ }
11
+ exports.BlueprintRx = BlueprintRx;
12
+ class CodeRx extends index_js_1.Code {
13
+ constructor(api, abi, wasm) {
14
+ super(api, abi, wasm, api_1.toRxMethod);
15
+ }
16
+ }
17
+ exports.CodeRx = CodeRx;
18
+ class ContractRx extends index_js_1.Contract {
19
+ constructor(api, abi, address) {
20
+ super(api, abi, address, api_1.toRxMethod);
21
+ }
22
+ }
23
+ exports.ContractRx = ContractRx;
@@ -0,0 +1,3 @@
1
+ import type { BlueprintSubmittableResult as BaseBlueprintSubmittableResult, CodeSubmittableResult as BaseCodeSubmittableResult } from '../base/index.js';
2
+ export type BlueprintSubmittableResult = BaseBlueprintSubmittableResult<'promise'>;
3
+ export type CodeSubmittableResult = BaseCodeSubmittableResult<'promise'>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });