@pezkuwi/api-contract 16.5.5 → 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 (373) hide show
  1. package/Abi/index.d.ts +31 -0
  2. package/Abi/index.js +359 -0
  3. package/Abi/toLatestCompatible.d.ts +15 -0
  4. package/Abi/toLatestCompatible.js +30 -0
  5. package/Abi/toV1.d.ts +3 -0
  6. package/Abi/toV1.js +21 -0
  7. package/Abi/toV2.d.ts +3 -0
  8. package/Abi/toV2.js +27 -0
  9. package/Abi/toV3.d.ts +3 -0
  10. package/Abi/toV3.js +10 -0
  11. package/Abi/toV4.d.ts +3 -0
  12. package/Abi/toV4.js +10 -0
  13. package/LICENSE +201 -0
  14. package/README.md +1 -1
  15. package/augment.d.ts +1 -0
  16. package/augment.js +1 -0
  17. package/base/Base.d.ts +13 -0
  18. package/base/Base.js +40 -0
  19. package/base/Blueprint.d.ts +24 -0
  20. package/base/Blueprint.js +51 -0
  21. package/base/Code.d.ts +22 -0
  22. package/base/Code.js +74 -0
  23. package/base/Contract.d.ts +25 -0
  24. package/base/Contract.js +127 -0
  25. package/base/index.d.ts +3 -0
  26. package/base/index.js +3 -0
  27. package/base/mock.d.ts +3 -0
  28. package/base/mock.js +38 -0
  29. package/base/types.d.ts +25 -0
  30. package/base/types.js +1 -0
  31. package/base/util.d.ts +16 -0
  32. package/base/util.js +33 -0
  33. package/build/Abi/index.js +359 -0
  34. package/build/Abi/toLatestCompatible.js +30 -0
  35. package/build/Abi/toV1.js +21 -0
  36. package/build/Abi/toV2.js +27 -0
  37. package/build/Abi/toV3.js +10 -0
  38. package/build/Abi/toV4.js +10 -0
  39. package/build/LICENSE +201 -0
  40. package/build/README.md +3 -0
  41. package/build/augment.js +1 -0
  42. package/build/base/Base.js +40 -0
  43. package/build/base/Blueprint.js +51 -0
  44. package/build/base/Code.js +74 -0
  45. package/build/base/Contract.js +127 -0
  46. package/build/base/index.js +3 -0
  47. package/build/base/mock.js +38 -0
  48. package/build/base/types.js +1 -0
  49. package/build/base/util.d.ts +1 -1
  50. package/build/base/util.js +33 -0
  51. package/build/bundle-pezkuwi-api-contract.js +1238 -0
  52. package/build/bundle.js +4 -0
  53. package/build/cjs/Abi/index.d.ts +31 -0
  54. package/build/cjs/Abi/index.js +363 -0
  55. package/build/cjs/Abi/toLatestCompatible.d.ts +15 -0
  56. package/build/cjs/Abi/toLatestCompatible.js +36 -0
  57. package/build/cjs/Abi/toV1.d.ts +3 -0
  58. package/build/cjs/Abi/toV1.js +24 -0
  59. package/build/cjs/Abi/toV2.d.ts +3 -0
  60. package/build/cjs/Abi/toV2.js +30 -0
  61. package/build/cjs/Abi/toV3.d.ts +3 -0
  62. package/build/cjs/Abi/toV3.js +13 -0
  63. package/build/cjs/Abi/toV4.d.ts +3 -0
  64. package/build/cjs/Abi/toV4.js +13 -0
  65. package/build/cjs/augment.d.ts +1 -0
  66. package/build/cjs/augment.js +3 -0
  67. package/build/cjs/base/Base.d.ts +13 -0
  68. package/build/cjs/base/Base.js +44 -0
  69. package/build/cjs/base/Blueprint.d.ts +24 -0
  70. package/build/cjs/base/Blueprint.js +57 -0
  71. package/build/cjs/base/Code.d.ts +22 -0
  72. package/build/cjs/base/Code.js +80 -0
  73. package/build/cjs/base/Contract.d.ts +25 -0
  74. package/build/cjs/base/Contract.js +133 -0
  75. package/build/cjs/base/index.d.ts +3 -0
  76. package/build/cjs/base/index.js +14 -0
  77. package/build/cjs/base/mock.d.ts +3 -0
  78. package/build/cjs/base/mock.js +41 -0
  79. package/build/cjs/base/types.d.ts +25 -0
  80. package/build/cjs/base/types.js +2 -0
  81. package/build/cjs/base/util.d.ts +16 -0
  82. package/build/cjs/base/util.js +42 -0
  83. package/build/cjs/bundle.d.ts +4 -0
  84. package/build/cjs/bundle.js +10 -0
  85. package/build/cjs/index.d.ts +2 -0
  86. package/build/cjs/index.js +5 -0
  87. package/build/cjs/package.json +3 -0
  88. package/build/cjs/packageDetect.d.ts +1 -0
  89. package/build/cjs/packageDetect.js +7 -0
  90. package/build/cjs/packageInfo.d.ts +6 -0
  91. package/build/cjs/packageInfo.js +4 -0
  92. package/build/cjs/promise/index.d.ts +13 -0
  93. package/build/cjs/promise/index.js +23 -0
  94. package/build/cjs/promise/types.d.ts +3 -0
  95. package/build/cjs/promise/types.js +2 -0
  96. package/build/cjs/rx/index.d.ts +13 -0
  97. package/build/cjs/rx/index.js +23 -0
  98. package/build/cjs/rx/types.d.ts +3 -0
  99. package/build/cjs/rx/types.js +2 -0
  100. package/build/cjs/types.d.ts +79 -0
  101. package/build/cjs/types.js +2 -0
  102. package/build/cjs/util.d.ts +5 -0
  103. package/build/cjs/util.js +13 -0
  104. package/build/index.js +2 -0
  105. package/build/package.json +408 -0
  106. package/build/packageDetect.js +5 -0
  107. package/build/packageInfo.js +1 -0
  108. package/build/promise/index.js +17 -0
  109. package/build/promise/types.js +1 -0
  110. package/build/rx/index.js +17 -0
  111. package/build/rx/types.js +1 -0
  112. package/build/types.js +1 -0
  113. package/build/util.js +10 -0
  114. package/build-deno/Abi/index.ts +475 -0
  115. package/build-deno/Abi/toLatestCompatible.ts +47 -0
  116. package/build-deno/Abi/toV1.ts +33 -0
  117. package/build-deno/Abi/toV2.ts +56 -0
  118. package/build-deno/Abi/toV3.ts +16 -0
  119. package/build-deno/Abi/toV4.ts +19 -0
  120. package/build-deno/README.md +3 -0
  121. package/build-deno/augment.ts +2 -0
  122. package/build-deno/base/Base.ts +50 -0
  123. package/build-deno/base/Blueprint.ts +88 -0
  124. package/build-deno/base/Code.ts +140 -0
  125. package/build-deno/base/Contract.ts +194 -0
  126. package/build-deno/base/index.ts +4 -0
  127. package/build-deno/base/mock.ts +46 -0
  128. package/build-deno/base/types.ts +38 -0
  129. package/build-deno/base/util.ts +54 -0
  130. package/build-deno/bundle.ts +6 -0
  131. package/build-deno/checkTypes.manual.ts +42 -0
  132. package/build-deno/index.ts +4 -0
  133. package/build-deno/mod.ts +2 -0
  134. package/build-deno/packageDetect.ts +9 -0
  135. package/build-deno/packageInfo.ts +3 -0
  136. package/build-deno/promise/index.ts +28 -0
  137. package/build-deno/promise/types.ts +5 -0
  138. package/build-deno/rx/index.ts +28 -0
  139. package/build-deno/rx/types.ts +5 -0
  140. package/build-deno/test/contracts/index.ts +18 -0
  141. package/build-deno/test/contracts/ink/index.ts +11 -0
  142. package/build-deno/test/contracts/ink/v0/accumulator.wasm +0 -0
  143. package/build-deno/test/contracts/ink/v0/adder.wasm +0 -0
  144. package/build-deno/test/contracts/ink/v0/delegator.wasm +0 -0
  145. package/build-deno/test/contracts/ink/v0/dns.wasm +0 -0
  146. package/build-deno/test/contracts/ink/v0/erc20.wasm +0 -0
  147. package/build-deno/test/contracts/ink/v0/erc721.wasm +0 -0
  148. package/build-deno/test/contracts/ink/v0/flipper.wasm +0 -0
  149. package/build-deno/test/contracts/ink/v0/incrementer.wasm +0 -0
  150. package/build-deno/test/contracts/ink/v0/index.ts +9 -0
  151. package/build-deno/test/contracts/ink/v0/multisig_plain.wasm +0 -0
  152. package/build-deno/test/contracts/ink/v0/subber.wasm +0 -0
  153. package/build-deno/test/contracts/ink/v0/trait-flipper.wasm +0 -0
  154. package/build-deno/test/contracts/ink/v1/index.ts +3 -0
  155. package/build-deno/test/contracts/ink/v2/index.ts +3 -0
  156. package/build-deno/test/contracts/ink/v3/index.ts +3 -0
  157. package/build-deno/test/contracts/ink/v4/erc20.wasm +0 -0
  158. package/build-deno/test/contracts/ink/v4/flipper.wasm +0 -0
  159. package/build-deno/test/contracts/ink/v4/index.ts +5 -0
  160. package/build-deno/test/contracts/ink/v5/erc20.wasm +0 -0
  161. package/build-deno/test/contracts/ink/v5/flipper.wasm +0 -0
  162. package/build-deno/test/contracts/ink/v5/index.ts +6 -0
  163. package/build-deno/test/contracts/ink/v6/erc20.polkavm +0 -0
  164. package/build-deno/test/contracts/ink/v6/index.ts +3 -0
  165. package/build-deno/test/contracts/solang/index.ts +5 -0
  166. package/build-deno/test/contracts/solang/v0/index.ts +2 -0
  167. package/build-deno/test/contracts/solang/v0/ints256.sol +13 -0
  168. package/build-deno/test/contracts/solang/v0/ints256.wasm +0 -0
  169. package/build-deno/test/contracts/user/index.ts +7 -0
  170. package/build-deno/test/contracts/user/v0/assetTransfer.wasm +0 -0
  171. package/build-deno/test/contracts/user/v0/enumExample.wasm +0 -0
  172. package/build-deno/test/contracts/user/v0/index.ts +5 -0
  173. package/build-deno/test/contracts/user/v3/index.ts +2 -0
  174. package/build-deno/test/contracts/user/v4/index.ts +2 -0
  175. package/build-deno/test/contracts/util.ts +12 -0
  176. package/build-deno/types.ts +95 -0
  177. package/build-deno/util.ts +18 -0
  178. package/build-tsc/Abi/index.d.ts +31 -0
  179. package/build-tsc/Abi/toLatestCompatible.d.ts +15 -0
  180. package/build-tsc/Abi/toV1.d.ts +3 -0
  181. package/build-tsc/Abi/toV2.d.ts +3 -0
  182. package/build-tsc/Abi/toV3.d.ts +3 -0
  183. package/build-tsc/Abi/toV4.d.ts +3 -0
  184. package/build-tsc/augment.d.ts +1 -0
  185. package/build-tsc/base/Base.d.ts +13 -0
  186. package/build-tsc/base/Blueprint.d.ts +24 -0
  187. package/build-tsc/base/Code.d.ts +22 -0
  188. package/build-tsc/base/Contract.d.ts +25 -0
  189. package/build-tsc/base/index.d.ts +3 -0
  190. package/build-tsc/base/mock.d.ts +3 -0
  191. package/build-tsc/base/types.d.ts +25 -0
  192. package/build-tsc/base/util.d.ts +16 -0
  193. package/build-tsc/bundle.d.ts +4 -0
  194. package/build-tsc/index.d.ts +2 -0
  195. package/build-tsc/packageDetect.d.ts +1 -0
  196. package/build-tsc/packageInfo.d.ts +6 -0
  197. package/build-tsc/promise/index.d.ts +13 -0
  198. package/build-tsc/promise/types.d.ts +3 -0
  199. package/build-tsc/rx/index.d.ts +13 -0
  200. package/build-tsc/rx/types.d.ts +3 -0
  201. package/build-tsc/types.d.ts +79 -0
  202. package/build-tsc/util.d.ts +5 -0
  203. package/build-tsc-cjs/Abi/index.js +363 -0
  204. package/build-tsc-cjs/Abi/toLatestCompatible.js +36 -0
  205. package/build-tsc-cjs/Abi/toV1.js +24 -0
  206. package/build-tsc-cjs/Abi/toV2.js +30 -0
  207. package/build-tsc-cjs/Abi/toV3.js +13 -0
  208. package/build-tsc-cjs/Abi/toV4.js +13 -0
  209. package/build-tsc-cjs/augment.js +3 -0
  210. package/build-tsc-cjs/base/Base.js +44 -0
  211. package/build-tsc-cjs/base/Blueprint.js +57 -0
  212. package/build-tsc-cjs/base/Code.js +80 -0
  213. package/build-tsc-cjs/base/Contract.js +133 -0
  214. package/build-tsc-cjs/base/index.js +14 -0
  215. package/build-tsc-cjs/base/mock.js +41 -0
  216. package/build-tsc-cjs/base/types.js +2 -0
  217. package/build-tsc-cjs/base/util.js +42 -0
  218. package/build-tsc-cjs/bundle.js +10 -0
  219. package/build-tsc-cjs/index.js +5 -0
  220. package/build-tsc-cjs/packageDetect.js +7 -0
  221. package/build-tsc-cjs/packageInfo.js +4 -0
  222. package/build-tsc-cjs/promise/index.js +23 -0
  223. package/build-tsc-cjs/promise/types.js +2 -0
  224. package/build-tsc-cjs/rx/index.js +23 -0
  225. package/build-tsc-cjs/rx/types.js +2 -0
  226. package/build-tsc-cjs/types.js +2 -0
  227. package/build-tsc-cjs/util.js +13 -0
  228. package/build-tsc-esm/Abi/index.js +359 -0
  229. package/build-tsc-esm/Abi/toLatestCompatible.js +30 -0
  230. package/build-tsc-esm/Abi/toV1.js +21 -0
  231. package/build-tsc-esm/Abi/toV2.js +27 -0
  232. package/build-tsc-esm/Abi/toV3.js +10 -0
  233. package/build-tsc-esm/Abi/toV4.js +10 -0
  234. package/build-tsc-esm/augment.js +1 -0
  235. package/build-tsc-esm/base/Base.js +40 -0
  236. package/build-tsc-esm/base/Blueprint.js +51 -0
  237. package/build-tsc-esm/base/Code.js +74 -0
  238. package/build-tsc-esm/base/Contract.js +127 -0
  239. package/build-tsc-esm/base/index.js +3 -0
  240. package/build-tsc-esm/base/mock.js +38 -0
  241. package/build-tsc-esm/base/types.js +1 -0
  242. package/build-tsc-esm/base/util.js +33 -0
  243. package/build-tsc-esm/bundle.js +4 -0
  244. package/build-tsc-esm/index.js +2 -0
  245. package/build-tsc-esm/packageDetect.js +5 -0
  246. package/build-tsc-esm/packageInfo.js +1 -0
  247. package/build-tsc-esm/promise/index.js +17 -0
  248. package/build-tsc-esm/promise/types.js +1 -0
  249. package/build-tsc-esm/rx/index.js +17 -0
  250. package/build-tsc-esm/rx/types.js +1 -0
  251. package/build-tsc-esm/types.js +1 -0
  252. package/build-tsc-esm/util.js +10 -0
  253. package/bundle-pezkuwi-api-contract.js +1238 -0
  254. package/bundle.d.ts +4 -0
  255. package/bundle.js +4 -0
  256. package/cjs/Abi/index.d.ts +31 -0
  257. package/cjs/Abi/index.js +363 -0
  258. package/cjs/Abi/toLatestCompatible.d.ts +15 -0
  259. package/cjs/Abi/toLatestCompatible.js +36 -0
  260. package/cjs/Abi/toV1.d.ts +3 -0
  261. package/cjs/Abi/toV1.js +24 -0
  262. package/cjs/Abi/toV2.d.ts +3 -0
  263. package/cjs/Abi/toV2.js +30 -0
  264. package/cjs/Abi/toV3.d.ts +3 -0
  265. package/cjs/Abi/toV3.js +13 -0
  266. package/cjs/Abi/toV4.d.ts +3 -0
  267. package/cjs/Abi/toV4.js +13 -0
  268. package/cjs/augment.d.ts +1 -0
  269. package/cjs/augment.js +3 -0
  270. package/cjs/base/Base.d.ts +13 -0
  271. package/cjs/base/Base.js +44 -0
  272. package/cjs/base/Blueprint.d.ts +24 -0
  273. package/cjs/base/Blueprint.js +57 -0
  274. package/cjs/base/Code.d.ts +22 -0
  275. package/cjs/base/Code.js +80 -0
  276. package/cjs/base/Contract.d.ts +25 -0
  277. package/cjs/base/Contract.js +133 -0
  278. package/cjs/base/index.d.ts +3 -0
  279. package/cjs/base/index.js +14 -0
  280. package/cjs/base/mock.d.ts +3 -0
  281. package/cjs/base/mock.js +41 -0
  282. package/cjs/base/types.d.ts +25 -0
  283. package/cjs/base/types.js +2 -0
  284. package/cjs/base/util.d.ts +16 -0
  285. package/cjs/base/util.js +42 -0
  286. package/cjs/bundle.d.ts +4 -0
  287. package/cjs/bundle.js +10 -0
  288. package/cjs/index.d.ts +2 -0
  289. package/cjs/index.js +5 -0
  290. package/cjs/package.json +3 -0
  291. package/cjs/packageDetect.d.ts +1 -0
  292. package/cjs/packageDetect.js +7 -0
  293. package/cjs/packageInfo.d.ts +6 -0
  294. package/cjs/packageInfo.js +4 -0
  295. package/cjs/promise/index.d.ts +13 -0
  296. package/cjs/promise/index.js +23 -0
  297. package/cjs/promise/types.d.ts +3 -0
  298. package/cjs/promise/types.js +2 -0
  299. package/cjs/rx/index.d.ts +13 -0
  300. package/cjs/rx/index.js +23 -0
  301. package/cjs/rx/types.d.ts +3 -0
  302. package/cjs/rx/types.js +2 -0
  303. package/cjs/types.d.ts +79 -0
  304. package/cjs/types.js +2 -0
  305. package/cjs/util.d.ts +5 -0
  306. package/cjs/util.js +13 -0
  307. package/index.d.ts +2 -0
  308. package/index.js +2 -0
  309. package/package.json +384 -15
  310. package/packageDetect.d.ts +1 -0
  311. package/packageDetect.js +5 -0
  312. package/packageInfo.d.ts +6 -0
  313. package/packageInfo.js +1 -0
  314. package/promise/index.d.ts +13 -0
  315. package/promise/index.js +17 -0
  316. package/promise/types.d.ts +3 -0
  317. package/promise/types.js +1 -0
  318. package/rx/index.d.ts +13 -0
  319. package/rx/index.js +17 -0
  320. package/rx/types.d.ts +3 -0
  321. package/rx/types.js +1 -0
  322. package/src/Abi/Abi.spec.ts +2 -2
  323. package/src/Abi/index.ts +1 -1
  324. package/src/Abi/toLatestCompatible.spec.ts +1 -1
  325. package/src/Abi/toLatestCompatible.ts +1 -1
  326. package/src/Abi/toV1.ts +1 -1
  327. package/src/Abi/toV2.ts +1 -1
  328. package/src/Abi/toV3.ts +1 -1
  329. package/src/Abi/toV4.ts +1 -1
  330. package/src/augment.ts +1 -1
  331. package/src/base/Base.ts +1 -1
  332. package/src/base/Blueprint.ts +1 -1
  333. package/src/base/Code.spec.ts +1 -1
  334. package/src/base/Code.ts +1 -1
  335. package/src/base/Contract.ts +1 -1
  336. package/src/base/index.ts +1 -1
  337. package/src/base/mock.ts +1 -1
  338. package/src/base/types.ts +1 -1
  339. package/src/base/util.ts +1 -1
  340. package/src/bundle.ts +1 -1
  341. package/src/checkTypes.manual.ts +4 -4
  342. package/src/index.ts +1 -1
  343. package/src/mod.ts +1 -1
  344. package/src/packageDetect.ts +2 -2
  345. package/src/packageInfo.ts +3 -3
  346. package/src/promise/index.ts +1 -1
  347. package/src/promise/types.ts +1 -1
  348. package/src/rx/index.ts +1 -1
  349. package/src/rx/types.ts +1 -1
  350. package/src/test/contracts/index.ts +1 -1
  351. package/src/test/contracts/ink/index.ts +1 -1
  352. package/src/test/contracts/ink/v0/index.ts +1 -1
  353. package/src/test/contracts/ink/v1/index.ts +1 -1
  354. package/src/test/contracts/ink/v2/index.ts +1 -1
  355. package/src/test/contracts/ink/v3/index.ts +1 -1
  356. package/src/test/contracts/ink/v4/index.ts +1 -1
  357. package/src/test/contracts/ink/v5/index.ts +1 -1
  358. package/src/test/contracts/ink/v6/index.ts +1 -1
  359. package/src/test/contracts/solang/index.ts +1 -1
  360. package/src/test/contracts/solang/v0/index.ts +1 -1
  361. package/src/test/contracts/user/index.ts +1 -1
  362. package/src/test/contracts/user/v0/index.ts +1 -1
  363. package/src/test/contracts/user/v3/index.ts +1 -1
  364. package/src/test/contracts/user/v4/index.ts +1 -1
  365. package/src/test/contracts/util.ts +1 -1
  366. package/src/types.ts +1 -1
  367. package/src/util.ts +1 -1
  368. package/tsconfig.build.tsbuildinfo +1 -1
  369. package/tsconfig.spec.tsbuildinfo +1 -0
  370. package/types.d.ts +79 -0
  371. package/types.js +1 -0
  372. package/util.d.ts +5 -0
  373. package/util.js +10 -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,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,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,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,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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,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,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,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const packageInfo_1 = require("@pezkuwi/api/packageInfo");
4
+ const packageInfo_2 = require("@pezkuwi/types/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,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,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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyOnEvent = applyOnEvent;
4
+ function applyOnEvent(result, types, fn, isRevive) {
5
+ if (result.isInBlock || result.isFinalized) {
6
+ const section = isRevive ? 'revive' : 'contracts';
7
+ const records = result.filterRecords(section, types);
8
+ if (records.length) {
9
+ return fn(records);
10
+ }
11
+ }
12
+ return undefined;
13
+ }