@pezkuwi/api-contract 16.5.8 → 16.5.9

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/bundle-pezkuwi-api-contract.js +1 -1
  2. package/cjs/packageInfo.js +1 -1
  3. package/package.json +13 -11
  4. package/packageInfo.js +1 -1
  5. package/build/Abi/index.d.ts +0 -31
  6. package/build/Abi/index.js +0 -359
  7. package/build/Abi/toLatestCompatible.d.ts +0 -15
  8. package/build/Abi/toLatestCompatible.js +0 -30
  9. package/build/Abi/toV1.d.ts +0 -3
  10. package/build/Abi/toV1.js +0 -21
  11. package/build/Abi/toV2.d.ts +0 -3
  12. package/build/Abi/toV2.js +0 -27
  13. package/build/Abi/toV3.d.ts +0 -3
  14. package/build/Abi/toV3.js +0 -10
  15. package/build/Abi/toV4.d.ts +0 -3
  16. package/build/Abi/toV4.js +0 -10
  17. package/build/LICENSE +0 -201
  18. package/build/README.md +0 -3
  19. package/build/augment.d.ts +0 -1
  20. package/build/augment.js +0 -1
  21. package/build/base/Base.d.ts +0 -13
  22. package/build/base/Base.js +0 -40
  23. package/build/base/Blueprint.d.ts +0 -24
  24. package/build/base/Blueprint.js +0 -51
  25. package/build/base/Code.d.ts +0 -22
  26. package/build/base/Code.js +0 -74
  27. package/build/base/Contract.d.ts +0 -25
  28. package/build/base/Contract.js +0 -127
  29. package/build/base/index.d.ts +0 -3
  30. package/build/base/index.js +0 -3
  31. package/build/base/mock.d.ts +0 -3
  32. package/build/base/mock.js +0 -38
  33. package/build/base/types.d.ts +0 -25
  34. package/build/base/types.js +0 -1
  35. package/build/base/util.d.ts +0 -16
  36. package/build/base/util.js +0 -33
  37. package/build/bundle-pezkuwi-api-contract.js +0 -1238
  38. package/build/bundle.d.ts +0 -4
  39. package/build/bundle.js +0 -4
  40. package/build/cjs/Abi/index.d.ts +0 -31
  41. package/build/cjs/Abi/index.js +0 -363
  42. package/build/cjs/Abi/toLatestCompatible.d.ts +0 -15
  43. package/build/cjs/Abi/toLatestCompatible.js +0 -36
  44. package/build/cjs/Abi/toV1.d.ts +0 -3
  45. package/build/cjs/Abi/toV1.js +0 -24
  46. package/build/cjs/Abi/toV2.d.ts +0 -3
  47. package/build/cjs/Abi/toV2.js +0 -30
  48. package/build/cjs/Abi/toV3.d.ts +0 -3
  49. package/build/cjs/Abi/toV3.js +0 -13
  50. package/build/cjs/Abi/toV4.d.ts +0 -3
  51. package/build/cjs/Abi/toV4.js +0 -13
  52. package/build/cjs/augment.d.ts +0 -1
  53. package/build/cjs/augment.js +0 -3
  54. package/build/cjs/base/Base.d.ts +0 -13
  55. package/build/cjs/base/Base.js +0 -44
  56. package/build/cjs/base/Blueprint.d.ts +0 -24
  57. package/build/cjs/base/Blueprint.js +0 -57
  58. package/build/cjs/base/Code.d.ts +0 -22
  59. package/build/cjs/base/Code.js +0 -80
  60. package/build/cjs/base/Contract.d.ts +0 -25
  61. package/build/cjs/base/Contract.js +0 -133
  62. package/build/cjs/base/index.d.ts +0 -3
  63. package/build/cjs/base/index.js +0 -14
  64. package/build/cjs/base/mock.d.ts +0 -3
  65. package/build/cjs/base/mock.js +0 -41
  66. package/build/cjs/base/types.d.ts +0 -25
  67. package/build/cjs/base/types.js +0 -2
  68. package/build/cjs/base/util.d.ts +0 -16
  69. package/build/cjs/base/util.js +0 -42
  70. package/build/cjs/bundle.d.ts +0 -4
  71. package/build/cjs/bundle.js +0 -10
  72. package/build/cjs/index.d.ts +0 -2
  73. package/build/cjs/index.js +0 -5
  74. package/build/cjs/package.json +0 -3
  75. package/build/cjs/packageDetect.d.ts +0 -1
  76. package/build/cjs/packageDetect.js +0 -7
  77. package/build/cjs/packageInfo.d.ts +0 -6
  78. package/build/cjs/packageInfo.js +0 -4
  79. package/build/cjs/promise/index.d.ts +0 -13
  80. package/build/cjs/promise/index.js +0 -23
  81. package/build/cjs/promise/types.d.ts +0 -3
  82. package/build/cjs/promise/types.js +0 -2
  83. package/build/cjs/rx/index.d.ts +0 -13
  84. package/build/cjs/rx/index.js +0 -23
  85. package/build/cjs/rx/types.d.ts +0 -3
  86. package/build/cjs/rx/types.js +0 -2
  87. package/build/cjs/types.d.ts +0 -79
  88. package/build/cjs/types.js +0 -2
  89. package/build/cjs/util.d.ts +0 -5
  90. package/build/cjs/util.js +0 -13
  91. package/build/index.d.ts +0 -2
  92. package/build/index.js +0 -2
  93. package/build/package.json +0 -408
  94. package/build/packageDetect.d.ts +0 -1
  95. package/build/packageDetect.js +0 -5
  96. package/build/packageInfo.d.ts +0 -6
  97. package/build/packageInfo.js +0 -1
  98. package/build/promise/index.d.ts +0 -13
  99. package/build/promise/index.js +0 -17
  100. package/build/promise/types.d.ts +0 -3
  101. package/build/promise/types.js +0 -1
  102. package/build/rx/index.d.ts +0 -13
  103. package/build/rx/index.js +0 -17
  104. package/build/rx/types.d.ts +0 -3
  105. package/build/rx/types.js +0 -1
  106. package/build/types.d.ts +0 -79
  107. package/build/types.js +0 -1
  108. package/build/util.d.ts +0 -5
  109. package/build/util.js +0 -10
  110. package/build-deno/Abi/index.ts +0 -475
  111. package/build-deno/Abi/toLatestCompatible.ts +0 -47
  112. package/build-deno/Abi/toV1.ts +0 -33
  113. package/build-deno/Abi/toV2.ts +0 -56
  114. package/build-deno/Abi/toV3.ts +0 -16
  115. package/build-deno/Abi/toV4.ts +0 -19
  116. package/build-deno/README.md +0 -3
  117. package/build-deno/augment.ts +0 -2
  118. package/build-deno/base/Base.ts +0 -50
  119. package/build-deno/base/Blueprint.ts +0 -88
  120. package/build-deno/base/Code.ts +0 -140
  121. package/build-deno/base/Contract.ts +0 -194
  122. package/build-deno/base/index.ts +0 -4
  123. package/build-deno/base/mock.ts +0 -46
  124. package/build-deno/base/types.ts +0 -38
  125. package/build-deno/base/util.ts +0 -54
  126. package/build-deno/bundle.ts +0 -6
  127. package/build-deno/checkTypes.manual.ts +0 -42
  128. package/build-deno/index.ts +0 -4
  129. package/build-deno/mod.ts +0 -2
  130. package/build-deno/packageDetect.ts +0 -9
  131. package/build-deno/packageInfo.ts +0 -3
  132. package/build-deno/promise/index.ts +0 -28
  133. package/build-deno/promise/types.ts +0 -5
  134. package/build-deno/rx/index.ts +0 -28
  135. package/build-deno/rx/types.ts +0 -5
  136. package/build-deno/test/contracts/index.ts +0 -18
  137. package/build-deno/test/contracts/ink/index.ts +0 -11
  138. package/build-deno/test/contracts/ink/v0/accumulator.wasm +0 -0
  139. package/build-deno/test/contracts/ink/v0/adder.wasm +0 -0
  140. package/build-deno/test/contracts/ink/v0/delegator.wasm +0 -0
  141. package/build-deno/test/contracts/ink/v0/dns.wasm +0 -0
  142. package/build-deno/test/contracts/ink/v0/erc20.wasm +0 -0
  143. package/build-deno/test/contracts/ink/v0/erc721.wasm +0 -0
  144. package/build-deno/test/contracts/ink/v0/flipper.wasm +0 -0
  145. package/build-deno/test/contracts/ink/v0/incrementer.wasm +0 -0
  146. package/build-deno/test/contracts/ink/v0/index.ts +0 -9
  147. package/build-deno/test/contracts/ink/v0/multisig_plain.wasm +0 -0
  148. package/build-deno/test/contracts/ink/v0/subber.wasm +0 -0
  149. package/build-deno/test/contracts/ink/v0/trait-flipper.wasm +0 -0
  150. package/build-deno/test/contracts/ink/v1/index.ts +0 -3
  151. package/build-deno/test/contracts/ink/v2/index.ts +0 -3
  152. package/build-deno/test/contracts/ink/v3/index.ts +0 -3
  153. package/build-deno/test/contracts/ink/v4/erc20.wasm +0 -0
  154. package/build-deno/test/contracts/ink/v4/flipper.wasm +0 -0
  155. package/build-deno/test/contracts/ink/v4/index.ts +0 -5
  156. package/build-deno/test/contracts/ink/v5/erc20.wasm +0 -0
  157. package/build-deno/test/contracts/ink/v5/flipper.wasm +0 -0
  158. package/build-deno/test/contracts/ink/v5/index.ts +0 -6
  159. package/build-deno/test/contracts/ink/v6/erc20.polkavm +0 -0
  160. package/build-deno/test/contracts/ink/v6/index.ts +0 -3
  161. package/build-deno/test/contracts/solang/index.ts +0 -5
  162. package/build-deno/test/contracts/solang/v0/index.ts +0 -2
  163. package/build-deno/test/contracts/solang/v0/ints256.sol +0 -13
  164. package/build-deno/test/contracts/solang/v0/ints256.wasm +0 -0
  165. package/build-deno/test/contracts/user/index.ts +0 -7
  166. package/build-deno/test/contracts/user/v0/assetTransfer.wasm +0 -0
  167. package/build-deno/test/contracts/user/v0/enumExample.wasm +0 -0
  168. package/build-deno/test/contracts/user/v0/index.ts +0 -5
  169. package/build-deno/test/contracts/user/v3/index.ts +0 -2
  170. package/build-deno/test/contracts/user/v4/index.ts +0 -2
  171. package/build-deno/test/contracts/util.ts +0 -12
  172. package/build-deno/types.ts +0 -95
  173. package/build-deno/util.ts +0 -18
  174. package/build-tsc/Abi/index.d.ts +0 -31
  175. package/build-tsc/Abi/toLatestCompatible.d.ts +0 -15
  176. package/build-tsc/Abi/toV1.d.ts +0 -3
  177. package/build-tsc/Abi/toV2.d.ts +0 -3
  178. package/build-tsc/Abi/toV3.d.ts +0 -3
  179. package/build-tsc/Abi/toV4.d.ts +0 -3
  180. package/build-tsc/augment.d.ts +0 -1
  181. package/build-tsc/base/Base.d.ts +0 -13
  182. package/build-tsc/base/Blueprint.d.ts +0 -24
  183. package/build-tsc/base/Code.d.ts +0 -22
  184. package/build-tsc/base/Contract.d.ts +0 -25
  185. package/build-tsc/base/index.d.ts +0 -3
  186. package/build-tsc/base/mock.d.ts +0 -3
  187. package/build-tsc/base/types.d.ts +0 -25
  188. package/build-tsc/base/util.d.ts +0 -16
  189. package/build-tsc/bundle.d.ts +0 -4
  190. package/build-tsc/index.d.ts +0 -2
  191. package/build-tsc/packageDetect.d.ts +0 -1
  192. package/build-tsc/packageInfo.d.ts +0 -6
  193. package/build-tsc/promise/index.d.ts +0 -13
  194. package/build-tsc/promise/types.d.ts +0 -3
  195. package/build-tsc/rx/index.d.ts +0 -13
  196. package/build-tsc/rx/types.d.ts +0 -3
  197. package/build-tsc/types.d.ts +0 -79
  198. package/build-tsc/util.d.ts +0 -5
  199. package/build-tsc-cjs/Abi/index.js +0 -363
  200. package/build-tsc-cjs/Abi/toLatestCompatible.js +0 -36
  201. package/build-tsc-cjs/Abi/toV1.js +0 -24
  202. package/build-tsc-cjs/Abi/toV2.js +0 -30
  203. package/build-tsc-cjs/Abi/toV3.js +0 -13
  204. package/build-tsc-cjs/Abi/toV4.js +0 -13
  205. package/build-tsc-cjs/augment.js +0 -3
  206. package/build-tsc-cjs/base/Base.js +0 -44
  207. package/build-tsc-cjs/base/Blueprint.js +0 -57
  208. package/build-tsc-cjs/base/Code.js +0 -80
  209. package/build-tsc-cjs/base/Contract.js +0 -133
  210. package/build-tsc-cjs/base/index.js +0 -14
  211. package/build-tsc-cjs/base/mock.js +0 -41
  212. package/build-tsc-cjs/base/types.js +0 -2
  213. package/build-tsc-cjs/base/util.js +0 -42
  214. package/build-tsc-cjs/bundle.js +0 -10
  215. package/build-tsc-cjs/index.js +0 -5
  216. package/build-tsc-cjs/packageDetect.js +0 -7
  217. package/build-tsc-cjs/packageInfo.js +0 -4
  218. package/build-tsc-cjs/promise/index.js +0 -23
  219. package/build-tsc-cjs/promise/types.js +0 -2
  220. package/build-tsc-cjs/rx/index.js +0 -23
  221. package/build-tsc-cjs/rx/types.js +0 -2
  222. package/build-tsc-cjs/types.js +0 -2
  223. package/build-tsc-cjs/util.js +0 -13
  224. package/build-tsc-esm/Abi/index.js +0 -359
  225. package/build-tsc-esm/Abi/toLatestCompatible.js +0 -30
  226. package/build-tsc-esm/Abi/toV1.js +0 -21
  227. package/build-tsc-esm/Abi/toV2.js +0 -27
  228. package/build-tsc-esm/Abi/toV3.js +0 -10
  229. package/build-tsc-esm/Abi/toV4.js +0 -10
  230. package/build-tsc-esm/augment.js +0 -1
  231. package/build-tsc-esm/base/Base.js +0 -40
  232. package/build-tsc-esm/base/Blueprint.js +0 -51
  233. package/build-tsc-esm/base/Code.js +0 -74
  234. package/build-tsc-esm/base/Contract.js +0 -127
  235. package/build-tsc-esm/base/index.js +0 -3
  236. package/build-tsc-esm/base/mock.js +0 -38
  237. package/build-tsc-esm/base/types.js +0 -1
  238. package/build-tsc-esm/base/util.js +0 -33
  239. package/build-tsc-esm/bundle.js +0 -4
  240. package/build-tsc-esm/index.js +0 -2
  241. package/build-tsc-esm/packageDetect.js +0 -5
  242. package/build-tsc-esm/packageInfo.js +0 -1
  243. package/build-tsc-esm/promise/index.js +0 -17
  244. package/build-tsc-esm/promise/types.js +0 -1
  245. package/build-tsc-esm/rx/index.js +0 -17
  246. package/build-tsc-esm/rx/types.js +0 -1
  247. package/build-tsc-esm/types.js +0 -1
  248. package/build-tsc-esm/util.js +0 -10
  249. package/src/Abi/Abi.spec.ts +0 -235
  250. package/src/Abi/index.ts +0 -477
  251. package/src/Abi/toLatestCompatible.spec.ts +0 -219
  252. package/src/Abi/toLatestCompatible.ts +0 -52
  253. package/src/Abi/toV1.ts +0 -35
  254. package/src/Abi/toV2.ts +0 -58
  255. package/src/Abi/toV3.ts +0 -18
  256. package/src/Abi/toV4.ts +0 -21
  257. package/src/augment.ts +0 -4
  258. package/src/base/Base.ts +0 -52
  259. package/src/base/Blueprint.ts +0 -90
  260. package/src/base/Code.spec.ts +0 -47
  261. package/src/base/Code.ts +0 -142
  262. package/src/base/Contract.ts +0 -197
  263. package/src/base/index.ts +0 -6
  264. package/src/base/mock.ts +0 -48
  265. package/src/base/types.ts +0 -40
  266. package/src/base/util.ts +0 -56
  267. package/src/bundle.ts +0 -10
  268. package/src/checkTypes.manual.ts +0 -45
  269. package/src/index.ts +0 -6
  270. package/src/mod.ts +0 -4
  271. package/src/packageDetect.ts +0 -13
  272. package/src/packageInfo.ts +0 -6
  273. package/src/promise/index.ts +0 -28
  274. package/src/promise/types.ts +0 -7
  275. package/src/rx/index.ts +0 -28
  276. package/src/rx/types.ts +0 -7
  277. package/src/test/compare/ink_v0_delegator.test.json +0 -47
  278. package/src/test/compare/ink_v0_dns.test.json +0 -232
  279. package/src/test/compare/ink_v0_erc20.test.json +0 -253
  280. package/src/test/compare/ink_v0_erc721.test.json +0 -415
  281. package/src/test/compare/ink_v0_flipper.test.json +0 -9
  282. package/src/test/compare/ink_v0_flipperBundle.test.json +0 -9
  283. package/src/test/compare/ink_v0_incrementer.test.json +0 -9
  284. package/src/test/compare/ink_v0_multisigPlain.test.json +0 -562
  285. package/src/test/compare/ink_v1_flipper.test.json +0 -9
  286. package/src/test/compare/ink_v1_psp22.test.json +0 -531
  287. package/src/test/compare/ink_v2_erc20.test.json +0 -205
  288. package/src/test/compare/ink_v2_flipper.test.json +0 -9
  289. package/src/test/compare/ink_v3_flipper.test.json +0 -9
  290. package/src/test/compare/ink_v3_traitErc20.test.json +0 -205
  291. package/src/test/compare/ink_v4_erc20Contract.test.json +0 -253
  292. package/src/test/compare/ink_v4_erc20Metadata.test.json +0 -253
  293. package/src/test/compare/ink_v4_flipperContract.test.json +0 -155
  294. package/src/test/compare/ink_v4_flipperMetadata.test.json +0 -155
  295. package/src/test/compare/ink_v5_erc20.test.json +0 -370
  296. package/src/test/compare/ink_v5_erc20AnonymousTransferMetadata.test.json +0 -370
  297. package/src/test/compare/ink_v5_erc20Contract.test.json +0 -370
  298. package/src/test/compare/ink_v5_erc20Metadata.test.json +0 -370
  299. package/src/test/compare/ink_v5_flipperContract.test.json +0 -174
  300. package/src/test/compare/ink_v5_flipperMetadata.test.json +0 -174
  301. package/src/test/compare/ink_v6_erc20Contract.test.json +0 -418
  302. package/src/test/compare/ink_v6_erc20Metadata.test.json +0 -418
  303. package/src/test/compare/solang_v0_ints256.test.json +0 -9
  304. package/src/test/compare/user_v0_assetTransfer.test.json +0 -54
  305. package/src/test/compare/user_v0_enumExample.test.json +0 -303
  306. package/src/test/compare/user_v0_recursive.test.json +0 -27
  307. package/src/test/compare/user_v0_withString.test.json +0 -260
  308. package/src/test/compare/user_v3_ask.test.json +0 -71
  309. package/src/test/compare/user_v4_events.test.json +0 -1328
  310. package/src/test/contracts/index.ts +0 -20
  311. package/src/test/contracts/ink/index.ts +0 -13
  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 +0 -252
  315. package/src/test/contracts/ink/v0/delegator.wasm +0 -0
  316. package/src/test/contracts/ink/v0/dns.json +0 -713
  317. package/src/test/contracts/ink/v0/dns.wasm +0 -0
  318. package/src/test/contracts/ink/v0/erc20.json +0 -704
  319. package/src/test/contracts/ink/v0/erc20.wasm +0 -0
  320. package/src/test/contracts/ink/v0/erc721.json +0 -1197
  321. package/src/test/contracts/ink/v0/erc721.wasm +0 -0
  322. package/src/test/contracts/ink/v0/flipper.contract.json +0 -107
  323. package/src/test/contracts/ink/v0/flipper.json +0 -106
  324. package/src/test/contracts/ink/v0/flipper.wasm +0 -0
  325. package/src/test/contracts/ink/v0/incrementer.json +0 -108
  326. package/src/test/contracts/ink/v0/incrementer.wasm +0 -0
  327. package/src/test/contracts/ink/v0/index.ts +0 -11
  328. package/src/test/contracts/ink/v0/multisig_plain.json +0 -1466
  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 +0 -103
  332. package/src/test/contracts/ink/v0/trait-flipper.wasm +0 -0
  333. package/src/test/contracts/ink/v1/flipper.contract.json +0 -111
  334. package/src/test/contracts/ink/v1/index.ts +0 -6
  335. package/src/test/contracts/ink/v1/psp22_minter_pauser.contract.json +0 -1722
  336. package/src/test/contracts/ink/v2/erc20.contract.json +0 -630
  337. package/src/test/contracts/ink/v2/flipper.contract.json +0 -103
  338. package/src/test/contracts/ink/v2/index.ts +0 -5
  339. package/src/test/contracts/ink/v3/flipper.contract.json +0 -105
  340. package/src/test/contracts/ink/v3/index.ts +0 -6
  341. package/src/test/contracts/ink/v3/trait_erc20.contract.json +0 -631
  342. package/src/test/contracts/ink/v4/erc20.contract.json +0 -1
  343. package/src/test/contracts/ink/v4/erc20.json +0 -821
  344. package/src/test/contracts/ink/v4/erc20.wasm +0 -0
  345. package/src/test/contracts/ink/v4/flipper.contract.json +0 -1
  346. package/src/test/contracts/ink/v4/flipper.json +0 -396
  347. package/src/test/contracts/ink/v4/flipper.wasm +0 -0
  348. package/src/test/contracts/ink/v4/index.ts +0 -7
  349. package/src/test/contracts/ink/v5/erc20.contract.json +0 -1
  350. package/src/test/contracts/ink/v5/erc20.json +0 -1025
  351. package/src/test/contracts/ink/v5/erc20.wasm +0 -0
  352. package/src/test/contracts/ink/v5/erc20_anonymous_transfer.json +0 -1025
  353. package/src/test/contracts/ink/v5/flipper.contract.json +0 -1
  354. package/src/test/contracts/ink/v5/flipper.json +0 -420
  355. package/src/test/contracts/ink/v5/flipper.wasm +0 -0
  356. package/src/test/contracts/ink/v5/index.ts +0 -8
  357. package/src/test/contracts/ink/v6/erc20.contract.json +0 -1
  358. package/src/test/contracts/ink/v6/erc20.json +0 -1081
  359. package/src/test/contracts/ink/v6/erc20.polkavm +0 -0
  360. package/src/test/contracts/ink/v6/index.ts +0 -5
  361. package/src/test/contracts/solang/index.ts +0 -7
  362. package/src/test/contracts/solang/v0/index.ts +0 -4
  363. package/src/test/contracts/solang/v0/ints256.json +0 -113
  364. package/src/test/contracts/solang/v0/ints256.sol +0 -13
  365. package/src/test/contracts/solang/v0/ints256.wasm +0 -0
  366. package/src/test/contracts/user/index.ts +0 -9
  367. package/src/test/contracts/user/v0/assetTransfer.json +0 -299
  368. package/src/test/contracts/user/v0/assetTransfer.wasm +0 -0
  369. package/src/test/contracts/user/v0/enumExample.json +0 -528
  370. package/src/test/contracts/user/v0/enumExample.wasm +0 -0
  371. package/src/test/contracts/user/v0/index.ts +0 -7
  372. package/src/test/contracts/user/v0/recursive.contract.json +0 -1
  373. package/src/test/contracts/user/v0/withString.json +0 -777
  374. package/src/test/contracts/user/v3/ask.json +0 -550
  375. package/src/test/contracts/user/v3/index.ts +0 -4
  376. package/src/test/contracts/user/v4/events.contract.json +0 -2990
  377. package/src/test/contracts/user/v4/index.ts +0 -4
  378. package/src/test/contracts/util.ts +0 -14
  379. package/src/types.ts +0 -98
  380. package/src/util.ts +0 -20
  381. package/tsconfig.build.json +0 -22
  382. package/tsconfig.build.tsbuildinfo +0 -1
  383. package/tsconfig.spec.json +0 -26
  384. package/tsconfig.spec.tsbuildinfo +0 -1
package/build/types.d.ts DELETED
@@ -1,79 +0,0 @@
1
- import type { ApiBase } from '@pezkuwi/api/base';
2
- import type { ApiTypes } from '@pezkuwi/api/types';
3
- import type { Text } from '@pezkuwi/types';
4
- import type { ContractExecResultResult, ContractSelector, StorageDeposit, Weight, WeightV2 } from '@pezkuwi/types/interfaces';
5
- import type { Codec, TypeDef } from '@pezkuwi/types/types';
6
- import type { BN } from '@pezkuwi/util';
7
- import type { HexString } from '@pezkuwi/util/types';
8
- import type { Abi } from './index.js';
9
- export interface ContractBase<ApiType extends ApiTypes> {
10
- readonly abi: Abi;
11
- readonly api: ApiBase<ApiType>;
12
- getMessage: (name: string) => AbiMessage;
13
- messages: AbiMessage[];
14
- }
15
- export interface AbiParam {
16
- name: string;
17
- type: TypeDef;
18
- }
19
- export type AbiMessageParam = AbiParam;
20
- export interface AbiEventParam extends AbiParam {
21
- indexed: boolean;
22
- }
23
- export interface AbiEvent {
24
- args: AbiEventParam[];
25
- docs: string[];
26
- fromU8a: (data: Uint8Array) => DecodedEvent;
27
- identifier: string;
28
- index: number;
29
- signatureTopic?: HexString | null;
30
- }
31
- export interface AbiMessage {
32
- args: AbiMessageParam[];
33
- docs: string[];
34
- fromU8a: (data: Uint8Array) => DecodedMessage;
35
- identifier: string;
36
- index: number;
37
- isConstructor?: boolean;
38
- isDefault?: boolean;
39
- isMutating?: boolean;
40
- isPayable?: boolean;
41
- method: string;
42
- path: string[];
43
- returnType?: TypeDef | null;
44
- selector: ContractSelector;
45
- toU8a: (params: unknown[]) => Uint8Array;
46
- }
47
- export type AbiConstructor = AbiMessage;
48
- export type InterfaceContractCalls = Record<string, Function>;
49
- export interface ContractCallOutcome {
50
- debugMessage: Text;
51
- gasConsumed: Weight;
52
- gasRequired: Weight;
53
- output: Codec | null;
54
- result: ContractExecResultResult;
55
- storageDeposit: StorageDeposit;
56
- }
57
- export interface DecodedEvent {
58
- args: Codec[];
59
- event: AbiEvent;
60
- }
61
- export interface DecodedMessage {
62
- args: Codec[];
63
- message: AbiMessage;
64
- }
65
- export interface ContractOptions {
66
- gasLimit?: bigint | string | number | BN | WeightV2;
67
- storageDepositLimit?: bigint | string | number | BN | null;
68
- value?: bigint | BN | string | number;
69
- }
70
- export interface BlueprintOptions extends ContractOptions {
71
- salt?: Uint8Array | string | null;
72
- }
73
- export interface WeightAll {
74
- v1Weight: BN;
75
- v2Weight: {
76
- refTime: BN;
77
- proofSize?: BN | undefined;
78
- };
79
- }
package/build/types.js DELETED
@@ -1 +0,0 @@
1
- export {};
package/build/util.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import type { SubmittableResult } from '@pezkuwi/api';
2
- import type { EventRecord } from '@pezkuwi/types/interfaces';
3
- type ContractEvents = 'CodeStored' | 'ContractEmitted' | 'ContractExecution' | 'Instantiated';
4
- export declare function applyOnEvent<T>(result: SubmittableResult, types: ContractEvents[], fn: (records: EventRecord[]) => T, isRevive: boolean): T | undefined;
5
- export {};
package/build/util.js DELETED
@@ -1,10 +0,0 @@
1
- export function applyOnEvent(result, types, fn, isRevive) {
2
- if (result.isInBlock || result.isFinalized) {
3
- const section = isRevive ? 'revive' : 'contracts';
4
- const records = result.filterRecords(section, types);
5
- if (records.length) {
6
- return fn(records);
7
- }
8
- }
9
- return undefined;
10
- }
@@ -1,475 +0,0 @@
1
-
2
- import type { Bytes, Vec } from 'https://deno.land/x/pezkuwi/types/mod.ts';
3
- import type { ChainProperties, ContractConstructorSpecLatest, ContractEventParamSpecLatest, ContractMessageParamSpecLatest, ContractMessageSpecLatest, ContractMetadata, ContractMetadataV4, ContractMetadataV5, ContractMetadataV6, ContractProjectInfo, ContractTypeSpec, EventRecord } from 'https://deno.land/x/pezkuwi/types/interfaces/index.ts';
4
- import type { Codec, Registry, TypeDef } from 'https://deno.land/x/pezkuwi/types/types/index.ts';
5
- import type { AbiConstructor, AbiEvent, AbiEventParam, AbiMessage, AbiMessageParam, AbiParam, DecodedEvent, DecodedMessage } from '../types.ts';
6
-
7
- import { Option, TypeRegistry } from 'https://deno.land/x/pezkuwi/types/mod.ts';
8
- import { TypeDefInfo } from 'https://deno.land/x/pezkuwi/types-create/mod.ts';
9
- import { assertReturn, compactAddLength, compactStripLength, isBn, isNumber, isObject, isString, isUndefined, logger, stringCamelCase, stringify, u8aConcat, u8aToHex } from 'https://deno.land/x/pezkuwi/util/mod.ts';
10
-
11
- import { convertVersions, enumVersions } from './toLatestCompatible.ts';
12
-
13
- interface AbiJson {
14
- version?: string;
15
-
16
- [key: string]: unknown;
17
- }
18
-
19
- type EventOf<M> = M extends {spec: { events: Vec<infer E>}} ? E : never
20
- export type ContractMetadataSupported = ContractMetadataV4 | ContractMetadataV5 | ContractMetadataV6;
21
- type ContractEventSupported = EventOf<ContractMetadataSupported>;
22
-
23
- const l = logger('Abi');
24
-
25
- const PRIMITIVE_ALWAYS = ['AccountId', 'AccountId20', 'AccountIndex', 'Address', 'Balance'];
26
-
27
- function findMessage <T extends AbiMessage> (list: T[], messageOrId: T | string | number): T {
28
- const message = isNumber(messageOrId)
29
- ? list[messageOrId]
30
- : isString(messageOrId)
31
- ? list.find(({ identifier }) => [identifier, stringCamelCase(identifier)].includes(messageOrId.toString()))
32
- : messageOrId;
33
-
34
- return assertReturn(message, () => `Attempted to call an invalid contract interface, ${stringify(messageOrId)}`);
35
- }
36
-
37
- function getMetadata (registry: Registry, json: AbiJson): ContractMetadataSupported {
38
- // this is for V1, V2, V3
39
- const vx = enumVersions.find((v) => isObject(json[v]));
40
-
41
- // this was added in V4
42
- const jsonVersion = json.version;
43
-
44
- if (!vx && jsonVersion && !enumVersions.find((v) => v === `V${jsonVersion}`)) {
45
- throw new Error(`Unable to handle version ${jsonVersion}`);
46
- }
47
-
48
- const metadata = registry.createType<ContractMetadata>('ContractMetadata',
49
- vx
50
- ? { [vx]: json[vx] }
51
- : jsonVersion
52
- ? { [`V${jsonVersion}`]: json }
53
- : { V0: json }
54
- );
55
-
56
- const converter = convertVersions.find(([v]) => metadata[`is${v}`]);
57
-
58
- if (!converter) {
59
- throw new Error(`Unable to convert ABI with version ${metadata.type} to a supported version`);
60
- }
61
-
62
- const upgradedMetadata = converter[1](registry, metadata[`as${converter[0]}`]);
63
-
64
- return upgradedMetadata;
65
- }
66
-
67
- function isRevive (json: Record<string, unknown>): boolean {
68
- const source = json['source'];
69
- const version = json['version'];
70
-
71
- const hasContractBinary =
72
- typeof source === 'object' &&
73
- source !== null &&
74
- 'contract_binary' in source;
75
-
76
- const hasVersion =
77
- typeof version === 'number' && version >= 6;
78
-
79
- return hasContractBinary || hasVersion;
80
- }
81
-
82
- function parseJson (json: Record<string, unknown>, chainProperties?: ChainProperties): [Record<string, unknown>, Registry, ContractMetadataSupported, ContractProjectInfo, boolean] {
83
- const registry = new TypeRegistry();
84
-
85
- const revive = isRevive(json);
86
- const typeName = revive ? 'ContractReviveProjectInfo' : 'ContractProjectInfo';
87
-
88
- const info = registry.createType(typeName, json) as unknown as ContractProjectInfo;
89
- const metadata = getMetadata(registry, json as unknown as AbiJson);
90
- const lookup = registry.createType('PortableRegistry', { types: metadata.types }, true);
91
-
92
- // attach the lookup to the registry - now the types are known
93
- registry.setLookup(lookup);
94
-
95
- if (chainProperties) {
96
- registry.setChainProperties(chainProperties);
97
- }
98
-
99
- // warm-up the actual type, pre-use
100
- lookup.types.forEach(({ id }) =>
101
- lookup.getTypeDef(id)
102
- );
103
-
104
- return [json, registry, metadata, info, revive];
105
- }
106
-
107
- /**
108
- * @internal
109
- * Determines if the given input value is a ContractTypeSpec
110
- */
111
- function isTypeSpec (value: Codec): value is ContractTypeSpec {
112
- return !!value && value instanceof Map && !isUndefined((value as ContractTypeSpec).type) && !isUndefined((value as ContractTypeSpec).displayName);
113
- }
114
-
115
- /**
116
- * @internal
117
- * Determines if the given input value is an Option
118
- */
119
- function isOption (value: Codec): value is Option<Codec> {
120
- return !!value && value instanceof Option;
121
- }
122
-
123
- export class Abi {
124
- readonly events: AbiEvent[];
125
- readonly constructors: AbiConstructor[];
126
- readonly info: ContractProjectInfo;
127
- readonly json: Record<string, unknown>;
128
- readonly messages: AbiMessage[];
129
- readonly metadata: ContractMetadataSupported;
130
- readonly registry: Registry;
131
- readonly environment = new Map<string, TypeDef | Codec>();
132
- readonly isRevive: boolean;
133
-
134
- constructor (abiJson: Record<string, unknown> | string, chainProperties?: ChainProperties) {
135
- [this.json, this.registry, this.metadata, this.info, this.isRevive] = parseJson(
136
- isString(abiJson)
137
- ? JSON.parse(abiJson) as Record<string, unknown>
138
- : abiJson,
139
- chainProperties
140
- );
141
- this.constructors = this.metadata.spec.constructors.map((spec: ContractConstructorSpecLatest, index) =>
142
- this.#createMessage(spec, index, {
143
- isConstructor: true,
144
- isDefault: spec.default.isTrue,
145
- isPayable: spec.payable.isTrue,
146
- returnType: spec.returnType.isSome
147
- ? this.registry.lookup.getTypeDef(spec.returnType.unwrap().type)
148
- : null
149
- })
150
- );
151
- this.events = this.metadata.spec.events.map((_: ContractEventSupported, index: number) =>
152
- this.#createEvent(index)
153
- );
154
- this.messages = this.metadata.spec.messages.map((spec: ContractMessageSpecLatest, index): AbiMessage =>
155
- this.#createMessage(spec, index, {
156
- isDefault: spec.default.isTrue,
157
- isMutating: spec.mutates.isTrue,
158
- isPayable: spec.payable.isTrue,
159
- returnType: spec.returnType.isSome
160
- ? this.registry.lookup.getTypeDef(spec.returnType.unwrap().type)
161
- : null
162
- })
163
- );
164
-
165
- // NOTE See the rationale for having Option<...> values in the actual
166
- // ContractEnvironmentV4 structure definition in interfaces/contractsAbi
167
- // (Due to conversions, the fields may not exist)
168
- for (const [key, opt] of this.metadata.spec.environment.entries()) {
169
- if (isOption(opt)) {
170
- if (opt.isSome) {
171
- const value = opt.unwrap();
172
-
173
- if (isBn(value)) {
174
- this.environment.set(key, value);
175
- } else if (isTypeSpec(value)) {
176
- this.environment.set(key, this.registry.lookup.getTypeDef(value.type));
177
- } else {
178
- throw new Error(`Invalid environment definition for ${key}:: Expected either Number or ContractTypeSpec`);
179
- }
180
- }
181
- } else {
182
- throw new Error(`Expected Option<*> definition for ${key} in ContractEnvironment`);
183
- }
184
- }
185
- }
186
-
187
- /**
188
- * Warning: Unstable API, bound to change
189
- */
190
- public decodeEvent (record: EventRecord): DecodedEvent {
191
- switch (this.metadata.version.toString()) {
192
- // earlier version are hoisted to v4
193
- case '4':
194
- return this.#decodeEventV4(record);
195
- case '5':
196
- return this.#decodeEventV5(record);
197
- // Latest
198
- default:
199
- return this.#decodeEventV6(record);
200
- }
201
- }
202
-
203
- #decodeEventV6 = (record: EventRecord): DecodedEvent => {
204
- const topics = record.event.data[2] as unknown as { toHex: () => string }[];
205
- // Try to match by signature topic (first topic)
206
- const signatureTopic = topics[0];
207
- const data = record.event.data[1] as Bytes;
208
-
209
- if (signatureTopic) {
210
- const event = this.events.find((e) => e.signatureTopic !== undefined && e.signatureTopic !== null && e.signatureTopic === signatureTopic.toHex());
211
-
212
- // Early return if event found by signature topic
213
- if (event) {
214
- return event.fromU8a(data);
215
- }
216
- }
217
-
218
- // If no event returned yet, it might be anonymous
219
- const amountOfTopics = topics.length;
220
- const potentialEvents = this.events.filter((e) => {
221
- // event can't have a signature topic
222
- if (e.signatureTopic !== null && e.signatureTopic !== undefined) {
223
- return false;
224
- }
225
-
226
- // event should have same amount of indexed fields as emitted topics
227
- const amountIndexed = e.args.filter((a) => a.indexed).length;
228
-
229
- if (amountIndexed !== amountOfTopics) {
230
- return false;
231
- }
232
-
233
- // If all conditions met, it's a potential event
234
- return true;
235
- });
236
-
237
- if (potentialEvents.length === 1) {
238
- return potentialEvents[0].fromU8a(data);
239
- }
240
-
241
- throw new Error('Unable to determine event');
242
- };
243
-
244
- #decodeEventV5 = (record: EventRecord): DecodedEvent => {
245
- // Find event by first topic, which potentially is the signature_topic
246
- const signatureTopic = record.topics[0];
247
- const data = record.event.data[1] as Bytes;
248
-
249
- if (signatureTopic) {
250
- const event = this.events.find((e) => e.signatureTopic !== undefined && e.signatureTopic !== null && e.signatureTopic === signatureTopic.toHex());
251
-
252
- // Early return if event found by signature topic
253
- if (event) {
254
- return event.fromU8a(data);
255
- }
256
- }
257
-
258
- // If no event returned yet, it might be anonymous
259
- const amountOfTopics = record.topics.length;
260
- const potentialEvents = this.events.filter((e) => {
261
- // event can't have a signature topic
262
- if (e.signatureTopic !== null && e.signatureTopic !== undefined) {
263
- return false;
264
- }
265
-
266
- // event should have same amount of indexed fields as emitted topics
267
- const amountIndexed = e.args.filter((a) => a.indexed).length;
268
-
269
- if (amountIndexed !== amountOfTopics) {
270
- return false;
271
- }
272
-
273
- // If all conditions met, it's a potential event
274
- return true;
275
- });
276
-
277
- if (potentialEvents.length === 1) {
278
- return potentialEvents[0].fromU8a(data);
279
- }
280
-
281
- throw new Error('Unable to determine event');
282
- };
283
-
284
- #decodeEventV4 = (record: EventRecord): DecodedEvent => {
285
- const data = record.event.data[1] as Bytes;
286
- const index = data[0];
287
- const event = this.events[index];
288
-
289
- if (!event) {
290
- throw new Error(`Unable to find event with index ${index}`);
291
- }
292
-
293
- return event.fromU8a(data.subarray(1));
294
- };
295
-
296
- /**
297
- * Warning: Unstable API, bound to change
298
- */
299
- public decodeConstructor (data: Uint8Array): DecodedMessage {
300
- return this.#decodeMessage('message', this.constructors, data);
301
- }
302
-
303
- /**
304
- * Warning: Unstable API, bound to change
305
- */
306
- public decodeMessage (data: Uint8Array): DecodedMessage {
307
- return this.#decodeMessage('message', this.messages, data);
308
- }
309
-
310
- public findConstructor (constructorOrId: AbiConstructor | string | number): AbiConstructor {
311
- return findMessage(this.constructors, constructorOrId);
312
- }
313
-
314
- public findMessage (messageOrId: AbiMessage | string | number): AbiMessage {
315
- return findMessage(this.messages, messageOrId);
316
- }
317
-
318
- #createArgs = (args: ContractMessageParamSpecLatest[] | ContractEventParamSpecLatest[], spec: unknown): AbiParam[] => {
319
- return args.map(({ label, type }, index): AbiParam => {
320
- try {
321
- if (!isObject(type)) {
322
- throw new Error('Invalid type definition found');
323
- }
324
-
325
- const displayName = type.displayName.length
326
- ? type.displayName[type.displayName.length - 1].toString()
327
- : undefined;
328
- const camelName = stringCamelCase(label);
329
-
330
- if (displayName && PRIMITIVE_ALWAYS.includes(displayName)) {
331
- return {
332
- name: camelName,
333
- type: {
334
- info: TypeDefInfo.Plain,
335
- type: displayName
336
- }
337
- };
338
- }
339
-
340
- const typeDef = this.registry.lookup.getTypeDef(type.type);
341
-
342
- return {
343
- name: camelName,
344
- type: displayName && !typeDef.type.startsWith(displayName)
345
- ? { displayName, ...typeDef }
346
- : typeDef
347
- };
348
- } catch (error) {
349
- l.error(`Error expanding argument ${index} in ${stringify(spec)}`);
350
-
351
- throw error;
352
- }
353
- });
354
- };
355
-
356
- #createMessageParams = (args: ContractMessageParamSpecLatest[], spec: unknown): AbiMessageParam[] => {
357
- return this.#createArgs(args, spec);
358
- };
359
-
360
- #createEventParams = (args: ContractEventParamSpecLatest[], spec: unknown): AbiEventParam[] => {
361
- const params = this.#createArgs(args, spec);
362
-
363
- return params.map((p, index): AbiEventParam => ({ ...p, indexed: args[index].indexed.toPrimitive() }));
364
- };
365
-
366
- #createEvent = (index: number): AbiEvent => {
367
- // TODO TypeScript would narrow this type to the correct version,
368
- // but version is `Text` so I need to call `toString()` here,
369
- // which breaks the type inference.
370
- switch (this.metadata.version.toString()) {
371
- case '4':
372
- return this.#createEventV4((this.metadata as ContractMetadataV4).spec.events[index], index);
373
- default:
374
- return this.#createEventV5((this.metadata as ContractMetadataV5).spec.events[index], index);
375
- }
376
- };
377
-
378
- #createEventV5 = (spec: EventOf<ContractMetadataV5>, index: number): AbiEvent => {
379
- const args = this.#createEventParams(spec.args, spec);
380
- const event = {
381
- args,
382
- docs: spec.docs.map((d) => d.toString()),
383
- fromU8a: (data: Uint8Array): DecodedEvent => ({
384
- args: this.#decodeArgs(args, data),
385
- event
386
- }),
387
- identifier: [spec.module_path, spec.label].join('::'),
388
- index,
389
- signatureTopic: spec.signature_topic.isSome ? spec.signature_topic.unwrap().toHex() : null
390
- };
391
-
392
- return event;
393
- };
394
-
395
- #createEventV4 = (spec: EventOf<ContractMetadataV4>, index: number): AbiEvent => {
396
- const args = this.#createEventParams(spec.args, spec);
397
- const event = {
398
- args,
399
- docs: spec.docs.map((d) => d.toString()),
400
- fromU8a: (data: Uint8Array): DecodedEvent => ({
401
- args: this.#decodeArgs(args, data),
402
- event
403
- }),
404
- identifier: spec.label.toString(),
405
- index
406
- };
407
-
408
- return event;
409
- };
410
-
411
- #createMessage = (spec: ContractMessageSpecLatest | ContractConstructorSpecLatest, index: number, add: Partial<AbiMessage> = {}): AbiMessage => {
412
- const args = this.#createMessageParams(spec.args, spec);
413
- const identifier = spec.label.toString();
414
- const message = {
415
- ...add,
416
- args,
417
- docs: spec.docs.map((d) => d.toString()),
418
- fromU8a: (data: Uint8Array): DecodedMessage => ({
419
- args: this.#decodeArgs(args, data),
420
- message
421
- }),
422
- identifier,
423
- index,
424
- isDefault: spec.default.isTrue,
425
- method: stringCamelCase(identifier),
426
- path: identifier.split('::').map((s) => stringCamelCase(s)),
427
- selector: spec.selector,
428
- toU8a: (params: unknown[]) =>
429
- this.#encodeMessageArgs(spec, args, params)
430
- };
431
-
432
- return message;
433
- };
434
-
435
- #decodeArgs = (args: AbiParam[], data: Uint8Array): Codec[] => {
436
- // for decoding we expect the input to be just the arg data, no selectors
437
- // no length added (this allows use with events as well)
438
- let offset = 0;
439
-
440
- return args.map(({ type: { lookupName, type } }): Codec => {
441
- const value = this.registry.createType(lookupName || type, data.subarray(offset));
442
-
443
- offset += value.encodedLength;
444
-
445
- return value;
446
- });
447
- };
448
-
449
- #decodeMessage = (type: 'constructor' | 'message', list: AbiMessage[], data: Uint8Array): DecodedMessage => {
450
- const [, trimmed] = compactStripLength(data);
451
- const selector = trimmed.subarray(0, 4);
452
- const message = list.find((m) => m.selector.eq(selector));
453
-
454
- if (!message) {
455
- throw new Error(`Unable to find ${type} with selector ${u8aToHex(selector)}`);
456
- }
457
-
458
- return message.fromU8a(trimmed.subarray(4));
459
- };
460
-
461
- #encodeMessageArgs = ({ label, selector }: ContractMessageSpecLatest | ContractConstructorSpecLatest, args: AbiMessageParam[], data: unknown[]): Uint8Array => {
462
- if (data.length !== args.length) {
463
- throw new Error(`Expected ${args.length} arguments to contract message '${label.toString()}', found ${data.length}`);
464
- }
465
-
466
- return compactAddLength(
467
- u8aConcat(
468
- this.registry.createType('ContractSelector', selector).toU8a(),
469
- ...args.map(({ type: { lookupName, type } }, index) =>
470
- this.registry.createType(lookupName || type, data[index]).toU8a()
471
- )
472
- )
473
- );
474
- };
475
- }
@@ -1,47 +0,0 @@
1
-
2
- import type { ContractMetadataV4, ContractMetadataV5, ContractMetadataV6 } from 'https://deno.land/x/pezkuwi/types/interfaces/index.ts';
3
- import type { Registry } from 'https://deno.land/x/pezkuwi/types/types/index.ts';
4
- import type { ContractMetadataSupported } from './index.ts';
5
-
6
- import { v0ToV1 } from './toV1.ts';
7
- import { v1ToV2 } from './toV2.ts';
8
- import { v2ToV3 } from './toV3.ts';
9
- import { v3ToV4 } from './toV4.ts';
10
-
11
- export const enumVersions = ['V6', 'V5', 'V4', 'V3', 'V2', 'V1'] as const;
12
-
13
- type Versions = typeof enumVersions[number] | 'V0';
14
-
15
- type Converter = (registry: Registry, vx: any) => ContractMetadataSupported;
16
-
17
- function createConverter <I, O> (next: (registry: Registry, input: O) => ContractMetadataSupported, step: (registry: Registry, input: I) => O): (registry: Registry, input: I) => ContractMetadataSupported {
18
- return (registry: Registry, input: I): ContractMetadataSupported =>
19
- next(registry, step(registry, input));
20
- }
21
-
22
- export function v6ToLatestCompatible (_registry: Registry, v6: ContractMetadataV6): ContractMetadataV6 {
23
- return v6;
24
- }
25
-
26
- export function v5ToLatestCompatible (_registry: Registry, v5: ContractMetadataV5): ContractMetadataV5 {
27
- return v5;
28
- }
29
-
30
- export function v4ToLatestCompatible (_registry: Registry, v4: ContractMetadataV4): ContractMetadataV4 {
31
- return v4;
32
- }
33
-
34
- export const v3ToLatestCompatible = /*#__PURE__*/ createConverter(v4ToLatestCompatible, v3ToV4);
35
- export const v2ToLatestCompatible = /*#__PURE__*/ createConverter(v3ToLatestCompatible, v2ToV3);
36
- export const v1ToLatestCompatible = /*#__PURE__*/ createConverter(v2ToLatestCompatible, v1ToV2);
37
- export const v0ToLatestCompatible = /*#__PURE__*/ createConverter(v1ToLatestCompatible, v0ToV1);
38
-
39
- export const convertVersions: [Versions, Converter][] = [
40
- ['V6', v6ToLatestCompatible],
41
- ['V5', v5ToLatestCompatible],
42
- ['V4', v4ToLatestCompatible],
43
- ['V3', v3ToLatestCompatible],
44
- ['V2', v2ToLatestCompatible],
45
- ['V1', v1ToLatestCompatible],
46
- ['V0', v0ToLatestCompatible]
47
- ];
@@ -1,33 +0,0 @@
1
-
2
- import type { ContractMetadataV0, ContractMetadataV1 } from 'https://deno.land/x/pezkuwi/types/interfaces/index.ts';
3
- import type { Registry } from 'https://deno.land/x/pezkuwi/types/types/index.ts';
4
-
5
- import { convertSiV0toV1 } from 'https://deno.land/x/pezkuwi/types/mod.ts';
6
- import { objectSpread } from 'https://deno.land/x/pezkuwi/util/mod.ts';
7
-
8
- interface Named {
9
- name: unknown;
10
- }
11
-
12
- function v0ToV1Names (all: Named[]): unknown[] {
13
- return all.map((e) =>
14
- objectSpread({}, e, {
15
- name: Array.isArray(e.name)
16
- ? e.name
17
- : [e.name]
18
- }));
19
- }
20
-
21
- export function v0ToV1 (registry: Registry, v0: ContractMetadataV0): ContractMetadataV1 {
22
- if (!v0.metadataVersion.length) {
23
- throw new Error('Invalid format for V0 (detected) contract metadata');
24
- }
25
-
26
- return registry.createType('ContractMetadataV1', objectSpread({}, v0, {
27
- spec: objectSpread({}, v0.spec, {
28
- constructors: v0ToV1Names(v0.spec.constructors),
29
- messages: v0ToV1Names(v0.spec.messages)
30
- }),
31
- types: convertSiV0toV1(registry, v0.types)
32
- }));
33
- }