wowok 2.2.4 → 2.2.6

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 (321) hide show
  1. package/dist/cjs/_deps/bcs/bcs-type.d.ts +127 -0
  2. package/dist/cjs/_deps/bcs/bcs-type.js +1 -0
  3. package/dist/cjs/_deps/bcs/bcs.d.ts +49 -0
  4. package/dist/cjs/_deps/bcs/bcs.js +1 -0
  5. package/dist/cjs/_deps/bcs/index.d.ts +16 -0
  6. package/dist/cjs/_deps/bcs/index.js +1 -0
  7. package/dist/cjs/_deps/bcs/reader.d.ts +15 -0
  8. package/dist/cjs/_deps/bcs/reader.js +1 -0
  9. package/dist/cjs/_deps/bcs/types.d.ts +24 -0
  10. package/dist/cjs/_deps/bcs/types.js +1 -0
  11. package/dist/cjs/_deps/bcs/uleb.d.ts +5 -0
  12. package/dist/cjs/_deps/bcs/uleb.js +1 -0
  13. package/dist/cjs/_deps/bcs/utils.d.ts +4 -0
  14. package/dist/cjs/_deps/bcs/utils.js +1 -0
  15. package/dist/cjs/_deps/bcs/writer.d.ts +28 -0
  16. package/dist/cjs/_deps/bcs/writer.js +1 -0
  17. package/dist/cjs/_deps/utils/b58.d.ts +2 -0
  18. package/dist/cjs/_deps/utils/b58.js +1 -0
  19. package/dist/cjs/_deps/utils/b64.d.ts +2 -0
  20. package/dist/cjs/_deps/utils/b64.js +1 -0
  21. package/dist/cjs/_deps/utils/chunk.d.ts +1 -0
  22. package/dist/cjs/_deps/utils/chunk.js +1 -0
  23. package/dist/cjs/_deps/utils/dataloader.d.ts +43 -0
  24. package/dist/cjs/_deps/utils/dataloader.js +1 -0
  25. package/dist/cjs/_deps/utils/hex.d.ts +2 -0
  26. package/dist/cjs/_deps/utils/hex.js +1 -0
  27. package/dist/cjs/_deps/utils/index.d.ts +7 -0
  28. package/dist/cjs/_deps/utils/index.js +1 -0
  29. package/dist/cjs/_deps/utils/types.d.ts +4 -0
  30. package/dist/cjs/_deps/utils/types.js +1 -0
  31. package/dist/cjs/_deps/utils/with-resolver.d.ts +6 -0
  32. package/dist/cjs/_deps/utils/with-resolver.js +1 -0
  33. package/dist/cjs/bcs/bcs.d.ts +245 -245
  34. package/dist/cjs/bcs/bcs.js +1 -1
  35. package/dist/cjs/bcs/effects.d.ts +197 -197
  36. package/dist/cjs/bcs/effects.js +1 -1
  37. package/dist/cjs/bcs/index.d.ts +3 -3
  38. package/dist/cjs/bcs/index.js +1 -1
  39. package/dist/cjs/bcs/pure.d.ts +1 -1
  40. package/dist/cjs/bcs/pure.js +1 -1
  41. package/dist/cjs/bcs/type-tag-serializer.js +1 -1
  42. package/dist/cjs/bcs/types.d.ts +4 -4
  43. package/dist/cjs/client/index.d.ts +4 -4
  44. package/dist/cjs/client/index.js +1 -1
  45. package/dist/cjs/cryptography/keypair.d.ts +2 -2
  46. package/dist/cjs/cryptography/keypair.js +1 -1
  47. package/dist/cjs/cryptography/mnemonics.js +1 -1
  48. package/dist/cjs/cryptography/publickey.js +1 -1
  49. package/dist/cjs/cryptography/signature.js +1 -1
  50. package/dist/cjs/experimental/client.d.ts +5 -5
  51. package/dist/cjs/experimental/core.d.ts +17 -17
  52. package/dist/cjs/experimental/core.js +1 -1
  53. package/dist/cjs/experimental/errors.d.ts +2 -2
  54. package/dist/cjs/experimental/errors.js +1 -1
  55. package/dist/cjs/experimental/index.d.ts +2 -2
  56. package/dist/cjs/experimental/transports/utils.d.ts +3 -3
  57. package/dist/cjs/experimental/types.d.ts +3 -3
  58. package/dist/cjs/faucet/faucet.d.ts +3 -3
  59. package/dist/cjs/faucet/faucet.js +1 -1
  60. package/dist/cjs/faucet/index.d.ts +1 -1
  61. package/dist/cjs/faucet/index.js +1 -1
  62. package/dist/cjs/grpc/client.d.ts +7 -7
  63. package/dist/cjs/grpc/client.js +1 -1
  64. package/dist/cjs/grpc/core.d.ts +15 -15
  65. package/dist/cjs/grpc/core.js +1 -1
  66. package/dist/cjs/grpc/index.d.ts +2 -2
  67. package/dist/cjs/grpc/index.js +1 -1
  68. package/dist/cjs/index.d.ts +3 -3
  69. package/dist/cjs/index.js +1 -1
  70. package/dist/cjs/jsonRpc/client.d.ts +24 -24
  71. package/dist/cjs/jsonRpc/client.js +1 -1
  72. package/dist/cjs/jsonRpc/core.d.ts +20 -20
  73. package/dist/cjs/jsonRpc/core.js +1 -1
  74. package/dist/cjs/jsonRpc/errors.d.ts +3 -3
  75. package/dist/cjs/jsonRpc/errors.js +1 -1
  76. package/dist/cjs/jsonRpc/http-transport.js +1 -1
  77. package/dist/cjs/jsonRpc/index.d.ts +2 -2
  78. package/dist/cjs/jsonRpc/index.js +1 -1
  79. package/dist/cjs/jsonRpc/json-rpc-resolver.d.ts +2 -2
  80. package/dist/cjs/jsonRpc/json-rpc-resolver.js +1 -1
  81. package/dist/cjs/jsonRpc/types/chain.d.ts +4 -4
  82. package/dist/cjs/jsonRpc/types/changes.d.ts +7 -7
  83. package/dist/cjs/jsonRpc/types/generated.d.ts +63 -63
  84. package/dist/cjs/jsonRpc/types/params.d.ts +13 -13
  85. package/dist/cjs/keypairs/falcon512/publickey.js +1 -1
  86. package/dist/cjs/multisig/publickey.js +1 -1
  87. package/dist/cjs/multisig/signer.js +1 -1
  88. package/dist/cjs/transactions/Commands.js +1 -1
  89. package/dist/cjs/transactions/Inputs.d.ts +1 -1
  90. package/dist/cjs/transactions/Inputs.js +1 -1
  91. package/dist/cjs/transactions/ObjectCache.js +1 -1
  92. package/dist/cjs/transactions/Transaction.d.ts +5 -5
  93. package/dist/cjs/transactions/Transaction.js +1 -1
  94. package/dist/cjs/transactions/TransactionData.js +1 -1
  95. package/dist/cjs/transactions/__tests__/Transaction.test.js +1 -1
  96. package/dist/cjs/transactions/__tests__/bcs.test.js +1 -1
  97. package/dist/cjs/transactions/data/internal.d.ts +3 -3
  98. package/dist/cjs/transactions/data/internal.js +1 -1
  99. package/dist/cjs/transactions/data/v1.d.ts +2 -2
  100. package/dist/cjs/transactions/data/v1.js +1 -1
  101. package/dist/cjs/transactions/data/v2.d.ts +1 -1
  102. package/dist/cjs/transactions/data/v2.js +1 -1
  103. package/dist/cjs/transactions/executor/caching.d.ts +4 -4
  104. package/dist/cjs/transactions/executor/parallel.d.ts +4 -4
  105. package/dist/cjs/transactions/executor/parallel.js +1 -1
  106. package/dist/cjs/transactions/executor/serial.d.ts +4 -4
  107. package/dist/cjs/transactions/executor/serial.js +1 -1
  108. package/dist/cjs/transactions/intents/CoinWithBalance.d.ts +2 -2
  109. package/dist/cjs/transactions/intents/CoinWithBalance.js +1 -1
  110. package/dist/cjs/transactions/pure.d.ts +1 -1
  111. package/dist/cjs/transactions/pure.js +1 -1
  112. package/dist/cjs/transactions/serializer.d.ts +3 -3
  113. package/dist/cjs/transactions/serializer.js +1 -1
  114. package/dist/cjs/transactions/utils.d.ts +4 -4
  115. package/dist/cjs/transactions/utils.js +1 -1
  116. package/dist/cjs/utils/constants.d.ts +0 -6
  117. package/dist/cjs/utils/constants.js +1 -1
  118. package/dist/cjs/utils/dynamic-fields.js +1 -1
  119. package/dist/cjs/utils/index.d.ts +2 -2
  120. package/dist/cjs/utils/index.js +1 -1
  121. package/dist/cjs/utils/wow-types.js +1 -0
  122. package/dist/cjs/verify/index.d.ts +1 -1
  123. package/dist/cjs/verify/index.js +1 -1
  124. package/dist/cjs/verify/verify.d.ts +1 -1
  125. package/dist/cjs/verify/verify.js +1 -1
  126. package/dist/cjs/w/call/allocation.js +1 -1
  127. package/dist/cjs/w/call/arbitration.js +1 -1
  128. package/dist/cjs/w/call/base.d.ts +6 -6
  129. package/dist/cjs/w/call/base.js +1 -1
  130. package/dist/cjs/w/call/contact.js +1 -1
  131. package/dist/cjs/w/call/demand.js +1 -1
  132. package/dist/cjs/w/call/entity.js +1 -1
  133. package/dist/cjs/w/call/guard.js +1 -1
  134. package/dist/cjs/w/call/machine.js +1 -1
  135. package/dist/cjs/w/call/passport.d.ts +2 -2
  136. package/dist/cjs/w/call/passport.js +1 -1
  137. package/dist/cjs/w/call/personal.js +1 -1
  138. package/dist/cjs/w/call/repository.js +1 -1
  139. package/dist/cjs/w/call/reward.js +1 -1
  140. package/dist/cjs/w/call/service.js +1 -1
  141. package/dist/cjs/w/call/treasury.js +1 -1
  142. package/dist/cjs/w/local/account.d.ts +3 -3
  143. package/dist/cjs/w/local/account.js +1 -1
  144. package/dist/cjs/w/local/index.d.ts +2 -2
  145. package/dist/cjs/w/local/index.js +1 -1
  146. package/dist/cjs/w/local/local.js +1 -1
  147. package/dist/cjs/w/local/storage.js +1 -1
  148. package/dist/cjs/w/local/token.js +1 -1
  149. package/dist/cjs/w/local/util.js +1 -1
  150. package/dist/cjs/w/local/wip.js +1 -1
  151. package/dist/cjs/w/messenger/messenger-api.js +1 -1
  152. package/dist/cjs/w/messenger/messenger.js +1 -1
  153. package/dist/cjs/w/messenger/pq/crypto.js +1 -1
  154. package/dist/cjs/w/messenger/storage.js +1 -1
  155. package/dist/cjs/w/query/event.js +1 -1
  156. package/dist/cjs/w/query/object.js +1 -1
  157. package/dist/cjs/w/query/received.js +1 -1
  158. package/dist/cjs/w/util.js +1 -1
  159. package/dist/esm/_deps/bcs/bcs-type.d.ts +127 -0
  160. package/dist/esm/_deps/bcs/bcs-type.js +1 -0
  161. package/dist/esm/_deps/bcs/bcs.d.ts +49 -0
  162. package/dist/esm/_deps/bcs/bcs.js +1 -0
  163. package/dist/esm/_deps/bcs/index.d.ts +16 -0
  164. package/dist/esm/_deps/bcs/index.js +1 -0
  165. package/dist/esm/_deps/bcs/reader.d.ts +15 -0
  166. package/dist/esm/_deps/bcs/reader.js +1 -0
  167. package/dist/esm/_deps/bcs/types.d.ts +24 -0
  168. package/dist/esm/_deps/bcs/types.js +1 -0
  169. package/dist/esm/_deps/bcs/uleb.d.ts +5 -0
  170. package/dist/esm/_deps/bcs/uleb.js +1 -0
  171. package/dist/esm/_deps/bcs/utils.d.ts +4 -0
  172. package/dist/esm/_deps/bcs/utils.js +1 -0
  173. package/dist/esm/_deps/bcs/writer.d.ts +28 -0
  174. package/dist/esm/_deps/bcs/writer.js +1 -0
  175. package/dist/esm/_deps/utils/b58.d.ts +2 -0
  176. package/dist/esm/_deps/utils/b58.js +1 -0
  177. package/dist/esm/_deps/utils/b64.d.ts +2 -0
  178. package/dist/esm/_deps/utils/b64.js +1 -0
  179. package/dist/esm/_deps/utils/chunk.d.ts +1 -0
  180. package/dist/esm/_deps/utils/chunk.js +1 -0
  181. package/dist/esm/_deps/utils/dataloader.d.ts +43 -0
  182. package/dist/esm/_deps/utils/dataloader.js +1 -0
  183. package/dist/esm/_deps/utils/hex.d.ts +2 -0
  184. package/dist/esm/_deps/utils/hex.js +1 -0
  185. package/dist/esm/_deps/utils/index.d.ts +7 -0
  186. package/dist/esm/_deps/utils/index.js +1 -0
  187. package/dist/esm/_deps/utils/types.d.ts +4 -0
  188. package/dist/esm/_deps/utils/types.js +1 -0
  189. package/dist/esm/_deps/utils/with-resolver.d.ts +6 -0
  190. package/dist/esm/_deps/utils/with-resolver.js +1 -0
  191. package/dist/esm/bcs/bcs.d.ts +245 -245
  192. package/dist/esm/bcs/bcs.js +1 -1
  193. package/dist/esm/bcs/effects.d.ts +197 -197
  194. package/dist/esm/bcs/effects.js +1 -1
  195. package/dist/esm/bcs/index.d.ts +3 -3
  196. package/dist/esm/bcs/index.js +1 -1
  197. package/dist/esm/bcs/pure.d.ts +1 -1
  198. package/dist/esm/bcs/pure.js +1 -1
  199. package/dist/esm/bcs/type-tag-serializer.js +1 -1
  200. package/dist/esm/bcs/types.d.ts +4 -4
  201. package/dist/esm/client/index.d.ts +4 -4
  202. package/dist/esm/client/index.js +1 -1
  203. package/dist/esm/cryptography/keypair.d.ts +2 -2
  204. package/dist/esm/cryptography/keypair.js +1 -1
  205. package/dist/esm/cryptography/mnemonics.js +1 -1
  206. package/dist/esm/cryptography/publickey.js +1 -1
  207. package/dist/esm/cryptography/signature.js +1 -1
  208. package/dist/esm/experimental/client.d.ts +5 -5
  209. package/dist/esm/experimental/core.d.ts +17 -17
  210. package/dist/esm/experimental/core.js +1 -1
  211. package/dist/esm/experimental/errors.d.ts +2 -2
  212. package/dist/esm/experimental/errors.js +1 -1
  213. package/dist/esm/experimental/index.d.ts +2 -2
  214. package/dist/esm/experimental/transports/utils.d.ts +3 -3
  215. package/dist/esm/experimental/types.d.ts +3 -3
  216. package/dist/esm/faucet/faucet.d.ts +3 -3
  217. package/dist/esm/faucet/faucet.js +1 -1
  218. package/dist/esm/faucet/index.d.ts +1 -1
  219. package/dist/esm/faucet/index.js +1 -1
  220. package/dist/esm/grpc/client.d.ts +7 -7
  221. package/dist/esm/grpc/client.js +1 -1
  222. package/dist/esm/grpc/core.d.ts +15 -15
  223. package/dist/esm/grpc/core.js +1 -1
  224. package/dist/esm/grpc/index.d.ts +2 -2
  225. package/dist/esm/grpc/index.js +1 -1
  226. package/dist/esm/index.d.ts +3 -3
  227. package/dist/esm/index.js +1 -1
  228. package/dist/esm/jsonRpc/client.d.ts +24 -24
  229. package/dist/esm/jsonRpc/client.js +1 -1
  230. package/dist/esm/jsonRpc/core.d.ts +20 -20
  231. package/dist/esm/jsonRpc/core.js +1 -1
  232. package/dist/esm/jsonRpc/errors.d.ts +3 -3
  233. package/dist/esm/jsonRpc/errors.js +1 -1
  234. package/dist/esm/jsonRpc/http-transport.js +1 -1
  235. package/dist/esm/jsonRpc/index.d.ts +2 -2
  236. package/dist/esm/jsonRpc/index.js +1 -1
  237. package/dist/esm/jsonRpc/json-rpc-resolver.d.ts +2 -2
  238. package/dist/esm/jsonRpc/json-rpc-resolver.js +1 -1
  239. package/dist/esm/jsonRpc/types/chain.d.ts +4 -4
  240. package/dist/esm/jsonRpc/types/changes.d.ts +7 -7
  241. package/dist/esm/jsonRpc/types/generated.d.ts +63 -63
  242. package/dist/esm/jsonRpc/types/params.d.ts +13 -13
  243. package/dist/esm/keypairs/falcon512/publickey.js +1 -1
  244. package/dist/esm/multisig/publickey.js +1 -1
  245. package/dist/esm/multisig/signer.js +1 -1
  246. package/dist/esm/transactions/Commands.js +1 -1
  247. package/dist/esm/transactions/Inputs.d.ts +1 -1
  248. package/dist/esm/transactions/Inputs.js +1 -1
  249. package/dist/esm/transactions/ObjectCache.js +1 -1
  250. package/dist/esm/transactions/Transaction.d.ts +5 -5
  251. package/dist/esm/transactions/Transaction.js +1 -1
  252. package/dist/esm/transactions/TransactionData.js +1 -1
  253. package/dist/esm/transactions/__tests__/Transaction.test.js +1 -1
  254. package/dist/esm/transactions/__tests__/bcs.test.js +1 -1
  255. package/dist/esm/transactions/data/internal.d.ts +3 -3
  256. package/dist/esm/transactions/data/internal.js +1 -1
  257. package/dist/esm/transactions/data/v1.d.ts +2 -2
  258. package/dist/esm/transactions/data/v1.js +1 -1
  259. package/dist/esm/transactions/data/v2.d.ts +1 -1
  260. package/dist/esm/transactions/data/v2.js +1 -1
  261. package/dist/esm/transactions/executor/caching.d.ts +4 -4
  262. package/dist/esm/transactions/executor/parallel.d.ts +4 -4
  263. package/dist/esm/transactions/executor/parallel.js +1 -1
  264. package/dist/esm/transactions/executor/serial.d.ts +4 -4
  265. package/dist/esm/transactions/executor/serial.js +1 -1
  266. package/dist/esm/transactions/intents/CoinWithBalance.d.ts +2 -2
  267. package/dist/esm/transactions/intents/CoinWithBalance.js +1 -1
  268. package/dist/esm/transactions/pure.d.ts +1 -1
  269. package/dist/esm/transactions/pure.js +1 -1
  270. package/dist/esm/transactions/serializer.d.ts +3 -3
  271. package/dist/esm/transactions/serializer.js +1 -1
  272. package/dist/esm/transactions/utils.d.ts +4 -4
  273. package/dist/esm/transactions/utils.js +1 -1
  274. package/dist/esm/utils/constants.d.ts +0 -6
  275. package/dist/esm/utils/constants.js +1 -1
  276. package/dist/esm/utils/dynamic-fields.js +1 -1
  277. package/dist/esm/utils/index.d.ts +2 -2
  278. package/dist/esm/utils/index.js +1 -1
  279. package/dist/esm/utils/wow-types.js +1 -0
  280. package/dist/esm/verify/index.d.ts +1 -1
  281. package/dist/esm/verify/index.js +1 -1
  282. package/dist/esm/verify/verify.d.ts +1 -1
  283. package/dist/esm/verify/verify.js +1 -1
  284. package/dist/esm/w/call/allocation.js +1 -1
  285. package/dist/esm/w/call/arbitration.js +1 -1
  286. package/dist/esm/w/call/base.d.ts +6 -6
  287. package/dist/esm/w/call/base.js +1 -1
  288. package/dist/esm/w/call/contact.js +1 -1
  289. package/dist/esm/w/call/demand.js +1 -1
  290. package/dist/esm/w/call/entity.js +1 -1
  291. package/dist/esm/w/call/guard.js +1 -1
  292. package/dist/esm/w/call/machine.js +1 -1
  293. package/dist/esm/w/call/passport.d.ts +2 -2
  294. package/dist/esm/w/call/passport.js +1 -1
  295. package/dist/esm/w/call/personal.js +1 -1
  296. package/dist/esm/w/call/repository.js +1 -1
  297. package/dist/esm/w/call/reward.js +1 -1
  298. package/dist/esm/w/call/service.js +1 -1
  299. package/dist/esm/w/call/treasury.js +1 -1
  300. package/dist/esm/w/local/account.d.ts +3 -3
  301. package/dist/esm/w/local/account.js +1 -1
  302. package/dist/esm/w/local/index.d.ts +2 -2
  303. package/dist/esm/w/local/index.js +1 -1
  304. package/dist/esm/w/local/local.js +1 -1
  305. package/dist/esm/w/local/storage.js +1 -1
  306. package/dist/esm/w/local/token.js +1 -1
  307. package/dist/esm/w/local/util.js +1 -1
  308. package/dist/esm/w/local/wip.js +1 -1
  309. package/dist/esm/w/messenger/messenger-api.js +1 -1
  310. package/dist/esm/w/messenger/messenger.js +1 -1
  311. package/dist/esm/w/messenger/pq/crypto.js +1 -1
  312. package/dist/esm/w/messenger/storage.js +1 -1
  313. package/dist/esm/w/query/event.js +1 -1
  314. package/dist/esm/w/query/object.js +1 -1
  315. package/dist/esm/w/query/received.js +1 -1
  316. package/dist/esm/w/util.js +1 -1
  317. package/package.json +4 -5
  318. package/dist/cjs/utils/sui-types.js +0 -1
  319. package/dist/esm/utils/sui-types.js +0 -1
  320. /package/dist/cjs/utils/{sui-types.d.ts → wow-types.d.ts} +0 -0
  321. /package/dist/esm/utils/{sui-types.d.ts → wow-types.d.ts} +0 -0
@@ -1 +1 @@
1
- import{toBase64}from'@mysten/bcs';import{isTransaction,Transaction}from'../Transaction.js';import{CachingTransactionExecutor}from'./caching.js';import{SerialQueue}from'./queue.js';export class SerialTransactionExecutor{#queue=new SerialQueue();#signer;#cache;#defaultGasBudget;constructor({signer:a,defaultGasBudget:defaultGasBudget=0x2faf080n,...b}){this.#signer=a,this.#defaultGasBudget=defaultGasBudget,this.#cache=new CachingTransactionExecutor({'client':b['client'],'cache':b['cache'],'onEffects':c=>this.#cacheGasCoin(c)});}async['applyEffects'](a){return this.#cache['applyEffects'](a);}#cacheGasCoin=async a=>{if(!a['V2'])return;const b=getGasCoinFromEffects(a)['ref'];b?this.#cache['cache']['setCustom']('gasCoin',b):this.#cache['cache']['deleteCustom']('gasCoin');};async['buildTransaction'](a){return this.#queue['runTask'](()=>this.#buildTransaction(a));}#buildTransaction=async a=>{const b=await this.#cache['cache']['getCustom']('gasCoin'),c=Transaction['from'](a);return b&&c['setGasPayment']([b]),c['setGasBudgetIfNotSet'](this.#defaultGasBudget),c['setSenderIfNotSet'](this.#signer['toWAddress']()),this.#cache['buildTransaction']({'transaction':c});};['resetCache'](){return this.#cache['reset']();}['waitForLastTransaction'](){return this.#cache['waitForLastTransaction']();}['executeTransaction'](a,b,c=[]){return this.#queue['runTask'](async()=>{const d=isTransaction(a)?await this.#buildTransaction(a):a,{signature:e}=await this.#signer['signTransaction'](d),f=await this.#cache['executeTransaction']({'signature':[e,...c],'transaction':d,'options':b})['catch'](async h=>{await this['resetCache']();throw h;}),g=Uint8Array['from'](f['rawEffects']);return{'digest':f['digest'],'effects':toBase64(g),'data':f};});}}export function getGasCoinFromEffects(a){if(!a['V2'])throw new Error('Unexpected\x20effects\x20version');const b=a['V2']['changedObjects'][a['V2']['gasObjectIndex']];if(!b)throw new Error('Gas\x20object\x20not\x20found\x20in\x20effects');const [c,{outputState:d}]=b;if(!d['ObjectWrite'])throw new Error('Unexpected\x20gas\x20object\x20state');const [e,f]=d['ObjectWrite'];return{'ref':{'objectId':c,'digest':e,'version':a['V2']['lamportVersion']},'owner':f['AddressOwner']||f['ObjectOwner']};}
1
+ import{toBase64}from'../../_deps/bcs/index.js';import{isTransaction,Transaction}from'../Transaction.js';import{CachingTransactionExecutor}from'./caching.js';import{SerialQueue}from'./queue.js';export class SerialTransactionExecutor{#queue=new SerialQueue();#signer;#cache;#defaultGasBudget;constructor({signer:a,defaultGasBudget:defaultGasBudget=0x2faf080n,...b}){this.#signer=a,this.#defaultGasBudget=defaultGasBudget,this.#cache=new CachingTransactionExecutor({'client':b['client'],'cache':b['cache'],'onEffects':c=>this.#cacheGasCoin(c)});}async['applyEffects'](a){return this.#cache['applyEffects'](a);}#cacheGasCoin=async a=>{if(!a['V2'])return;const b=getGasCoinFromEffects(a)['ref'];b?this.#cache['cache']['setCustom']('gasCoin',b):this.#cache['cache']['deleteCustom']('gasCoin');};async['buildTransaction'](a){return this.#queue['runTask'](()=>this.#buildTransaction(a));}#buildTransaction=async a=>{const b=await this.#cache['cache']['getCustom']('gasCoin'),c=Transaction['from'](a);return b&&c['setGasPayment']([b]),c['setGasBudgetIfNotSet'](this.#defaultGasBudget),c['setSenderIfNotSet'](this.#signer['toWAddress']()),this.#cache['buildTransaction']({'transaction':c});};['resetCache'](){return this.#cache['reset']();}['waitForLastTransaction'](){return this.#cache['waitForLastTransaction']();}['executeTransaction'](a,b,c=[]){return this.#queue['runTask'](async()=>{const d=isTransaction(a)?await this.#buildTransaction(a):a,{signature:e}=await this.#signer['signTransaction'](d),f=await this.#cache['executeTransaction']({'signature':[e,...c],'transaction':d,'options':b})['catch'](async h=>{await this['resetCache']();throw h;}),g=Uint8Array['from'](f['rawEffects']);return{'digest':f['digest'],'effects':toBase64(g),'data':f};});}}export function getGasCoinFromEffects(a){if(!a['V2'])throw new Error('Unexpected\x20effects\x20version');const b=a['V2']['changedObjects'][a['V2']['gasObjectIndex']];if(!b)throw new Error('Gas\x20object\x20not\x20found\x20in\x20effects');const [c,{outputState:d}]=b;if(!d['ObjectWrite'])throw new Error('Unexpected\x20gas\x20object\x20state');const [e,f]=d['ObjectWrite'];return{'ref':{'objectId':c,'digest':e,'version':a['V2']['lamportVersion']},'owner':f['AddressOwner']||f['ObjectOwner']};}
@@ -1,4 +1,4 @@
1
- import type { SuiClient } from "../../client/index.js";
1
+ import type { WowClient } from "../../client/index.js";
2
2
  import type { BuildTransactionOptions } from "../resolve.js";
3
3
  import type { Transaction, TransactionResult } from "../Transaction.js";
4
4
  export declare function coinWithBalance({ type, balance, useGasCoin, }: {
@@ -6,4 +6,4 @@ export declare function coinWithBalance({ type, balance, useGasCoin, }: {
6
6
  type?: string;
7
7
  useGasCoin?: boolean;
8
8
  }): (tx: Transaction) => TransactionResult;
9
- export declare function getSuiClient(options: BuildTransactionOptions): SuiClient;
9
+ export declare function getWowClient(options: BuildTransactionOptions): WowClient;
@@ -1 +1 @@
1
- import{bigint,object,parse,string}from'valibot';import{bcs}from'../../bcs/index.js';import{normalizeStructTag}from'../../utils/sui-types.js';import{Commands}from'../Commands.js';import{Inputs}from'../Inputs.js';import{getClient}from'../resolve.js';const COIN_WITH_BALANCE='CoinWithBalance',SUI_TYPE=normalizeStructTag('0x2::sui::SUI');export function coinWithBalance({type:type=SUI_TYPE,balance:a,useGasCoin:useGasCoin=!![]}){let b=null;return c=>{if(b)return b;c['addIntentResolver'](COIN_WITH_BALANCE,resolveCoinBalance);const d=type==='gas'?type:normalizeStructTag(type);return b=c['add'](Commands['Intent']({'name':COIN_WITH_BALANCE,'inputs':{},'data':{'type':d===SUI_TYPE&&useGasCoin?'gas':d,'balance':BigInt(a)}})),b;};}const CoinWithBalanceData=object({'type':string(),'balance':bigint()});async function resolveCoinBalance(a,b,c){const d=new Set(),e=new Map();if(!a['sender'])throw new Error('Sender\x20must\x20be\x20set\x20to\x20resolve\x20CoinWithBalance');for(const j of a['commands']){if(j['$kind']==='$Intent'&&j['$Intent']['name']===COIN_WITH_BALANCE){const {type:k,balance:l}=parse(CoinWithBalanceData,j['$Intent']['data']);k!=='gas'&&l>0x0n&&d['add'](k),e['set'](k,(e['get'](k)??0x0n)+l);}}const f=new Set();for(const m of a['inputs']){m['Object']?.['ImmOrOwnedObject']&&f['add'](m['Object']['ImmOrOwnedObject']['objectId']),m['UnresolvedObject']?.['objectId']&&f['add'](m['UnresolvedObject']['objectId']);}const g=new Map(),h=getSuiClient(b);await Promise['all']([...d]['map'](async n=>{g['set'](n,await getCoinsOfType({'coinType':n,'balance':e['get'](n),'client':h,'owner':a['sender'],'usedIds':f}));}));const i=new Map();i['set']('gas',{'$kind':'GasCoin','GasCoin':!![]});for(const [n,o]of a['commands']['entries']()){if(o['$kind']!=='$Intent'||o['$Intent']['name']!==COIN_WITH_BALANCE)continue;const {type:p,balance:q}=o['$Intent']['data'];if(q===0x0n&&p!=='gas'){a['replaceCommand'](n,Commands['MoveCall']({'target':'0x2::coin::zero','typeArguments':[p]}));continue;}const r=[];if(!i['has'](p)){const [s,...t]=g['get'](p)['map'](u=>a['addInput']('object',Inputs['ObjectRef']({'objectId':u['coinObjectId'],'digest':u['digest'],'version':u['version']})));t['length']>0x0&&r['push'](Commands['MergeCoins'](s,t)),i['set'](p,s);}r['push'](Commands['SplitCoins'](i['get'](p),[a['addInput']('pure',Inputs['Pure'](bcs['u64']()['serialize'](q)))])),a['replaceCommand'](n,r),a['mapArguments'](u=>{if(u['$kind']==='Result'&&u['Result']===n)return{'$kind':'NestedResult','NestedResult':[n+r['length']-0x1,0x0]};return u;});}return c();}async function getCoinsOfType({coinType:a,balance:b,client:c,owner:d,usedIds:e}){let f=b;const g=[];return h();async function h(i=null){const {data:j,hasNextPage:k,nextCursor:l}=await c['getCoins']({'owner':d,'coinType':a,'cursor':i}),m=j['sort']((n,o)=>Number(BigInt(o['balance'])-BigInt(n['balance'])));for(const n of m){if(e['has'](n['coinObjectId']))continue;const o=BigInt(n['balance']);g['push'](n),f-=o;if(f<=0x0)return g;}if(k)return h(l);throw new Error('Not\x20enough\x20coins\x20of\x20type\x20'+a+'\x20to\x20satisfy\x20requested\x20balance');}}export function getSuiClient(a){const b=getClient(a);if(!b['jsonRpc'])throw new Error('CoinWithBalance\x20intent\x20currently\x20only\x20works\x20with\x20SuiClient');return b;}
1
+ import{bigint,object,parse,string}from'valibot';import{bcs}from'../../bcs/index.js';import{normalizeStructTag}from'../../utils/wow-types.js';import{Commands}from'../Commands.js';import{Inputs}from'../Inputs.js';import{getClient}from'../resolve.js';const COIN_WITH_BALANCE='CoinWithBalance',WOW_TYPE=normalizeStructTag('0x2::wow::WOW');export function coinWithBalance({type:type=WOW_TYPE,balance:a,useGasCoin:useGasCoin=!![]}){let b=null;return c=>{if(b)return b;c['addIntentResolver'](COIN_WITH_BALANCE,resolveCoinBalance);const d=type==='gas'?type:normalizeStructTag(type);return b=c['add'](Commands['Intent']({'name':COIN_WITH_BALANCE,'inputs':{},'data':{'type':d===WOW_TYPE&&useGasCoin?'gas':d,'balance':BigInt(a)}})),b;};}const CoinWithBalanceData=object({'type':string(),'balance':bigint()});async function resolveCoinBalance(a,b,c){const d=new Set(),e=new Map();if(!a['sender'])throw new Error('Sender\x20must\x20be\x20set\x20to\x20resolve\x20CoinWithBalance');for(const j of a['commands']){if(j['$kind']==='$Intent'&&j['$Intent']['name']===COIN_WITH_BALANCE){const {type:k,balance:l}=parse(CoinWithBalanceData,j['$Intent']['data']);k!=='gas'&&l>0x0n&&d['add'](k),e['set'](k,(e['get'](k)??0x0n)+l);}}const f=new Set();for(const m of a['inputs']){m['Object']?.['ImmOrOwnedObject']&&f['add'](m['Object']['ImmOrOwnedObject']['objectId']),m['UnresolvedObject']?.['objectId']&&f['add'](m['UnresolvedObject']['objectId']);}const g=new Map(),h=getWowClient(b);await Promise['all']([...d]['map'](async n=>{g['set'](n,await getCoinsOfType({'coinType':n,'balance':e['get'](n),'client':h,'owner':a['sender'],'usedIds':f}));}));const i=new Map();i['set']('gas',{'$kind':'GasCoin','GasCoin':!![]});for(const [n,o]of a['commands']['entries']()){if(o['$kind']!=='$Intent'||o['$Intent']['name']!==COIN_WITH_BALANCE)continue;const {type:p,balance:q}=o['$Intent']['data'];if(q===0x0n&&p!=='gas'){a['replaceCommand'](n,Commands['MoveCall']({'target':'0x2::coin::zero','typeArguments':[p]}));continue;}const r=[];if(!i['has'](p)){const [s,...t]=g['get'](p)['map'](u=>a['addInput']('object',Inputs['ObjectRef']({'objectId':u['coinObjectId'],'digest':u['digest'],'version':u['version']})));t['length']>0x0&&r['push'](Commands['MergeCoins'](s,t)),i['set'](p,s);}r['push'](Commands['SplitCoins'](i['get'](p),[a['addInput']('pure',Inputs['Pure'](bcs['u64']()['serialize'](q)))])),a['replaceCommand'](n,r),a['mapArguments'](u=>{if(u['$kind']==='Result'&&u['Result']===n)return{'$kind':'NestedResult','NestedResult':[n+r['length']-0x1,0x0]};return u;});}return c();}async function getCoinsOfType({coinType:a,balance:b,client:c,owner:d,usedIds:e}){let f=b;const g=[];return h();async function h(i=null){const {data:j,hasNextPage:k,nextCursor:l}=await c['getCoins']({'owner':d,'coinType':a,'cursor':i}),m=j['sort']((n,o)=>Number(BigInt(o['balance'])-BigInt(n['balance'])));for(const n of m){if(e['has'](n['coinObjectId']))continue;const o=BigInt(n['balance']);g['push'](n),f-=o;if(f<=0x0)return g;}if(k)return h(l);throw new Error('Not\x20enough\x20coins\x20of\x20type\x20'+a+'\x20to\x20satisfy\x20requested\x20balance');}}export function getWowClient(a){const b=getClient(a);if(!b['jsonRpc'])throw new Error('CoinWithBalance\x20intent\x20currently\x20only\x20works\x20with\x20WowClient');return b;}
@@ -1,4 +1,4 @@
1
- import type { SerializedBcs } from "@mysten/bcs";
1
+ import type { SerializedBcs } from "../_deps/bcs/index.js";
2
2
  import type { PureTypeName, ShapeFromPureTypeName, ValidPureTypeName } from "../bcs/pure.js";
3
3
  export declare function createPure<T>(makePure: (value: SerializedBcs<any, any> | Uint8Array) => T): {
4
4
  <Type extends PureTypeName>(type: Type extends PureTypeName ? ValidPureTypeName<Type> : Type, value: ShapeFromPureTypeName<Type>): T;
@@ -1 +1 @@
1
- import{isSerializedBcs}from'@mysten/bcs';import{bcs}from'../bcs/index.js';import{pureBcsSchemaFromTypeName}from'../bcs/pure.js';export function createPure(a){function b(c,d){if(typeof c==='string')return a(pureBcsSchemaFromTypeName(c)['serialize'](d));if(c instanceof Uint8Array||isSerializedBcs(c))return a(c);throw new Error('tx.pure\x20must\x20be\x20called\x20either\x20a\x20bcs\x20type\x20name,\x20or\x20a\x20serialized\x20bcs\x20value');}return b['u8']=c=>a(bcs['U8']['serialize'](c)),b['u16']=c=>a(bcs['U16']['serialize'](c)),b['u32']=c=>a(bcs['U32']['serialize'](c)),b['u64']=c=>a(bcs['U64']['serialize'](c)),b['u128']=c=>a(bcs['U128']['serialize'](c)),b['u256']=c=>a(bcs['U256']['serialize'](c)),b['bool']=c=>a(bcs['Bool']['serialize'](c)),b['string']=c=>a(bcs['String']['serialize'](c)),b['address']=c=>a(bcs['Address']['serialize'](c)),b['id']=b['address'],b['vector']=(c,d)=>{return a(bcs['vector'](pureBcsSchemaFromTypeName(c))['serialize'](d));},b['option']=(c,d)=>{return a(bcs['option'](pureBcsSchemaFromTypeName(c))['serialize'](d));},b;}
1
+ import{isSerializedBcs}from'../_deps/bcs/index.js';import{bcs}from'../bcs/index.js';import{pureBcsSchemaFromTypeName}from'../bcs/pure.js';export function createPure(a){function b(c,d){if(typeof c==='string')return a(pureBcsSchemaFromTypeName(c)['serialize'](d));if(c instanceof Uint8Array||isSerializedBcs(c))return a(c);throw new Error('tx.pure\x20must\x20be\x20called\x20either\x20a\x20bcs\x20type\x20name,\x20or\x20a\x20serialized\x20bcs\x20value');}return b['u8']=c=>a(bcs['U8']['serialize'](c)),b['u16']=c=>a(bcs['U16']['serialize'](c)),b['u32']=c=>a(bcs['U32']['serialize'](c)),b['u64']=c=>a(bcs['U64']['serialize'](c)),b['u128']=c=>a(bcs['U128']['serialize'](c)),b['u256']=c=>a(bcs['U256']['serialize'](c)),b['bool']=c=>a(bcs['Bool']['serialize'](c)),b['string']=c=>a(bcs['String']['serialize'](c)),b['address']=c=>a(bcs['Address']['serialize'](c)),b['id']=b['address'],b['vector']=(c,d)=>{return a(bcs['vector'](pureBcsSchemaFromTypeName(c))['serialize'](d));},b['option']=(c,d)=>{return a(bcs['option'](pureBcsSchemaFromTypeName(c))['serialize'](d));},b;}
@@ -1,7 +1,7 @@
1
- import type { BcsType } from "@mysten/bcs";
2
- import type { SuiMoveNormalizedType } from "../client/index.js";
1
+ import type { BcsType } from "../_deps/bcs/index.js";
2
+ import type { WowMoveNormalizedType } from "../client/index.js";
3
3
  import type { OpenMoveTypeSignature, OpenMoveTypeSignatureBody } from "./data/internal.js";
4
4
  export declare function isTxContext(param: OpenMoveTypeSignature): boolean;
5
5
  export declare function getPureBcsSchema(typeSignature: OpenMoveTypeSignatureBody): BcsType<any> | null;
6
- export declare function normalizedTypeToMoveTypeSignature(type: SuiMoveNormalizedType): OpenMoveTypeSignature;
6
+ export declare function normalizedTypeToMoveTypeSignature(type: WowMoveNormalizedType): OpenMoveTypeSignature;
7
7
  export declare function pureBcsSchemaFromOpenMoveTypeSignatureBody(typeSignature: OpenMoveTypeSignatureBody): BcsType<any>;
@@ -1 +1 @@
1
- import{bcs}from'../bcs/index.js';import{MOVE_STDLIB_ADDRESS,WOW_FRAMEWORK_ADDRESS}from'../utils/index.js';import{normalizeWowAddress}from'../utils/sui-types.js';const OBJECT_MODULE_NAME='object',ID_STRUCT_NAME='ID',STD_ASCII_MODULE_NAME='ascii',STD_ASCII_STRUCT_NAME='String',STD_UTF8_MODULE_NAME='string',STD_UTF8_STRUCT_NAME='String',STD_OPTION_MODULE_NAME='option',STD_OPTION_STRUCT_NAME='Option';export function isTxContext(a){const b=typeof a['body']==='object'&&'datatype'in a['body']?a['body']['datatype']:null;return!!b&&normalizeWowAddress(b['package'])===normalizeWowAddress('0x2')&&b['module']==='tx_context'&&b['type']==='TxContext';}export function getPureBcsSchema(a){if(typeof a==='string')switch(a){case'address':return bcs['Address'];case'bool':return bcs['Bool'];case'u8':return bcs['U8'];case'u16':return bcs['U16'];case'u32':return bcs['U32'];case'u64':return bcs['U64'];case'u128':return bcs['U128'];case'u256':return bcs['U256'];default:throw new Error('Unknown\x20type\x20signature\x20'+a);}if('vector'in a){if(a['vector']==='u8')return bcs['byteVector']()['transform']({'input':c=>typeof c==='string'?new TextEncoder()['encode'](c):c,'output':c=>c});const b=getPureBcsSchema(a['vector']);return b?bcs['vector'](b):null;}if('datatype'in a){const c=normalizeWowAddress(a['datatype']['package']);if(c===normalizeWowAddress(MOVE_STDLIB_ADDRESS)){if(a['datatype']['module']===STD_ASCII_MODULE_NAME&&a['datatype']['type']===STD_ASCII_STRUCT_NAME)return bcs['String'];if(a['datatype']['module']===STD_UTF8_MODULE_NAME&&a['datatype']['type']===STD_UTF8_STRUCT_NAME)return bcs['String'];if(a['datatype']['module']===STD_OPTION_MODULE_NAME&&a['datatype']['type']===STD_OPTION_STRUCT_NAME){const d=getPureBcsSchema(a['datatype']['typeParameters'][0x0]);return d?bcs['vector'](d):null;}}if(c===normalizeWowAddress(WOW_FRAMEWORK_ADDRESS)&&a['datatype']['module']===OBJECT_MODULE_NAME&&a['datatype']['type']===ID_STRUCT_NAME)return bcs['Address'];}return null;}export function normalizedTypeToMoveTypeSignature(a){if(typeof a==='object'&&'Reference'in a)return{'ref':'&','body':normalizedTypeToMoveTypeSignatureBody(a['Reference'])};if(typeof a==='object'&&'MutableReference'in a)return{'ref':'&mut','body':normalizedTypeToMoveTypeSignatureBody(a['MutableReference'])};return{'ref':null,'body':normalizedTypeToMoveTypeSignatureBody(a)};}function normalizedTypeToMoveTypeSignatureBody(a){if(typeof a==='string')switch(a){case'Address':return'address';case'Bool':return'bool';case'U8':return'u8';case'U16':return'u16';case'U32':return'u32';case'U64':return'u64';case'U128':return'u128';case'U256':return'u256';default:throw new Error('Unexpected\x20type\x20'+a);}if('Vector'in a)return{'vector':normalizedTypeToMoveTypeSignatureBody(a['Vector'])};if('Struct'in a)return{'datatype':{'package':a['Struct']['address'],'module':a['Struct']['module'],'type':a['Struct']['name'],'typeParameters':a['Struct']['typeArguments']['map'](normalizedTypeToMoveTypeSignatureBody)}};if('TypeParameter'in a)return{'typeParameter':a['TypeParameter']};throw new Error('Unexpected\x20type\x20'+JSON['stringify'](a));}export function pureBcsSchemaFromOpenMoveTypeSignatureBody(a){if(typeof a==='string')switch(a){case'address':return bcs['Address'];case'bool':return bcs['Bool'];case'u8':return bcs['U8'];case'u16':return bcs['U16'];case'u32':return bcs['U32'];case'u64':return bcs['U64'];case'u128':return bcs['U128'];case'u256':return bcs['U256'];default:throw new Error('Unknown\x20type\x20signature\x20'+a);}if('vector'in a)return bcs['vector'](pureBcsSchemaFromOpenMoveTypeSignatureBody(a['vector']));throw new Error('Expected\x20pure\x20typeSignature,\x20but\x20got\x20'+JSON['stringify'](a));}
1
+ import{bcs}from'../bcs/index.js';import{MOVE_STDLIB_ADDRESS,WOW_FRAMEWORK_ADDRESS}from'../utils/index.js';import{normalizeWowAddress}from'../utils/wow-types.js';const OBJECT_MODULE_NAME='object',ID_STRUCT_NAME='ID',STD_ASCII_MODULE_NAME='ascii',STD_ASCII_STRUCT_NAME='String',STD_UTF8_MODULE_NAME='string',STD_UTF8_STRUCT_NAME='String',STD_OPTION_MODULE_NAME='option',STD_OPTION_STRUCT_NAME='Option';export function isTxContext(a){const b=typeof a['body']==='object'&&'datatype'in a['body']?a['body']['datatype']:null;return!!b&&normalizeWowAddress(b['package'])===normalizeWowAddress('0x2')&&b['module']==='tx_context'&&b['type']==='TxContext';}export function getPureBcsSchema(a){if(typeof a==='string')switch(a){case'address':return bcs['Address'];case'bool':return bcs['Bool'];case'u8':return bcs['U8'];case'u16':return bcs['U16'];case'u32':return bcs['U32'];case'u64':return bcs['U64'];case'u128':return bcs['U128'];case'u256':return bcs['U256'];default:throw new Error('Unknown\x20type\x20signature\x20'+a);}if('vector'in a){if(a['vector']==='u8')return bcs['byteVector']()['transform']({'input':c=>typeof c==='string'?new TextEncoder()['encode'](c):c,'output':c=>c});const b=getPureBcsSchema(a['vector']);return b?bcs['vector'](b):null;}if('datatype'in a){const c=normalizeWowAddress(a['datatype']['package']);if(c===normalizeWowAddress(MOVE_STDLIB_ADDRESS)){if(a['datatype']['module']===STD_ASCII_MODULE_NAME&&a['datatype']['type']===STD_ASCII_STRUCT_NAME)return bcs['String'];if(a['datatype']['module']===STD_UTF8_MODULE_NAME&&a['datatype']['type']===STD_UTF8_STRUCT_NAME)return bcs['String'];if(a['datatype']['module']===STD_OPTION_MODULE_NAME&&a['datatype']['type']===STD_OPTION_STRUCT_NAME){const d=getPureBcsSchema(a['datatype']['typeParameters'][0x0]);return d?bcs['vector'](d):null;}}if(c===normalizeWowAddress(WOW_FRAMEWORK_ADDRESS)&&a['datatype']['module']===OBJECT_MODULE_NAME&&a['datatype']['type']===ID_STRUCT_NAME)return bcs['Address'];}return null;}export function normalizedTypeToMoveTypeSignature(a){if(typeof a==='object'&&'Reference'in a)return{'ref':'&','body':normalizedTypeToMoveTypeSignatureBody(a['Reference'])};if(typeof a==='object'&&'MutableReference'in a)return{'ref':'&mut','body':normalizedTypeToMoveTypeSignatureBody(a['MutableReference'])};return{'ref':null,'body':normalizedTypeToMoveTypeSignatureBody(a)};}function normalizedTypeToMoveTypeSignatureBody(a){if(typeof a==='string')switch(a){case'Address':return'address';case'Bool':return'bool';case'U8':return'u8';case'U16':return'u16';case'U32':return'u32';case'U64':return'u64';case'U128':return'u128';case'U256':return'u256';default:throw new Error('Unexpected\x20type\x20'+a);}if('Vector'in a)return{'vector':normalizedTypeToMoveTypeSignatureBody(a['Vector'])};if('Struct'in a)return{'datatype':{'package':a['Struct']['address'],'module':a['Struct']['module'],'type':a['Struct']['name'],'typeParameters':a['Struct']['typeArguments']['map'](normalizedTypeToMoveTypeSignatureBody)}};if('TypeParameter'in a)return{'typeParameter':a['TypeParameter']};throw new Error('Unexpected\x20type\x20'+JSON['stringify'](a));}export function pureBcsSchemaFromOpenMoveTypeSignatureBody(a){if(typeof a==='string')switch(a){case'address':return bcs['Address'];case'bool':return bcs['Bool'];case'u8':return bcs['U8'];case'u16':return bcs['U16'];case'u32':return bcs['U32'];case'u64':return bcs['U64'];case'u128':return bcs['U128'];case'u256':return bcs['U256'];default:throw new Error('Unknown\x20type\x20signature\x20'+a);}if('vector'in a)return bcs['vector'](pureBcsSchemaFromOpenMoveTypeSignatureBody(a['vector']));throw new Error('Expected\x20pure\x20typeSignature,\x20but\x20got\x20'+JSON['stringify'](a));}
@@ -1,8 +1,8 @@
1
- import type { SuiMoveNormalizedType } from "../client/index.js";
1
+ import type { WowMoveNormalizedType } from "../client/index.js";
2
2
  import type { Argument, CallArg, Command } from "./data/internal.js";
3
- export declare function extractMutableReference(normalizedType: SuiMoveNormalizedType): SuiMoveNormalizedType | undefined;
4
- export declare function extractReference(normalizedType: SuiMoveNormalizedType): SuiMoveNormalizedType | undefined;
5
- export declare function extractStructTag(normalizedType: SuiMoveNormalizedType): Extract<SuiMoveNormalizedType, {
3
+ export declare function extractMutableReference(normalizedType: WowMoveNormalizedType): WowMoveNormalizedType | undefined;
4
+ export declare function extractReference(normalizedType: WowMoveNormalizedType): WowMoveNormalizedType | undefined;
5
+ export declare function extractStructTag(normalizedType: WowMoveNormalizedType): Extract<WowMoveNormalizedType, {
6
6
  Struct: unknown;
7
7
  }> | undefined;
8
8
  export declare function getIdFromCallArg(arg: string | CallArg): string;
@@ -1 +1 @@
1
- import{is}from'valibot';import{normalizeWowAddress}from'../utils/sui-types.js';import{ArgumentSchema}from'./data/internal.js';export function extractMutableReference(a){return typeof a==='object'&&'MutableReference'in a?a['MutableReference']:undefined;}export function extractReference(a){return typeof a==='object'&&'Reference'in a?a['Reference']:undefined;}export function extractStructTag(a){if(typeof a==='object'&&'Struct'in a)return a;const b=extractReference(a),c=extractMutableReference(a);if(typeof b==='object'&&'Struct'in b)return b;if(typeof c==='object'&&'Struct'in c)return c;return undefined;}export function getIdFromCallArg(a){if(typeof a==='string')return normalizeWowAddress(a);if(a['Object']){if(a['Object']['ImmOrOwnedObject'])return normalizeWowAddress(a['Object']['ImmOrOwnedObject']['objectId']);if(a['Object']['Receiving'])return normalizeWowAddress(a['Object']['Receiving']['objectId']);return normalizeWowAddress(a['Object']['SharedObject']['objectId']);}if(a['UnresolvedObject'])return normalizeWowAddress(a['UnresolvedObject']['objectId']);return undefined;}export function isArgument(a){return is(ArgumentSchema,a);}export function remapCommandArguments(a,b,c){const d=e=>{switch(e['$kind']){case'Input':{const f=b['get'](e['Input']);if(f===undefined)throw new Error('Input\x20'+e['Input']+'\x20not\x20found\x20in\x20input\x20mapping');return{...e,'Input':f};}case'Result':{const g=c['get'](e['Result']);if(g!==undefined)return{...e,'Result':g};return e;}case'NestedResult':{const h=c['get'](e['NestedResult'][0x0]);if(h!==undefined)return{...e,'NestedResult':[h,e['NestedResult'][0x1]]};return e;}default:return e;}};switch(a['$kind']){case'MoveCall':a['MoveCall']['arguments']=a['MoveCall']['arguments']['map'](d);break;case'TransferObjects':a['TransferObjects']['objects']=a['TransferObjects']['objects']['map'](d),a['TransferObjects']['address']=d(a['TransferObjects']['address']);break;case'SplitCoins':a['SplitCoins']['coin']=d(a['SplitCoins']['coin']),a['SplitCoins']['amounts']=a['SplitCoins']['amounts']['map'](d);break;case'MergeCoins':a['MergeCoins']['destination']=d(a['MergeCoins']['destination']),a['MergeCoins']['sources']=a['MergeCoins']['sources']['map'](d);break;case'MakeMoveVec':a['MakeMoveVec']['elements']=a['MakeMoveVec']['elements']['map'](d);break;case'Upgrade':a['Upgrade']['ticket']=d(a['Upgrade']['ticket']);break;case'$Intent':{const e=a['$Intent']['inputs'];a['$Intent']['inputs']={};for(const [f,g]of Object['entries'](e)){a['$Intent']['inputs'][f]=Array['isArray'](g)?g['map'](d):d(g);}break;}case'Publish':break;}}
1
+ import{is}from'valibot';import{normalizeWowAddress}from'../utils/wow-types.js';import{ArgumentSchema}from'./data/internal.js';export function extractMutableReference(a){return typeof a==='object'&&'MutableReference'in a?a['MutableReference']:undefined;}export function extractReference(a){return typeof a==='object'&&'Reference'in a?a['Reference']:undefined;}export function extractStructTag(a){if(typeof a==='object'&&'Struct'in a)return a;const b=extractReference(a),c=extractMutableReference(a);if(typeof b==='object'&&'Struct'in b)return b;if(typeof c==='object'&&'Struct'in c)return c;return undefined;}export function getIdFromCallArg(a){if(typeof a==='string')return normalizeWowAddress(a);if(a['Object']){if(a['Object']['ImmOrOwnedObject'])return normalizeWowAddress(a['Object']['ImmOrOwnedObject']['objectId']);if(a['Object']['Receiving'])return normalizeWowAddress(a['Object']['Receiving']['objectId']);return normalizeWowAddress(a['Object']['SharedObject']['objectId']);}if(a['UnresolvedObject'])return normalizeWowAddress(a['UnresolvedObject']['objectId']);return undefined;}export function isArgument(a){return is(ArgumentSchema,a);}export function remapCommandArguments(a,b,c){const d=e=>{switch(e['$kind']){case'Input':{const f=b['get'](e['Input']);if(f===undefined)throw new Error('Input\x20'+e['Input']+'\x20not\x20found\x20in\x20input\x20mapping');return{...e,'Input':f};}case'Result':{const g=c['get'](e['Result']);if(g!==undefined)return{...e,'Result':g};return e;}case'NestedResult':{const h=c['get'](e['NestedResult'][0x0]);if(h!==undefined)return{...e,'NestedResult':[h,e['NestedResult'][0x1]]};return e;}default:return e;}};switch(a['$kind']){case'MoveCall':a['MoveCall']['arguments']=a['MoveCall']['arguments']['map'](d);break;case'TransferObjects':a['TransferObjects']['objects']=a['TransferObjects']['objects']['map'](d),a['TransferObjects']['address']=d(a['TransferObjects']['address']);break;case'SplitCoins':a['SplitCoins']['coin']=d(a['SplitCoins']['coin']),a['SplitCoins']['amounts']=a['SplitCoins']['amounts']['map'](d);break;case'MergeCoins':a['MergeCoins']['destination']=d(a['MergeCoins']['destination']),a['MergeCoins']['sources']=a['MergeCoins']['sources']['map'](d);break;case'MakeMoveVec':a['MakeMoveVec']['elements']=a['MakeMoveVec']['elements']['map'](d);break;case'Upgrade':a['Upgrade']['ticket']=d(a['Upgrade']['ticket']);break;case'$Intent':{const e=a['$Intent']['inputs'];a['$Intent']['inputs']={};for(const [f,g]of Object['entries'](e)){a['$Intent']['inputs'][f]=Array['isArray'](g)?g['map'](d):d(g);}break;}case'Publish':break;}}
@@ -1,9 +1,3 @@
1
- export declare const SUI_DECIMALS = 9;
2
- export declare const MIST_PER_SUI: bigint;
3
- export declare const SUI_FRAMEWORK_ADDRESS = "0x2";
4
- export declare const SUI_SYSTEM_ADDRESS = "0x3";
5
- export declare const SUI_SYSTEM_MODULE_NAME = "sui_system";
6
- export declare const SUI_TYPE_ARG = "0x2::sui::SUI";
7
1
  export declare const WOW_DECIMALS = 9;
8
2
  export declare const MIST_PER_WOW: bigint;
9
3
  export declare const WOW_FRAMEWORK_ADDRESS = "0x2";
@@ -1 +1 @@
1
- import{normalizeWowObjectId}from'./sui-types.js';export const SUI_DECIMALS=0x9;export const MIST_PER_SUI=BigInt(0x3b9aca00);export const SUI_FRAMEWORK_ADDRESS='0x2';export const SUI_SYSTEM_ADDRESS='0x3';export const SUI_SYSTEM_MODULE_NAME='sui_system';export const SUI_TYPE_ARG=SUI_FRAMEWORK_ADDRESS+'::sui::SUI';export const WOW_DECIMALS=0x9;export const MIST_PER_WOW=BigInt(0x3b9aca00);export const WOW_FRAMEWORK_ADDRESS='0x2';export const WOW_SYSTEM_ADDRESS='0x3';export const WOW_ADDRESS='0x4';export const WOW_CLOCK_OBJECT_ID=normalizeWowObjectId('0x6');export const WOW_SYSTEM_MODULE_NAME='wow_system';export const WOW_TYPE_ARG=WOW_FRAMEWORK_ADDRESS+'::wow::WOW';export const WOW_SYSTEM_STATE_OBJECT_ID=normalizeWowObjectId('0x5');export const WOW_RANDOM_OBJECT_ID=normalizeWowObjectId('0x8');export const MOVE_STDLIB_ADDRESS='0x1';
1
+ import{normalizeWowObjectId}from'./wow-types.js';export const WOW_DECIMALS=0x9;export const MIST_PER_WOW=BigInt(0x3b9aca00);export const WOW_FRAMEWORK_ADDRESS='0x2';export const WOW_SYSTEM_ADDRESS='0x3';export const WOW_ADDRESS='0x4';export const WOW_CLOCK_OBJECT_ID=normalizeWowObjectId('0x6');export const WOW_SYSTEM_MODULE_NAME='wow_system';export const WOW_TYPE_ARG=WOW_FRAMEWORK_ADDRESS+'::wow::WOW';export const WOW_SYSTEM_STATE_OBJECT_ID=normalizeWowObjectId('0x5');export const WOW_RANDOM_OBJECT_ID=normalizeWowObjectId('0x8');export const MOVE_STDLIB_ADDRESS='0x1';
@@ -1 +1 @@
1
- import{toHex}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2b';import{bcs}from'../bcs/index.js';export function deriveDynamicFieldID(a,b,c){const d=bcs['Address']['serialize'](a)['toBytes'](),e=bcs['TypeTag']['serialize'](b)['toBytes'](),f=bcs['u64']()['serialize'](c['length'])['toBytes'](),g=blake2b['create']({'dkLen':0x20});return g['update'](new Uint8Array([0xf0])),g['update'](d),g['update'](f),g['update'](c),g['update'](e),'0x'+toHex(g['digest']()['slice'](0x0,0x20));}
1
+ import{toHex}from'../_deps/bcs/index.js';import{blake2b}from'@noble/hashes/blake2b';import{bcs}from'../bcs/index.js';export function deriveDynamicFieldID(a,b,c){const d=bcs['Address']['serialize'](a)['toBytes'](),e=bcs['TypeTag']['serialize'](b)['toBytes'](),f=bcs['u64']()['serialize'](c['length'])['toBytes'](),g=blake2b['create']({'dkLen':0x20});return g['update'](new Uint8Array([0xf0])),g['update'](d),g['update'](f),g['update'](c),g['update'](e),'0x'+toHex(g['digest']()['slice'](0x0,0x20));}
@@ -1,6 +1,6 @@
1
1
  export { formatAddress, formatDigest } from "./format.js";
2
- export { isValidWowAddress, isValidWowObjectId, isValidTransactionDigest, normalizeStructTag, normalizeWowAddress, normalizeWowObjectId, parseStructTag, WOW_ADDRESS_LENGTH, } from "./sui-types.js";
3
- export { fromB64, toB64, fromHEX, toHex, toHEX, fromHex, fromBase64, toBase64, fromBase58, toBase58, } from "@mysten/bcs";
2
+ export { isValidWowAddress, isValidWowObjectId, isValidTransactionDigest, normalizeStructTag, normalizeWowAddress, normalizeWowObjectId, parseStructTag, WOW_ADDRESS_LENGTH, } from "./wow-types.js";
3
+ export { fromB64, toB64, fromHEX, toHex, toHEX, fromHex, fromBase64, toBase64, fromBase58, toBase58, } from "../_deps/bcs/index.js";
4
4
  export { WOW_DECIMALS, MIST_PER_WOW, MOVE_STDLIB_ADDRESS, WOW_FRAMEWORK_ADDRESS, WOW_SYSTEM_ADDRESS, WOW_CLOCK_OBJECT_ID, WOW_SYSTEM_MODULE_NAME, WOW_TYPE_ARG, WOW_SYSTEM_STATE_OBJECT_ID, WOW_RANDOM_OBJECT_ID, } from "./constants.js";
5
5
  export { isValidNamedPackage, isValidNamedType } from "./move-registry.js";
6
6
  export { deriveDynamicFieldID } from "./dynamic-fields.js";
@@ -1 +1 @@
1
- export{formatAddress,formatDigest}from'./format.js';export{isValidWowAddress,isValidWowObjectId,isValidTransactionDigest,normalizeStructTag,normalizeWowAddress,normalizeWowObjectId,parseStructTag,WOW_ADDRESS_LENGTH}from'./sui-types.js';export{fromB64,toB64,fromHEX,toHex,toHEX,fromHex,fromBase64,toBase64,fromBase58,toBase58}from'@mysten/bcs';export{WOW_DECIMALS,MIST_PER_WOW,MOVE_STDLIB_ADDRESS,WOW_FRAMEWORK_ADDRESS,WOW_SYSTEM_ADDRESS,WOW_CLOCK_OBJECT_ID,WOW_SYSTEM_MODULE_NAME,WOW_TYPE_ARG,WOW_SYSTEM_STATE_OBJECT_ID,WOW_RANDOM_OBJECT_ID}from'./constants.js';export{isValidNamedPackage,isValidNamedType}from'./move-registry.js';export{deriveDynamicFieldID}from'./dynamic-fields.js';export{deriveObjectID}from'./derived-objects.js';export{normalizeTypeTag}from'../bcs/type-tag-serializer.js';
1
+ export{formatAddress,formatDigest}from'./format.js';export{isValidWowAddress,isValidWowObjectId,isValidTransactionDigest,normalizeStructTag,normalizeWowAddress,normalizeWowObjectId,parseStructTag,WOW_ADDRESS_LENGTH}from'./wow-types.js';export{fromB64,toB64,fromHEX,toHex,toHEX,fromHex,fromBase64,toBase64,fromBase58,toBase58}from'../_deps/bcs/index.js';export{WOW_DECIMALS,MIST_PER_WOW,MOVE_STDLIB_ADDRESS,WOW_FRAMEWORK_ADDRESS,WOW_SYSTEM_ADDRESS,WOW_CLOCK_OBJECT_ID,WOW_SYSTEM_MODULE_NAME,WOW_TYPE_ARG,WOW_SYSTEM_STATE_OBJECT_ID,WOW_RANDOM_OBJECT_ID}from'./constants.js';export{isValidNamedPackage,isValidNamedType}from'./move-registry.js';export{deriveDynamicFieldID}from'./dynamic-fields.js';export{deriveObjectID}from'./derived-objects.js';export{normalizeTypeTag}from'../bcs/type-tag-serializer.js';
@@ -0,0 +1 @@
1
+ import{fromBase58,splitGenericParameters}from'../_deps/bcs/index.js';const TX_DIGEST_LENGTH=0x20;export function isValidTransactionDigest(a){try{const b=fromBase58(a);return b['length']===TX_DIGEST_LENGTH;}catch{return![];}}export const WOW_ADDRESS_LENGTH=0x20;export function isValidWowAddress(a){return isHex(a)&&getHexByteLength(a)===WOW_ADDRESS_LENGTH;}export function isValidWowObjectId(a){return isValidWowAddress(a);}function parseTypeTag(a){if(!a['includes']('::'))return a;return parseStructTag(a);}export function parseStructTag(a){const [b,c]=a['split']('::'),d=a['slice'](b['length']+c['length']+0x4),e=d['includes']('<')?d['slice'](0x0,d['indexOf']('<')):d,f=d['includes']('<')?splitGenericParameters(d['slice'](d['indexOf']('<')+0x1,d['lastIndexOf']('>')))['map'](g=>parseTypeTag(g['trim']())):[];return{'address':normalizeWowAddress(b),'module':c,'name':e,'typeParams':f};}export function normalizeStructTag(a){const {address:b,module:c,name:d,typeParams:e}=typeof a==='string'?parseStructTag(a):a,f=e?.['length']>0x0?'<'+e['map'](g=>typeof g==='string'?g:normalizeStructTag(g))['join'](',')+'>':'';return b+'::'+c+'::'+d+f;}export function normalizeWowAddress(a,b=![]){let c=a['toLowerCase']();return!b&&c['startsWith']('0x')&&(c=c['slice'](0x2)),'0x'+c['padStart'](WOW_ADDRESS_LENGTH*0x2,'0');}export function normalizeWowObjectId(a,b=![]){return normalizeWowAddress(a,b);}function isHex(a){return/^(0x|0X)?[a-fA-F0-9]+$/['test'](a)&&a['length']%0x2===0x0;}function getHexByteLength(a){return/^(0x|0X)/['test'](a)?(a['length']-0x2)/0x2:a['length']/0x2;}
@@ -1 +1 @@
1
- export { verifySignature, verifyPersonalMessageSignature, verifyTransactionSignature, publicKeyFromRawBytes, publicKeyFromSuiBytes, } from "./verify.js";
1
+ export { verifySignature, verifyPersonalMessageSignature, verifyTransactionSignature, publicKeyFromRawBytes, publicKeyFromWowBytes, } from "./verify.js";
@@ -1 +1 @@
1
- export{verifySignature,verifyPersonalMessageSignature,verifyTransactionSignature,publicKeyFromRawBytes,publicKeyFromSuiBytes}from'./verify.js';
1
+ export{verifySignature,verifyPersonalMessageSignature,verifyTransactionSignature,publicKeyFromRawBytes,publicKeyFromWowBytes}from'./verify.js';
@@ -11,6 +11,6 @@ export declare function verifyTransactionSignature(transaction: Uint8Array, sign
11
11
  export declare function publicKeyFromRawBytes(signatureScheme: SignatureScheme, bytes: Uint8Array, options?: {
12
12
  address?: string;
13
13
  }): PublicKey;
14
- export declare function publicKeyFromSuiBytes(publicKey: string | Uint8Array, options?: {
14
+ export declare function publicKeyFromWowBytes(publicKey: string | Uint8Array, options?: {
15
15
  address?: string;
16
16
  }): PublicKey;
@@ -1 +1 @@
1
- import{fromBase64}from'@mysten/bcs';import{parseSerializedSignature,SIGNATURE_FLAG_TO_SCHEME}from'../cryptography/index.js';import{Falcon512PublicKey}from'../keypairs/falcon512/publickey.js';export async function verifySignature(a,b,c){const d=await parseSignature(b);if(!await d['publicKey']['verify'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20data');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}export async function verifyPersonalMessageSignature(a,b,c){const d=await parseSignature(b);if(!await d['publicKey']['verifyPersonalMessage'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20message');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}export async function verifyTransactionSignature(a,b,c){const d=await parseSignature(b);if(!await d['publicKey']['verifyTransaction'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20Transaction');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function parseSignature(a){const b=parseSerializedSignature(a);if(b['signatureScheme']==='MultiSig'){const {MultiSigPublicKey:d}=await import('../multisig/publickey.js');return{...b,'publicKey':new d(b['multisig']['multisig_pk'])};}const c=publicKeyFromRawBytes(b['signatureScheme'],b['publicKey']);return{...b,'publicKey':c};}export function publicKeyFromRawBytes(a,b,c){let d;switch(a){case'MultiSig':throw new Error('Use\x20parseSignature()\x20for\x20MultiSig\x20public\x20keys');case'Falcon512':d=new Falcon512PublicKey(b);break;default:throw new Error('Unsupported\x20signature\x20scheme\x20'+a);}if(c?.['address']&&!d['verifyAddress'](c['address']))throw new Error('Public\x20key\x20bytes\x20do\x20not\x20match\x20the\x20provided\x20address');return d;}export function publicKeyFromSuiBytes(a,b){const c=typeof a==='string'?fromBase64(a):a,d=SIGNATURE_FLAG_TO_SCHEME[c[0x0]];return publicKeyFromRawBytes(d,c['slice'](0x1),b);}
1
+ import{fromBase64}from'../_deps/bcs/index.js';import{parseSerializedSignature,SIGNATURE_FLAG_TO_SCHEME}from'../cryptography/index.js';import{Falcon512PublicKey}from'../keypairs/falcon512/publickey.js';export async function verifySignature(a,b,c){const d=await parseSignature(b);if(!await d['publicKey']['verify'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20data');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}export async function verifyPersonalMessageSignature(a,b,c){const d=await parseSignature(b);if(!await d['publicKey']['verifyPersonalMessage'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20message');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}export async function verifyTransactionSignature(a,b,c){const d=await parseSignature(b);if(!await d['publicKey']['verifyTransaction'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20Transaction');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function parseSignature(a){const b=parseSerializedSignature(a);if(b['signatureScheme']==='MultiSig'){const {MultiSigPublicKey:d}=await import('../multisig/publickey.js');return{...b,'publicKey':new d(b['multisig']['multisig_pk'])};}const c=publicKeyFromRawBytes(b['signatureScheme'],b['publicKey']);return{...b,'publicKey':c};}export function publicKeyFromRawBytes(a,b,c){let d;switch(a){case'MultiSig':throw new Error('Use\x20parseSignature()\x20for\x20MultiSig\x20public\x20keys');case'Falcon512':d=new Falcon512PublicKey(b);break;default:throw new Error('Unsupported\x20signature\x20scheme\x20'+a);}if(c?.['address']&&!d['verifyAddress'](c['address']))throw new Error('Public\x20key\x20bytes\x20do\x20not\x20match\x20the\x20provided\x20address');return d;}export function publicKeyFromWowBytes(a,b){const c=typeof a==='string'?fromBase64(a):a,d=SIGNATURE_FLAG_TO_SCHEME[c[0x0]];return publicKeyFromRawBytes(d,c['slice'](0x1),b);}
@@ -1 +1 @@
1
- import{isValidWowAddress}from'../../utils/sui-types.js';import{toTxObject,isValidDescription,MAX_DESCRIPTION_LENGTH,PackageAddress,isValidU8,isValidU64,GetObjectExisted,GetObject,IsValidArgType}from'../common.js';import{W_ERROR,WErrors}from'../exception.js';import{GetAccountOrMark_Address,GetManyAccountOrMark_Address}from'../local/index.js';import{LocalMark}from'../local/local.js';import{ObjectType}from'../query/object.js';import{query_received}from'../query/received.js';import{parseObjectType,validObjects}from'../util.js';import{CallBase,getCoinParam}from'./base.js';import{get_guardSubmissions}from'./passport.js';import{paymentInfo}from'./payment.js';export class CallAllocation extends CallBase{['data'];['object_address']=undefined;['type_parameter']=undefined;constructor(a){super(),this['data']=a;}async['prepare'](a){await super['prepare'](a);!this['object_address']&&(this['object_address']=await GetObjectExisted(this['data']?.['object']));if(this['object_address'])this['content']=undefined,await this['update_content'](a,ObjectType['Allocation'],this['object_address']),!this['content']&&W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.object:'+this['object_address']),this['type_parameter']=parseObjectType(this['content']['type_raw'],'allocation::Allocation'),!this['type_parameter']&&W_ERROR(WErrors['IsValidArgType'],'CallAllocation_Data.data.object.type_parameter\x20is\x20empty');else{const b=GetObject(this['data']['object']);(!b||!IsValidArgType(b?.['type_parameter']))&&W_ERROR(WErrors['IsValidArgType'],'CallAllocation_Data.data.object.type_parameter\x20is\x20empty'),this['type_parameter']=b?.['type_parameter'];}}async['call'](a){await this['prepare'](a);if('alloc_by_guard'in this['data']&&this['data']['alloc_by_guard']!=null){const b=await LocalMark['Instance']()['get_address'](this['data']['alloc_by_guard']);(!b||!isValidWowAddress(b))&&W_ERROR(WErrors['IsValidAddress'],'alloc_by_guard:\x20'+this['data']['alloc_by_guard']);this['content']&&!this['content']['allocators']['find'](d=>d['guard']===b)&&W_ERROR(WErrors['InvalidParam'],'alloc_by_guard:\x20'+this['data']['alloc_by_guard']+'\x20not\x20found\x20in\x20allocators\x20'+this['content']['allocators']['map'](d=>d['guard']));this['data']['alloc_by_guard']=b;const c=await get_guardSubmissions(a,[this['data']['alloc_by_guard']]);if(c['submission']['length']>0x0)return{'type':'submission','guard':c['guard'],'submission':c['submission']};return await this['check_passport'](a,c);}return await this['exec'](a);}async['operate'](a,b,c){if(this['object_address']){if('received_coins'in this['data']&&this['data']['received_coins']!=null){if(this['data']['received_coins']==='recently'){const d=await query_received({'object':this['object_address'],'network':a['network'],'no_cache':a['no_cache']});Array['isArray'](d)?W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.received_coins:\x20received\x20is\x20ReceivedNormal[]'):this['data']['received_coins']=d;}if(typeof this['data']['received_coins']==='object'&&'received'in this['data']['received_coins']&&this['data']['received_coins']['received']?.['length']>0x0){this['data']['received_coins']?.['token_type']!==this['type_parameter']&&W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.received_coins.token_type:'+this['data']['received_coins']?.['token_type']);for(const e of this['data']['received_coins']['received']){(!isValidWowAddress(e['id'])||!isValidWowAddress(e['payment']))&&W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.received_coins:'+e['id']),receive(b,toTxObject(b,this['object_address']),this['type_parameter'],toTxObject(b,e['id']),toTxObject(b,e['payment']));}}}'alloc_by_guard'in this['data']&&this['data']['alloc_by_guard']!=null&&(!c&&W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.alloc_by_guard:'+this['data']['alloc_by_guard']),alloc(b,toTxObject(b,this['object_address']),this['type_parameter'],this['data']['alloc_by_guard'],c));}else{const f=GetObject(this['data']['object']);!IsValidArgType(f?.['type_parameter'])&&W_ERROR(WErrors['IsValidArgType'],'CallAllocation_Data.data.object.type_parameter\x20'+f?.['type_parameter']);this['type_parameter']=f?.['type_parameter'];let g;'coin'in this['data']&&this['data']['coin']&&(g=await getCoinParam(a,b,this['data']['coin'],this['type_parameter']));if(g&&'allocators'in this['data']&&this['data']['allocators']&&this['type_parameter']){const h=newAllocation(b,this['type_parameter'],g,await allocators(b,this['data']['allocators']));await this['new_with_mark'](a,b,ObjectType['Allocation'],create(b,h,this['type_parameter'],await paymentInfo(a,b,this['data']['payment_info'])),f);}else W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data\x20'+JSON['stringify'](this['data']));}}}export function allocationFn(a){return PackageAddress+'::allocation::'+a;}export const MAX_ALLOCATOR_COUNT=0x64;export const MAX_SHARING_COUNT=0x64;const getAllocationModeNumber=a=>{let b;if(typeof a==='number')b=a;else{if(typeof a==='string')switch(a){case'Amount':b=0x0;break;case'Rate':b=0x1;break;case'Surplus':b=0x2;break;default:b=Number(a);}else b=Number(a);}return b!==0x0&&b!==0x1&&b!==0x2&&W_ERROR(WErrors['InvalidParam'],'Invalid\x20allocation\x20mode:\x20'+a+'.\x20Only\x200\x20(Amount),\x201\x20(Rate),\x20or\x202\x20(Surplus)\x20are\x20allowed.'),b;};export const sharing=async(a,b,c)=>{const d=getAllocationModeNumber(b['mode']);if('GuardIdentifier'in b['who'])return!isValidU8(b['who']['GuardIdentifier'])&&W_ERROR(WErrors['IsValidU8'],'sharing\x20GuardIdentifier:\x20'+b['who']['GuardIdentifier']),a['moveCall']({'target':allocationFn('sharing_for_guard_identifier'),'arguments':[a['pure']['u8'](b['who']['GuardIdentifier']),a['pure']['u64'](b['sharing']),a['pure']['u8'](d)]});else{if('Entity'in b['who']){const e=c||await GetAccountOrMark_Address(b['who']['Entity']);return!e&&W_ERROR(WErrors['IsValidAddress'],'sharing\x20Entity:\x20'+b['who']['Entity']),a['moveCall']({'target':allocationFn('sharing_for_address'),'arguments':[a['pure']['address'](e),a['pure']['u64'](b['sharing']),a['pure']['u8'](d)]});}else return a['moveCall']({'target':allocationFn('sharing_for_signer'),'arguments':[a['pure']['u64'](b['sharing']),a['pure']['u8'](d)]});}};export const allocators=async(a,b)=>{!isValidDescription(b['description'])&&W_ERROR(WErrors['InvalidParam'],'Description\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH);b['allocators']['length']>MAX_ALLOCATOR_COUNT&&W_ERROR(WErrors['InvalidParam'],'Allocator\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_ALLOCATOR_COUNT);b['allocators']['length']===0x0&&W_ERROR(WErrors['InvalidParam'],'Allocator\x20array\x20cannot\x20be\x20empty');!isValidU64(b['threshold'])&&W_ERROR(WErrors['InvalidParam'],'threshold:\x20'+b['threshold']);const c=a['moveCall']({'target':allocationFn('allocators'),'arguments':[a['pure']['string'](b['description']),a['pure']['u64'](b['threshold'])]});for(let d=0x0;d<b['allocators']['length'];d++){const e=b['allocators'][d];e['sharing']['length']===0x0&&W_ERROR(WErrors['InvalidParam'],'sharing\x20array\x20cannot\x20be\x20empty');e['sharing']['length']>MAX_SHARING_COUNT&&W_ERROR(WErrors['InvalidParam'],'sharing\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_SHARING_COUNT);const f=e['sharing']['map']((n,o)=>{return'Entity'in n['who']?{'index':o,'name_or_address':n['who']['Entity']['name_or_address']}:null;})['filter'](n=>n!==null),[h,j]=await Promise['all']([LocalMark['Instance']()['get_address'](e['guard']),GetManyAccountOrMark_Address({'entities':f,'check_all_founded':!![]})]),k=new Array(e['sharing']['length']);f['forEach']((n,o)=>{k[n['index']]=j[o];});!h&&W_ERROR(WErrors['IsValidAddress'],'guard:\x20'+e['guard']);const l=await Promise['all'](e['sharing']['map'](async(n,o)=>{if('Entity'in n['who']){const p=k[o];return!p&&W_ERROR(WErrors['IsValidAddress'],'entity:\x20'+(typeof n['who']['Entity']==='string'?n['who']['Entity']:n['who']['Entity']['name_or_address'])),sharing(a,n,p);}else return sharing(a,n);})),m=a['makeMoveVec']({'elements':l,'type':PackageAddress+'::allocation::Sharing'});a['moveCall']({'target':allocationFn('allocator_add'),'arguments':[c,toTxObject(a,h),m,a['pure']['option']('u64',e?.['max'])]});}return c;};export function alloc(a,b,c,d,e){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'allocation_type:\x20'+c+'\x20invalid'),a['moveCall']({'target':allocationFn('alloc'),'arguments':[b,toTxObject(a,d),toTxObject(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}export function newAllocation(a,b,c,d){return validObjects([c,d]),a['moveCall']({'target':allocationFn('new_with_coin'),'arguments':[c,d,a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]});}export function create(a,b,c,d){return validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'allocation_type:\x20'+c+'\x20invalid'),a['moveCall']({'target':allocationFn('create'),'arguments':[b,toTxObject(a,d)],'typeArguments':[c]});}export function receive(a,b,c,d,e){return validObjects([b,e,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'allocation_type:\x20'+c+'\x20invalid'),a['moveCall']({'target':allocationFn('receive'),'arguments':[b,toTxObject(a,d),toTxObject(a,e)],'typeArguments':[c]});}
1
+ import{isValidWowAddress}from'../../utils/wow-types.js';import{toTxObject,isValidDescription,MAX_DESCRIPTION_LENGTH,PackageAddress,isValidU8,isValidU64,GetObjectExisted,GetObject,IsValidArgType}from'../common.js';import{W_ERROR,WErrors}from'../exception.js';import{GetAccountOrMark_Address,GetManyAccountOrMark_Address}from'../local/index.js';import{LocalMark}from'../local/local.js';import{ObjectType}from'../query/object.js';import{query_received}from'../query/received.js';import{parseObjectType,validObjects}from'../util.js';import{CallBase,getCoinParam}from'./base.js';import{get_guardSubmissions}from'./passport.js';import{paymentInfo}from'./payment.js';export class CallAllocation extends CallBase{['data'];['object_address']=undefined;['type_parameter']=undefined;constructor(a){super(),this['data']=a;}async['prepare'](a){await super['prepare'](a);!this['object_address']&&(this['object_address']=await GetObjectExisted(this['data']?.['object']));if(this['object_address'])this['content']=undefined,await this['update_content'](a,ObjectType['Allocation'],this['object_address']),!this['content']&&W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.object:'+this['object_address']),this['type_parameter']=parseObjectType(this['content']['type_raw'],'allocation::Allocation'),!this['type_parameter']&&W_ERROR(WErrors['IsValidArgType'],'CallAllocation_Data.data.object.type_parameter\x20is\x20empty');else{const b=GetObject(this['data']['object']);(!b||!IsValidArgType(b?.['type_parameter']))&&W_ERROR(WErrors['IsValidArgType'],'CallAllocation_Data.data.object.type_parameter\x20is\x20empty'),this['type_parameter']=b?.['type_parameter'];}}async['call'](a){await this['prepare'](a);if('alloc_by_guard'in this['data']&&this['data']['alloc_by_guard']!=null){const b=await LocalMark['Instance']()['get_address'](this['data']['alloc_by_guard']);(!b||!isValidWowAddress(b))&&W_ERROR(WErrors['IsValidAddress'],'alloc_by_guard:\x20'+this['data']['alloc_by_guard']);this['content']&&!this['content']['allocators']['find'](d=>d['guard']===b)&&W_ERROR(WErrors['InvalidParam'],'alloc_by_guard:\x20'+this['data']['alloc_by_guard']+'\x20not\x20found\x20in\x20allocators\x20'+this['content']['allocators']['map'](d=>d['guard']));this['data']['alloc_by_guard']=b;const c=await get_guardSubmissions(a,[this['data']['alloc_by_guard']]);if(c['submission']['length']>0x0)return{'type':'submission','guard':c['guard'],'submission':c['submission']};return await this['check_passport'](a,c);}return await this['exec'](a);}async['operate'](a,b,c){if(this['object_address']){if('received_coins'in this['data']&&this['data']['received_coins']!=null){if(this['data']['received_coins']==='recently'){const d=await query_received({'object':this['object_address'],'network':a['network'],'no_cache':a['no_cache']});Array['isArray'](d)?W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.received_coins:\x20received\x20is\x20ReceivedNormal[]'):this['data']['received_coins']=d;}if(typeof this['data']['received_coins']==='object'&&'received'in this['data']['received_coins']&&this['data']['received_coins']['received']?.['length']>0x0){this['data']['received_coins']?.['token_type']!==this['type_parameter']&&W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.received_coins.token_type:'+this['data']['received_coins']?.['token_type']);for(const e of this['data']['received_coins']['received']){(!isValidWowAddress(e['id'])||!isValidWowAddress(e['payment']))&&W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.received_coins:'+e['id']),receive(b,toTxObject(b,this['object_address']),this['type_parameter'],toTxObject(b,e['id']),toTxObject(b,e['payment']));}}}'alloc_by_guard'in this['data']&&this['data']['alloc_by_guard']!=null&&(!c&&W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.alloc_by_guard:'+this['data']['alloc_by_guard']),alloc(b,toTxObject(b,this['object_address']),this['type_parameter'],this['data']['alloc_by_guard'],c));}else{const f=GetObject(this['data']['object']);!IsValidArgType(f?.['type_parameter'])&&W_ERROR(WErrors['IsValidArgType'],'CallAllocation_Data.data.object.type_parameter\x20'+f?.['type_parameter']);this['type_parameter']=f?.['type_parameter'];let g;'coin'in this['data']&&this['data']['coin']&&(g=await getCoinParam(a,b,this['data']['coin'],this['type_parameter']));if(g&&'allocators'in this['data']&&this['data']['allocators']&&this['type_parameter']){const h=newAllocation(b,this['type_parameter'],g,await allocators(b,this['data']['allocators']));await this['new_with_mark'](a,b,ObjectType['Allocation'],create(b,h,this['type_parameter'],await paymentInfo(a,b,this['data']['payment_info'])),f);}else W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data\x20'+JSON['stringify'](this['data']));}}}export function allocationFn(a){return PackageAddress+'::allocation::'+a;}export const MAX_ALLOCATOR_COUNT=0x64;export const MAX_SHARING_COUNT=0x64;const getAllocationModeNumber=a=>{let b;if(typeof a==='number')b=a;else{if(typeof a==='string')switch(a){case'Amount':b=0x0;break;case'Rate':b=0x1;break;case'Surplus':b=0x2;break;default:b=Number(a);}else b=Number(a);}return b!==0x0&&b!==0x1&&b!==0x2&&W_ERROR(WErrors['InvalidParam'],'Invalid\x20allocation\x20mode:\x20'+a+'.\x20Only\x200\x20(Amount),\x201\x20(Rate),\x20or\x202\x20(Surplus)\x20are\x20allowed.'),b;};export const sharing=async(a,b,c)=>{const d=getAllocationModeNumber(b['mode']);if('GuardIdentifier'in b['who'])return!isValidU8(b['who']['GuardIdentifier'])&&W_ERROR(WErrors['IsValidU8'],'sharing\x20GuardIdentifier:\x20'+b['who']['GuardIdentifier']),a['moveCall']({'target':allocationFn('sharing_for_guard_identifier'),'arguments':[a['pure']['u8'](b['who']['GuardIdentifier']),a['pure']['u64'](b['sharing']),a['pure']['u8'](d)]});else{if('Entity'in b['who']){const e=c||await GetAccountOrMark_Address(b['who']['Entity']);return!e&&W_ERROR(WErrors['IsValidAddress'],'sharing\x20Entity:\x20'+b['who']['Entity']),a['moveCall']({'target':allocationFn('sharing_for_address'),'arguments':[a['pure']['address'](e),a['pure']['u64'](b['sharing']),a['pure']['u8'](d)]});}else return a['moveCall']({'target':allocationFn('sharing_for_signer'),'arguments':[a['pure']['u64'](b['sharing']),a['pure']['u8'](d)]});}};export const allocators=async(a,b)=>{!isValidDescription(b['description'])&&W_ERROR(WErrors['InvalidParam'],'Description\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH);b['allocators']['length']>MAX_ALLOCATOR_COUNT&&W_ERROR(WErrors['InvalidParam'],'Allocator\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_ALLOCATOR_COUNT);b['allocators']['length']===0x0&&W_ERROR(WErrors['InvalidParam'],'Allocator\x20array\x20cannot\x20be\x20empty');!isValidU64(b['threshold'])&&W_ERROR(WErrors['InvalidParam'],'threshold:\x20'+b['threshold']);const c=a['moveCall']({'target':allocationFn('allocators'),'arguments':[a['pure']['string'](b['description']),a['pure']['u64'](b['threshold'])]});for(let d=0x0;d<b['allocators']['length'];d++){const e=b['allocators'][d];e['sharing']['length']===0x0&&W_ERROR(WErrors['InvalidParam'],'sharing\x20array\x20cannot\x20be\x20empty');e['sharing']['length']>MAX_SHARING_COUNT&&W_ERROR(WErrors['InvalidParam'],'sharing\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_SHARING_COUNT);const f=e['sharing']['map']((n,o)=>{return'Entity'in n['who']?{'index':o,'name_or_address':n['who']['Entity']['name_or_address']}:null;})['filter'](n=>n!==null),[h,j]=await Promise['all']([LocalMark['Instance']()['get_address'](e['guard']),GetManyAccountOrMark_Address({'entities':f,'check_all_founded':!![]})]),k=new Array(e['sharing']['length']);f['forEach']((n,o)=>{k[n['index']]=j[o];});!h&&W_ERROR(WErrors['IsValidAddress'],'guard:\x20'+e['guard']);const l=await Promise['all'](e['sharing']['map'](async(n,o)=>{if('Entity'in n['who']){const p=k[o];return!p&&W_ERROR(WErrors['IsValidAddress'],'entity:\x20'+(typeof n['who']['Entity']==='string'?n['who']['Entity']:n['who']['Entity']['name_or_address'])),sharing(a,n,p);}else return sharing(a,n);})),m=a['makeMoveVec']({'elements':l,'type':PackageAddress+'::allocation::Sharing'});a['moveCall']({'target':allocationFn('allocator_add'),'arguments':[c,toTxObject(a,h),m,a['pure']['option']('u64',e?.['max'])]});}return c;};export function alloc(a,b,c,d,e){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'allocation_type:\x20'+c+'\x20invalid'),a['moveCall']({'target':allocationFn('alloc'),'arguments':[b,toTxObject(a,d),toTxObject(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}export function newAllocation(a,b,c,d){return validObjects([c,d]),a['moveCall']({'target':allocationFn('new_with_coin'),'arguments':[c,d,a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]});}export function create(a,b,c,d){return validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'allocation_type:\x20'+c+'\x20invalid'),a['moveCall']({'target':allocationFn('create'),'arguments':[b,toTxObject(a,d)],'typeArguments':[c]});}export function receive(a,b,c,d,e){return validObjects([b,e,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'allocation_type:\x20'+c+'\x20invalid'),a['moveCall']({'target':allocationFn('receive'),'arguments':[b,toTxObject(a,d),toTxObject(a,e)],'typeArguments':[c]});}
@@ -1 +1 @@
1
- import{toTxObject,isValidDescription,MAX_DESCRIPTION_LENGTH,PackageAddress,isValidU8,isValidU64,GetObjectExisted,GetObject,IsValidArgType,isValidLongName,MAX_LONG_NAME_LENGTH,isValidU32,isValidArray,GetObjectDescription,arbitrationFn}from'../common.js';import{W_ERROR,WErrors}from'../exception.js';import{LocalMark}from'../local/local.js';import{ObjectType}from'../query/object.js';import{owner_receive,parseObjectType,validObjects}from'../util.js';import{CallBase,getCoinParam}from'./base.js';import{BuiltinPermissionIndex,newPermission}from'./permission.js';import{isValidWowAddress}from'../../utils/sui-types.js';import{MAX_PROPOSITION_COUNT}from'./arb.js';import{create as a130a}from'./arb.js';import{create as a130b}from'./permission.js';import{query_received}from'../query/received.js';export class CallArbitration extends CallBase{['data'];['object_address']=undefined;['permission_address']=undefined;['new_permission_description']=undefined;['parameter_type']=undefined;constructor(a){super(),this['data']=a;}async['prepare'](a){await super['prepare'](a);!this['object_address']&&(this['object_address']=await GetObjectExisted(this['data']?.['object']));if(this['object_address']){this['content']=undefined,await this['update_content'](a,ObjectType['Arbitration'],this['object_address']);if(!this['content'])W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.object:'+this['object_address']);this['permission_address']=this['content']['permission'],this['parameter_type']=parseObjectType(this['content']['type_raw'],'arbitration::Arbitration'),!this['permission_address']&&W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.object.permission\x20is\x20empty'),!IsValidArgType(this['parameter_type'])&&W_ERROR(WErrors['IsValidArgType'],'CallArbitration_Data.data.object.type_parameter\x20is\x20empty');}else{const b=GetObject(this['data']['object']);this['permission_address']=await GetObjectExisted(b?.['permission']),this['new_permission_description']=GetObjectDescription(b),this['parameter_type']=b?.['type_parameter'],!IsValidArgType(this['parameter_type'])&&W_ERROR(WErrors['IsValidArgType'],'CallArbitration_Data.data.object.type_parameter\x20invalid');}}async['call'](a){await this['prepare'](a);const b=[],c=[],d=g=>{!b['includes'](g)&&b['push'](g);},e=g=>{this['permission_address']&&!c['includes'](g)&&c['push'](g);},f=this['content'];this['permission_address']&&!this['object_address']&&e(BuiltinPermissionIndex['ARBITRATION_NEW']);this['data']?.['dispute']!=null&&(f['bPaused']&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20is\x20paused\x20and\x20cannot\x20be\x20disputed'),f['usage_guard']&&d(f['usage_guard']));this['permission_address']&&this['data']?.['description']!=null&&this['object_address']&&e(BuiltinPermissionIndex['ARBITRATION_DESCRIPTION']);this['permission_address']&&this['data']?.['location']!=null&&e(BuiltinPermissionIndex['ARBITRATION_LOCATION']);this['permission_address']&&this['data']?.['fee']!=null&&e(BuiltinPermissionIndex['ARBITRATION_FEE']);this['permission_address']&&this['data']?.['usage_guard']!==undefined&&e(BuiltinPermissionIndex['ARBITRATION_USAGE_GUARD']);this['permission_address']&&this['data']?.['vote']!=null&&(this['data']['vote']['voting_guard']=await LocalMark['Instance']()['get_address'](this['data']['vote']['voting_guard']),this['data']['vote']['voting_guard']?d(this['data']['vote']['voting_guard']):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.vote.voting_guard\x20'+this['data']['vote']['voting_guard']+'\x20invalid'));this['permission_address']&&this['data']?.['voting_guard']!=null&&e(BuiltinPermissionIndex['ARBITRATION_VOTING_GUARD']);this['permission_address']&&this['data']?.['pause']!==undefined&&e(BuiltinPermissionIndex['ARBITRATION_PAUSE']);this['permission_address']&&this['data']?.['owner_receive']!=null&&e(BuiltinPermissionIndex['ARBITRATION_OWNER_RECEIVE']);this['permission_address']&&this['data']?.['arbitration']!=null&&e(BuiltinPermissionIndex['ARBITRATION_ARBITRATION']);this['permission_address']&&this['data']?.['feedback']!=null&&e(BuiltinPermissionIndex['ARBITRATION_FEEDBACK']);this['permission_address']&&this['data']?.['confirm']!=null&&e(BuiltinPermissionIndex['ARBITRATION_CONFIRM']);this['permission_address']&&this['data']?.['voting_deadline_change']!=null&&e(BuiltinPermissionIndex['ARBITRATION_VOTING_DEADLINE_CHANGE']);this['permission_address']&&this['data']?.['reset']!=null&&e(BuiltinPermissionIndex['ARBITRATION_RESET']);this['permission_address']&&this['data']?.['arb_withdraw']!=null&&e(BuiltinPermissionIndex['ARBITRATION_ARB_WITHDRAW']);if(this['permission_address']&&this['data']?.['fees_transfer']!=null){if('allocator'in this['data']['fees_transfer']['to'])e(BuiltinPermissionIndex['ARBITRATION_FEES_ALLOC']);else'treasury'in this['data']['fees_transfer']['to']?e(BuiltinPermissionIndex['ARBITRATION_FEES_TRANSFER']):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.fees_withdraw.to\x20is\x20invalid');}this['permission_address']&&this['data']['um']!==undefined&&e(BuiltinPermissionIndex['ARBITRATION_UM']);if(this['permission_address']||b['length']>0x0)return await this['check_permission_and_call'](a,this['permission_address'],c,b);return await this['exec'](a);}async['operate'](b,c,d,e){let f=this['permission_address'],g=this['object_address'];!this['object_address']&&(!f&&(f=newPermission(c,this['new_permission_description']??'')),f&&this['parameter_type']&&(g=newArbitration(c,this['parameter_type'],f,this['data']?.['description']??'',d)));(!g||!f)&&W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.object:'+this['object_address']);if(this['data']['dispute']!=null){const h=await LocalMark['Instance']()['get_address'](this['data']['dispute']['order']);!h&&W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.dispute.order:'+this['data']['dispute']['order']);const i=await dispute(b,c,g,this['parameter_type'],h,this['data']['dispute']['description'],this['data']['dispute']['proposition'],this['data']['dispute']['fee'],d);await this['new_with_mark'](b,c,ObjectType['Arb'],a130a(c,i,this['parameter_type']),GetObject(this['data']?.['dispute']['namedArb']));}this['data']['description']!=null&&this['object_address']&&description_set(c,g,this['parameter_type'],f,this['data']['description'],d);this['data']['location']!=null&&location_set(c,g,this['parameter_type'],f,this['data']['location'],d);this['data']['fee']!=null&&fee_set(c,g,this['parameter_type'],f,this['data']['fee'],d);this['data']['pause']!=null&&pause(c,g,this['parameter_type'],f,this['data']['pause'],d);if(this['data']['confirm']!=null){const j=await LocalMark['Instance']()['get_address'](this['data']['confirm']['arb']);j?confirm(c,g,this['parameter_type'],f,j,this['data']['confirm']['voting_deadline'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.confirm.arb:'+this['data']['confirm']['arb']);}if(this['data']['voting_deadline_change']!=null){const k=await LocalMark['Instance']()['get_address'](this['data']['voting_deadline_change']['arb']);k?voting_deadline_change(c,g,this['parameter_type'],f,k,this['data']['voting_deadline_change']['voting_deadline'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.voting_deadline_change.arb:'+this['data']['voting_deadline_change']['arb']);}if(this['data']['vote']!=null){const l=await LocalMark['Instance']()['get_address'](this['data']['vote']['arb']);l?vote(c,g,this['parameter_type'],f,l,this['data']['vote']['votes'],this['data']['vote']['voting_guard'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.vote.arb:'+this['data']['vote']['arb']);}if(this['data']['feedback']!=null){const m=await LocalMark['Instance']()['get_address'](this['data']['feedback']['arb']);m?feedback(c,g,this['parameter_type'],f,m,this['data']['feedback']['feedback'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.feedback.arb:'+this['data']['feedback']['arb']);}if(this['data']['arbitration']!=null){const n=await LocalMark['Instance']()['get_address'](this['data']['arbitration']['arb']);n?arbitration(c,g,this['parameter_type'],f,n,this['data']['arbitration']['feedback'],this['data']['arbitration']['indemnity'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.arbitration.arb:'+this['data']['arbitration']['arb']);}if(this['data']['reset']!=null){const o=await LocalMark['Instance']()['get_address'](this['data']['reset']['arb']);o?reset(c,g,this['parameter_type'],f,o,this['data']['reset']['feedback'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.reset.arb:'+this['data']['reset']['arb']);}if(this['data']['arb_withdraw']!=null){const q=await LocalMark['Instance']()['get_address'](this['data']['arb_withdraw']['arb']);q?arb_withdraw(c,g,this['parameter_type'],f,q,d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.arb_withdraw.arb:'+this['data']['arb_withdraw']['arb']);}if(this['data']['fees_transfer']!=null){let r=undefined;if('allocation'in this['data']['fees_transfer']['to']){const s=await LocalMark['Instance']()['get_address'](this['data']['fees_transfer']['to']['allocation']);s?r=fees_alloc(c,g,this['parameter_type'],f,s,this['data']['fees_transfer']['payment_remark'],this['data']['fees_transfer']['payment_index']):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.fees_transfer.to.allocation:'+this['data']['fees_transfer']['to']['allocation']);}else{if('treasury'in this['data']['fees_transfer']['to']){const u=await LocalMark['Instance']()['get_address'](this['data']['fees_transfer']['to']['treasury']);u?r=fees_transfer(c,g,this['parameter_type'],f,u,this['data']['fees_transfer']['payment_remark'],this['data']['fees_transfer']['payment_index'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.fees_transfer.to.treasury:'+this['data']['fees_transfer']['to']['treasury']);}else W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.fees_withdraw.to\x20is\x20invalid');}this['data']['fees_transfer']['newPayment']!=null&&r&&await this['new_with_mark'](b,c,ObjectType['Payment'],r,this['data']['fees_transfer']['newPayment']);}if(this['data']['usage_guard']!==undefined){if(this['data']['usage_guard']){const v=await LocalMark['Instance']()['get_address'](this['data']['usage_guard']);v&&usage_guard_set(c,g,this['parameter_type'],f,v,d);}else usage_guard_none(c,g,this['parameter_type'],f,d);}if(this['data']['voting_guard']!=null)switch(this['data']['voting_guard']['op']){case'add':case'set':{this['data']['voting_guard']['guards']['length']>MAX_VOTING_GUARD_COUNT&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20count\x20exceeds\x20maximum\x20count\x20'+MAX_VOTING_GUARD_COUNT);this['data']['voting_guard']['op']==='set'&&voting_guard_clear(c,g,this['parameter_type'],f,d);const w=await Promise['all'](this['data']['voting_guard']['guards']['map'](async z=>{const A=await LocalMark['Instance']()['get_address'](z['guard']);return{'originalGuard':z['guard'],'guard':A,'vote_weight':z['vote_weight']};})),x=w['filter'](z=>z['guard']===undefined)['map'](z=>z['originalGuard']);x['length']>0x0&&W_ERROR(WErrors['InvalidParam'],'Invalid\x20voting\x20guards:\x20'+x['join'](',\x20')+'\x20could\x20not\x20be\x20resolved\x20to\x20valid\x20addresses');const y=w['map'](z=>({'guard':z['guard'],'vote_weight':z['vote_weight']}));voting_guard_add(c,g,this['parameter_type'],f,y,d);break;}case'remove':{const z=await LocalMark['Instance']()['get_many_address_availables'](this['data']['voting_guard']['guards']);z['length']>MAX_VOTING_GUARD_COUNT&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20count\x20exceeds\x20maximum\x20count\x20'+MAX_VOTING_GUARD_COUNT);voting_guard_remove(c,g,this['parameter_type'],f,z,d);break;}case'clear':{voting_guard_clear(c,g,this['parameter_type'],f,d);break;}}this['data']['owner_receive']!=null&&this['object_address']&&(this['data']['owner_receive']==='recently'&&(this['data']['owner_receive']=await query_received({'object':this['object_address'],'all_type':!![],'no_cache':b['no_cache'],'network':b['network']})),await owner_receive(c,g,f,this['data']['owner_receive'],this['parameter_type'],A=>PackageAddress+'::arbitration::'+A,d));if(this['data']['um']!==undefined){let A=null;this['data']['um']&&(A=await LocalMark['Instance']()['get_address'](this['data']['um'])||null,!A&&W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.um:'+this['data']['um'])),um_set(c,g,this['parameter_type'],f,A,d);}if(!this['permission_address']){const B=GetObject(this['data']?.['object']);await this['new_with_mark'](b,c,ObjectType['Permission'],a130b(c,f),GetObject(B['permission']));}!this['object_address']&&await this['new_with_mark'](b,c,ObjectType['Arbitration'],create(c,g,this['parameter_type']),GetObject(this['data']?.['object']));}}export const MAX_VOTING_GUARD_COUNT=0x32;export function create(a,b,c){return validObjects([b]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),a['moveCall']({'target':arbitrationFn('create'),'arguments':[toTxObject(a,b)],'typeArguments':[c]});}export function newArbitration(a,b,c,d,e){return validObjects([c]),!IsValidArgType(b)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+b+'\x20is\x20not\x20valid'),!isValidDescription(d)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20description\x20'+d+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),e?a['moveCall']({'target':arbitrationFn('new_with_passport'),'arguments':[toTxObject(a,c),e,a['pure']['string'](d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]}):a['moveCall']({'target':arbitrationFn('new'),'arguments':[toTxObject(a,c),a['pure']['string'](d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]});}export function description_set(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(e)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20description\x20'+e+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),f?a['moveCall']({'target':arbitrationFn('description_set_with_passsport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['string'](e)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('description_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['string'](e)],'typeArguments':[c]});}export function location_set(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidLongName(e)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20location\x20'+e+'\x20is\x20exceeds\x20maximum\x20length\x20'+MAX_LONG_NAME_LENGTH),f?a['moveCall']({'target':arbitrationFn('location_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['string'](e)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('location_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['string'](e)],'typeArguments':[c]});}export function voting_guard_add(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),e['forEach'](g=>{!isValidWowAddress(g['guard'])&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20'+g['guard']+'\x20is\x20not\x20valid');if('GuardIdentifier'in g['vote_weight'])!isValidU8(g['vote_weight']['GuardIdentifier'])&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20'+g['vote_weight']['GuardIdentifier']+'\x20must\x20be\x20u8\x20number'),f?a['moveCall']({'target':arbitrationFn('voting_guard_add_by_id_add_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['object'](g['guard']),a['pure']['u8'](g['vote_weight']['GuardIdentifier'])],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_guard_add_by_id_add'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object'](g['guard']),a['pure']['u8'](g['vote_weight']['GuardIdentifier'])],'typeArguments':[c]});else'FixedValue'in g['vote_weight']&&(!isValidU32(g['vote_weight']['FixedValue'])&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20'+g['vote_weight']['FixedValue']+'\x20must\x20be\x20u32\x20number'),f?a['moveCall']({'target':arbitrationFn('voting_guard_fixed_add_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['object'](g['guard']),a['pure']['u32'](g['vote_weight']['FixedValue']),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_guard_fixed_add'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object'](g['guard']),a['pure']['u32'](g['vote_weight']['FixedValue']),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}));});}export function voting_guard_remove(a,b,c,d,e,f){if(e['length']===0x0)return;validObjects([b,d,...e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f?a['moveCall']({'target':arbitrationFn('voting_guard_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_guard_remove'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]});}export function voting_guard_clear(a,b,c,d,e){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),e?a['moveCall']({'target':arbitrationFn('voting_guard_clear_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),e,a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_guard_clear'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}export function usage_guard_set(a,b,c,d,e,f){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f?a['moveCall']({'target':arbitrationFn('usage_guard_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['object'](e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('usage_guard_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object'](e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}export function usage_guard_none(a,b,c,d,e){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),e?a['moveCall']({'target':arbitrationFn('usage_guard_none_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),e,a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('usage_guard_none'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}export function pause(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f?a['moveCall']({'target':arbitrationFn('pause_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['bool'](e)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('pause'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['bool'](e)],'typeArguments':[c]});}export function fee_set(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidU64(e)&&W_ERROR(WErrors['InvalidParam'],'Fee\x20'+e+'\x20is\x20not\x20valid\x20u64'),f?a['moveCall']({'target':arbitrationFn('fee_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['u64'](e)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('fee_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['u64'](e)],'typeArguments':[c]});}export async function dispute(a,b,d,e,f,g,h,i,j){validObjects([d,f]);!IsValidArgType(e)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+e+'\x20is\x20not\x20valid');!isValidDescription(g)&&W_ERROR(WErrors['IsValidDescription'],'Description\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH);h['length']>MAX_PROPOSITION_COUNT&&W_ERROR(WErrors['InvalidParam'],'Proposition\x20count\x20exceeds\x20maximum\x20count\x20'+MAX_PROPOSITION_COUNT);!isValidArray(h,isValidLongName)&&W_ERROR(WErrors['InvalidParam'],'Proposition\x20'+h+'\x20is\x20not\x20valid\x20array\x20of\x20string,\x20each\x20string\x20must\x20less\x20than\x20'+MAX_LONG_NAME_LENGTH);const k=await getCoinParam(a,b,i,e);return j?b['moveCall']({'target':arbitrationFn('dispute_with_passport'),'arguments':[toTxObject(b,d),j,toTxObject(b,f),b['pure']['string'](g),b['pure']['vector']('string',h),k,b['object']['clock']()],'typeArguments':[e]}):b['moveCall']({'target':arbitrationFn('dispute'),'arguments':[toTxObject(b,d),toTxObject(b,f),b['pure']['string'](g),b['pure']['vector']('string',h),k,b['object']['clock']()],'typeArguments':[e]});}export function vote(a,b,c,d,e,f,g,h){validObjects([b,d,e,g]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidArray(f,isValidU8)&&W_ERROR(WErrors['InvalidParam'],'Votes\x20'+f+'\x20is\x20not\x20valid\x20array\x20of\x20u8'),h?g?a['moveCall']({'target':arbitrationFn('vote_with_voting_guard'),'arguments':[toTxObject(a,b),h,toTxObject(a,e),toTxObject(a,g),a['pure']['vector']('u8',f),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('vote_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),h,toTxObject(a,e),a['pure']['vector']('u8',f),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('vote'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['vector']('u8',f),a['object']['clock']()],'typeArguments':[c]});}export function arbitration(a,b,c,d,e,f,g,h){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Feedback\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),!isValidU64(g)&&W_ERROR(WErrors['InvalidParam'],'Indemnity\x20'+g+'\x20must\x20be\x20u64\x20number'),h?a['moveCall']({'target':arbitrationFn('arbitration_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),h,toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('arbitration'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['clock']()],'typeArguments':[c]});}export function feedback(a,b,c,d,e,f,g){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Feedback\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),g?a['moveCall']({'target':arbitrationFn('feedback_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),g,toTxObject(a,e),a['pure']['string'](f)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('feedback'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f)],'typeArguments':[c]});}export function confirm(a,b,c,d,e,f,g){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f!==null&&!isValidU64(f)&&W_ERROR(WErrors['InvalidParam'],'Voting\x20deadline\x20'+f+'\x20must\x20be\x20u64\x20number\x20or\x20null'),g?a['moveCall']({'target':arbitrationFn('confirm_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),g,toTxObject(a,e),a['pure']['option']('u64',f)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('confirm'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['option']('u64',f)],'typeArguments':[c]});}export function voting_deadline_change(a,b,c,d,e,f,g){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f!==null&&!isValidU64(f)&&W_ERROR(WErrors['InvalidParam'],'Voting\x20deadline\x20'+f+'\x20must\x20be\x20u64\x20number\x20or\x20null'),g?a['moveCall']({'target':arbitrationFn('voting_deadline_change_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),g,toTxObject(a,e),a['pure']['option']('u64',f)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_deadline_change'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['option']('u64',f)],'typeArguments':[c]});}export function reset(a,b,c,d,e,f,g){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Feedback\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),g?a['moveCall']({'target':arbitrationFn('reset_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),g,toTxObject(a,e),a['pure']['string'](f)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('reset'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f)],'typeArguments':[c]});}export function arb_withdraw(a,b,c,d,e,f){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f?a['moveCall']({'target':arbitrationFn('arb_withdraw_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,toTxObject(a,e),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('arb_withdraw'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['object']['clock']()],'typeArguments':[c]});}export function fees_alloc(a,b,c,d,e,f,g,h){return validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Payment\x20remark\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),!isValidU64(g)&&W_ERROR(WErrors['InvalidParam'],'Payment\x20index\x20'+g+'\x20must\x20be\x20u64\x20number'),h?a['moveCall']({'target':arbitrationFn('fees_alloc_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),h,toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('fees_alloc'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}export function fees_transfer(a,b,c,d,e,f,g,h){return validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Payment\x20remark\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),!isValidU64(g)&&W_ERROR(WErrors['InvalidParam'],'Payment\x20index\x20'+g+'\x20must\x20be\x20u64\x20number'),h?a['moveCall']({'target':arbitrationFn('fees_transfer_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),h,toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('fees_transfer'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}export function um_set(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),e?f?a['moveCall']({'target':arbitrationFn('um_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,toTxObject(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('um_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):f?a['moveCall']({'target':arbitrationFn('um_none_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('um_none'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}
1
+ import{toTxObject,isValidDescription,MAX_DESCRIPTION_LENGTH,PackageAddress,isValidU8,isValidU64,GetObjectExisted,GetObject,IsValidArgType,isValidLongName,MAX_LONG_NAME_LENGTH,isValidU32,isValidArray,GetObjectDescription,arbitrationFn}from'../common.js';import{W_ERROR,WErrors}from'../exception.js';import{LocalMark}from'../local/local.js';import{ObjectType}from'../query/object.js';import{owner_receive,parseObjectType,validObjects}from'../util.js';import{CallBase,getCoinParam}from'./base.js';import{BuiltinPermissionIndex,newPermission}from'./permission.js';import{isValidWowAddress}from'../../utils/wow-types.js';import{MAX_PROPOSITION_COUNT}from'./arb.js';import{create as a146a}from'./arb.js';import{create as a146b}from'./permission.js';import{query_received}from'../query/received.js';export class CallArbitration extends CallBase{['data'];['object_address']=undefined;['permission_address']=undefined;['new_permission_description']=undefined;['parameter_type']=undefined;constructor(a){super(),this['data']=a;}async['prepare'](a){await super['prepare'](a);!this['object_address']&&(this['object_address']=await GetObjectExisted(this['data']?.['object']));if(this['object_address']){this['content']=undefined,await this['update_content'](a,ObjectType['Arbitration'],this['object_address']);if(!this['content'])W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.object:'+this['object_address']);this['permission_address']=this['content']['permission'],this['parameter_type']=parseObjectType(this['content']['type_raw'],'arbitration::Arbitration'),!this['permission_address']&&W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.object.permission\x20is\x20empty'),!IsValidArgType(this['parameter_type'])&&W_ERROR(WErrors['IsValidArgType'],'CallArbitration_Data.data.object.type_parameter\x20is\x20empty');}else{const b=GetObject(this['data']['object']);this['permission_address']=await GetObjectExisted(b?.['permission']),this['new_permission_description']=GetObjectDescription(b),this['parameter_type']=b?.['type_parameter'],!IsValidArgType(this['parameter_type'])&&W_ERROR(WErrors['IsValidArgType'],'CallArbitration_Data.data.object.type_parameter\x20invalid');}}async['call'](a){await this['prepare'](a);const b=[],c=[],d=g=>{!b['includes'](g)&&b['push'](g);},e=g=>{this['permission_address']&&!c['includes'](g)&&c['push'](g);},f=this['content'];this['permission_address']&&!this['object_address']&&e(BuiltinPermissionIndex['ARBITRATION_NEW']);this['data']?.['dispute']!=null&&(f['bPaused']&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20is\x20paused\x20and\x20cannot\x20be\x20disputed'),f['usage_guard']&&d(f['usage_guard']));this['permission_address']&&this['data']?.['description']!=null&&this['object_address']&&e(BuiltinPermissionIndex['ARBITRATION_DESCRIPTION']);this['permission_address']&&this['data']?.['location']!=null&&e(BuiltinPermissionIndex['ARBITRATION_LOCATION']);this['permission_address']&&this['data']?.['fee']!=null&&e(BuiltinPermissionIndex['ARBITRATION_FEE']);this['permission_address']&&this['data']?.['usage_guard']!==undefined&&e(BuiltinPermissionIndex['ARBITRATION_USAGE_GUARD']);this['permission_address']&&this['data']?.['vote']!=null&&(this['data']['vote']['voting_guard']=await LocalMark['Instance']()['get_address'](this['data']['vote']['voting_guard']),this['data']['vote']['voting_guard']?d(this['data']['vote']['voting_guard']):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.vote.voting_guard\x20'+this['data']['vote']['voting_guard']+'\x20invalid'));this['permission_address']&&this['data']?.['voting_guard']!=null&&e(BuiltinPermissionIndex['ARBITRATION_VOTING_GUARD']);this['permission_address']&&this['data']?.['pause']!==undefined&&e(BuiltinPermissionIndex['ARBITRATION_PAUSE']);this['permission_address']&&this['data']?.['owner_receive']!=null&&e(BuiltinPermissionIndex['ARBITRATION_OWNER_RECEIVE']);this['permission_address']&&this['data']?.['arbitration']!=null&&e(BuiltinPermissionIndex['ARBITRATION_ARBITRATION']);this['permission_address']&&this['data']?.['feedback']!=null&&e(BuiltinPermissionIndex['ARBITRATION_FEEDBACK']);this['permission_address']&&this['data']?.['confirm']!=null&&e(BuiltinPermissionIndex['ARBITRATION_CONFIRM']);this['permission_address']&&this['data']?.['voting_deadline_change']!=null&&e(BuiltinPermissionIndex['ARBITRATION_VOTING_DEADLINE_CHANGE']);this['permission_address']&&this['data']?.['reset']!=null&&e(BuiltinPermissionIndex['ARBITRATION_RESET']);this['permission_address']&&this['data']?.['arb_withdraw']!=null&&e(BuiltinPermissionIndex['ARBITRATION_ARB_WITHDRAW']);if(this['permission_address']&&this['data']?.['fees_transfer']!=null){if('allocator'in this['data']['fees_transfer']['to'])e(BuiltinPermissionIndex['ARBITRATION_FEES_ALLOC']);else'treasury'in this['data']['fees_transfer']['to']?e(BuiltinPermissionIndex['ARBITRATION_FEES_TRANSFER']):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.fees_withdraw.to\x20is\x20invalid');}this['permission_address']&&this['data']['um']!==undefined&&e(BuiltinPermissionIndex['ARBITRATION_UM']);if(this['permission_address']||b['length']>0x0)return await this['check_permission_and_call'](a,this['permission_address'],c,b);return await this['exec'](a);}async['operate'](b,c,d,e){let f=this['permission_address'],g=this['object_address'];!this['object_address']&&(!f&&(f=newPermission(c,this['new_permission_description']??'')),f&&this['parameter_type']&&(g=newArbitration(c,this['parameter_type'],f,this['data']?.['description']??'',d)));(!g||!f)&&W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.object:'+this['object_address']);if(this['data']['dispute']!=null){const h=await LocalMark['Instance']()['get_address'](this['data']['dispute']['order']);!h&&W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.dispute.order:'+this['data']['dispute']['order']);const i=await dispute(b,c,g,this['parameter_type'],h,this['data']['dispute']['description'],this['data']['dispute']['proposition'],this['data']['dispute']['fee'],d);await this['new_with_mark'](b,c,ObjectType['Arb'],a146a(c,i,this['parameter_type']),GetObject(this['data']?.['dispute']['namedArb']));}this['data']['description']!=null&&this['object_address']&&description_set(c,g,this['parameter_type'],f,this['data']['description'],d);this['data']['location']!=null&&location_set(c,g,this['parameter_type'],f,this['data']['location'],d);this['data']['fee']!=null&&fee_set(c,g,this['parameter_type'],f,this['data']['fee'],d);this['data']['pause']!=null&&pause(c,g,this['parameter_type'],f,this['data']['pause'],d);if(this['data']['confirm']!=null){const j=await LocalMark['Instance']()['get_address'](this['data']['confirm']['arb']);j?confirm(c,g,this['parameter_type'],f,j,this['data']['confirm']['voting_deadline'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.confirm.arb:'+this['data']['confirm']['arb']);}if(this['data']['voting_deadline_change']!=null){const k=await LocalMark['Instance']()['get_address'](this['data']['voting_deadline_change']['arb']);k?voting_deadline_change(c,g,this['parameter_type'],f,k,this['data']['voting_deadline_change']['voting_deadline'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.voting_deadline_change.arb:'+this['data']['voting_deadline_change']['arb']);}if(this['data']['vote']!=null){const l=await LocalMark['Instance']()['get_address'](this['data']['vote']['arb']);l?vote(c,g,this['parameter_type'],f,l,this['data']['vote']['votes'],this['data']['vote']['voting_guard'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.vote.arb:'+this['data']['vote']['arb']);}if(this['data']['feedback']!=null){const m=await LocalMark['Instance']()['get_address'](this['data']['feedback']['arb']);m?feedback(c,g,this['parameter_type'],f,m,this['data']['feedback']['feedback'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.feedback.arb:'+this['data']['feedback']['arb']);}if(this['data']['arbitration']!=null){const n=await LocalMark['Instance']()['get_address'](this['data']['arbitration']['arb']);n?arbitration(c,g,this['parameter_type'],f,n,this['data']['arbitration']['feedback'],this['data']['arbitration']['indemnity'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.arbitration.arb:'+this['data']['arbitration']['arb']);}if(this['data']['reset']!=null){const o=await LocalMark['Instance']()['get_address'](this['data']['reset']['arb']);o?reset(c,g,this['parameter_type'],f,o,this['data']['reset']['feedback'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.reset.arb:'+this['data']['reset']['arb']);}if(this['data']['arb_withdraw']!=null){const q=await LocalMark['Instance']()['get_address'](this['data']['arb_withdraw']['arb']);q?arb_withdraw(c,g,this['parameter_type'],f,q,d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.arb_withdraw.arb:'+this['data']['arb_withdraw']['arb']);}if(this['data']['fees_transfer']!=null){let r=undefined;if('allocation'in this['data']['fees_transfer']['to']){const s=await LocalMark['Instance']()['get_address'](this['data']['fees_transfer']['to']['allocation']);s?r=fees_alloc(c,g,this['parameter_type'],f,s,this['data']['fees_transfer']['payment_remark'],this['data']['fees_transfer']['payment_index']):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.fees_transfer.to.allocation:'+this['data']['fees_transfer']['to']['allocation']);}else{if('treasury'in this['data']['fees_transfer']['to']){const u=await LocalMark['Instance']()['get_address'](this['data']['fees_transfer']['to']['treasury']);u?r=fees_transfer(c,g,this['parameter_type'],f,u,this['data']['fees_transfer']['payment_remark'],this['data']['fees_transfer']['payment_index'],d):W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.fees_transfer.to.treasury:'+this['data']['fees_transfer']['to']['treasury']);}else W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.fees_withdraw.to\x20is\x20invalid');}this['data']['fees_transfer']['newPayment']!=null&&r&&await this['new_with_mark'](b,c,ObjectType['Payment'],r,this['data']['fees_transfer']['newPayment']);}if(this['data']['usage_guard']!==undefined){if(this['data']['usage_guard']){const v=await LocalMark['Instance']()['get_address'](this['data']['usage_guard']);v&&usage_guard_set(c,g,this['parameter_type'],f,v,d);}else usage_guard_none(c,g,this['parameter_type'],f,d);}if(this['data']['voting_guard']!=null)switch(this['data']['voting_guard']['op']){case'add':case'set':{this['data']['voting_guard']['guards']['length']>MAX_VOTING_GUARD_COUNT&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20count\x20exceeds\x20maximum\x20count\x20'+MAX_VOTING_GUARD_COUNT);this['data']['voting_guard']['op']==='set'&&voting_guard_clear(c,g,this['parameter_type'],f,d);const w=await Promise['all'](this['data']['voting_guard']['guards']['map'](async z=>{const A=await LocalMark['Instance']()['get_address'](z['guard']);return{'originalGuard':z['guard'],'guard':A,'vote_weight':z['vote_weight']};})),x=w['filter'](z=>z['guard']===undefined)['map'](z=>z['originalGuard']);x['length']>0x0&&W_ERROR(WErrors['InvalidParam'],'Invalid\x20voting\x20guards:\x20'+x['join'](',\x20')+'\x20could\x20not\x20be\x20resolved\x20to\x20valid\x20addresses');const y=w['map'](z=>({'guard':z['guard'],'vote_weight':z['vote_weight']}));voting_guard_add(c,g,this['parameter_type'],f,y,d);break;}case'remove':{const z=await LocalMark['Instance']()['get_many_address_availables'](this['data']['voting_guard']['guards']);z['length']>MAX_VOTING_GUARD_COUNT&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20count\x20exceeds\x20maximum\x20count\x20'+MAX_VOTING_GUARD_COUNT);voting_guard_remove(c,g,this['parameter_type'],f,z,d);break;}case'clear':{voting_guard_clear(c,g,this['parameter_type'],f,d);break;}}this['data']['owner_receive']!=null&&this['object_address']&&(this['data']['owner_receive']==='recently'&&(this['data']['owner_receive']=await query_received({'object':this['object_address'],'all_type':!![],'no_cache':b['no_cache'],'network':b['network']})),await owner_receive(c,g,f,this['data']['owner_receive'],this['parameter_type'],A=>PackageAddress+'::arbitration::'+A,d));if(this['data']['um']!==undefined){let A=null;this['data']['um']&&(A=await LocalMark['Instance']()['get_address'](this['data']['um'])||null,!A&&W_ERROR(WErrors['InvalidParam'],'CallArbitration_Data.data.um:'+this['data']['um'])),um_set(c,g,this['parameter_type'],f,A,d);}if(!this['permission_address']){const B=GetObject(this['data']?.['object']);await this['new_with_mark'](b,c,ObjectType['Permission'],a146b(c,f),GetObject(B['permission']));}!this['object_address']&&await this['new_with_mark'](b,c,ObjectType['Arbitration'],create(c,g,this['parameter_type']),GetObject(this['data']?.['object']));}}export const MAX_VOTING_GUARD_COUNT=0x32;export function create(a,b,c){return validObjects([b]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),a['moveCall']({'target':arbitrationFn('create'),'arguments':[toTxObject(a,b)],'typeArguments':[c]});}export function newArbitration(a,b,c,d,e){return validObjects([c]),!IsValidArgType(b)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+b+'\x20is\x20not\x20valid'),!isValidDescription(d)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20description\x20'+d+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),e?a['moveCall']({'target':arbitrationFn('new_with_passport'),'arguments':[toTxObject(a,c),e,a['pure']['string'](d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]}):a['moveCall']({'target':arbitrationFn('new'),'arguments':[toTxObject(a,c),a['pure']['string'](d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]});}export function description_set(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(e)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20description\x20'+e+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),f?a['moveCall']({'target':arbitrationFn('description_set_with_passsport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['string'](e)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('description_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['string'](e)],'typeArguments':[c]});}export function location_set(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidLongName(e)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20location\x20'+e+'\x20is\x20exceeds\x20maximum\x20length\x20'+MAX_LONG_NAME_LENGTH),f?a['moveCall']({'target':arbitrationFn('location_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['string'](e)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('location_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['string'](e)],'typeArguments':[c]});}export function voting_guard_add(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),e['forEach'](g=>{!isValidWowAddress(g['guard'])&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20'+g['guard']+'\x20is\x20not\x20valid');if('GuardIdentifier'in g['vote_weight'])!isValidU8(g['vote_weight']['GuardIdentifier'])&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20'+g['vote_weight']['GuardIdentifier']+'\x20must\x20be\x20u8\x20number'),f?a['moveCall']({'target':arbitrationFn('voting_guard_add_by_id_add_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['object'](g['guard']),a['pure']['u8'](g['vote_weight']['GuardIdentifier'])],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_guard_add_by_id_add'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object'](g['guard']),a['pure']['u8'](g['vote_weight']['GuardIdentifier'])],'typeArguments':[c]});else'FixedValue'in g['vote_weight']&&(!isValidU32(g['vote_weight']['FixedValue'])&&W_ERROR(WErrors['InvalidParam'],'Voting\x20guard\x20'+g['vote_weight']['FixedValue']+'\x20must\x20be\x20u32\x20number'),f?a['moveCall']({'target':arbitrationFn('voting_guard_fixed_add_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['object'](g['guard']),a['pure']['u32'](g['vote_weight']['FixedValue']),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_guard_fixed_add'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object'](g['guard']),a['pure']['u32'](g['vote_weight']['FixedValue']),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}));});}export function voting_guard_remove(a,b,c,d,e,f){if(e['length']===0x0)return;validObjects([b,d,...e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f?a['moveCall']({'target':arbitrationFn('voting_guard_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_guard_remove'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]});}export function voting_guard_clear(a,b,c,d,e){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),e?a['moveCall']({'target':arbitrationFn('voting_guard_clear_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),e,a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_guard_clear'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}export function usage_guard_set(a,b,c,d,e,f){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f?a['moveCall']({'target':arbitrationFn('usage_guard_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['object'](e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('usage_guard_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object'](e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}export function usage_guard_none(a,b,c,d,e){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),e?a['moveCall']({'target':arbitrationFn('usage_guard_none_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),e,a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('usage_guard_none'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}export function pause(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f?a['moveCall']({'target':arbitrationFn('pause_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['bool'](e)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('pause'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['bool'](e)],'typeArguments':[c]});}export function fee_set(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidU64(e)&&W_ERROR(WErrors['InvalidParam'],'Fee\x20'+e+'\x20is\x20not\x20valid\x20u64'),f?a['moveCall']({'target':arbitrationFn('fee_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['pure']['u64'](e)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('fee_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['u64'](e)],'typeArguments':[c]});}export async function dispute(a,b,d,e,f,g,h,i,j){validObjects([d,f]);!IsValidArgType(e)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+e+'\x20is\x20not\x20valid');!isValidDescription(g)&&W_ERROR(WErrors['IsValidDescription'],'Description\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH);h['length']>MAX_PROPOSITION_COUNT&&W_ERROR(WErrors['InvalidParam'],'Proposition\x20count\x20exceeds\x20maximum\x20count\x20'+MAX_PROPOSITION_COUNT);!isValidArray(h,isValidLongName)&&W_ERROR(WErrors['InvalidParam'],'Proposition\x20'+h+'\x20is\x20not\x20valid\x20array\x20of\x20string,\x20each\x20string\x20must\x20less\x20than\x20'+MAX_LONG_NAME_LENGTH);const k=await getCoinParam(a,b,i,e);return j?b['moveCall']({'target':arbitrationFn('dispute_with_passport'),'arguments':[toTxObject(b,d),j,toTxObject(b,f),b['pure']['string'](g),b['pure']['vector']('string',h),k,b['object']['clock']()],'typeArguments':[e]}):b['moveCall']({'target':arbitrationFn('dispute'),'arguments':[toTxObject(b,d),toTxObject(b,f),b['pure']['string'](g),b['pure']['vector']('string',h),k,b['object']['clock']()],'typeArguments':[e]});}export function vote(a,b,c,d,e,f,g,h){validObjects([b,d,e,g]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidArray(f,isValidU8)&&W_ERROR(WErrors['InvalidParam'],'Votes\x20'+f+'\x20is\x20not\x20valid\x20array\x20of\x20u8'),h?g?a['moveCall']({'target':arbitrationFn('vote_with_voting_guard'),'arguments':[toTxObject(a,b),h,toTxObject(a,e),toTxObject(a,g),a['pure']['vector']('u8',f),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('vote_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),h,toTxObject(a,e),a['pure']['vector']('u8',f),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('vote'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['vector']('u8',f),a['object']['clock']()],'typeArguments':[c]});}export function arbitration(a,b,c,d,e,f,g,h){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Feedback\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),!isValidU64(g)&&W_ERROR(WErrors['InvalidParam'],'Indemnity\x20'+g+'\x20must\x20be\x20u64\x20number'),h?a['moveCall']({'target':arbitrationFn('arbitration_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),h,toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('arbitration'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['clock']()],'typeArguments':[c]});}export function feedback(a,b,c,d,e,f,g){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Feedback\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),g?a['moveCall']({'target':arbitrationFn('feedback_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),g,toTxObject(a,e),a['pure']['string'](f)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('feedback'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f)],'typeArguments':[c]});}export function confirm(a,b,c,d,e,f,g){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f!==null&&!isValidU64(f)&&W_ERROR(WErrors['InvalidParam'],'Voting\x20deadline\x20'+f+'\x20must\x20be\x20u64\x20number\x20or\x20null'),g?a['moveCall']({'target':arbitrationFn('confirm_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),g,toTxObject(a,e),a['pure']['option']('u64',f)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('confirm'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['option']('u64',f)],'typeArguments':[c]});}export function voting_deadline_change(a,b,c,d,e,f,g){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f!==null&&!isValidU64(f)&&W_ERROR(WErrors['InvalidParam'],'Voting\x20deadline\x20'+f+'\x20must\x20be\x20u64\x20number\x20or\x20null'),g?a['moveCall']({'target':arbitrationFn('voting_deadline_change_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),g,toTxObject(a,e),a['pure']['option']('u64',f)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('voting_deadline_change'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['option']('u64',f)],'typeArguments':[c]});}export function reset(a,b,c,d,e,f,g){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Feedback\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),g?a['moveCall']({'target':arbitrationFn('reset_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),g,toTxObject(a,e),a['pure']['string'](f)],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('reset'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f)],'typeArguments':[c]});}export function arb_withdraw(a,b,c,d,e,f){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),f?a['moveCall']({'target':arbitrationFn('arb_withdraw_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,toTxObject(a,e),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('arb_withdraw'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['object']['clock']()],'typeArguments':[c]});}export function fees_alloc(a,b,c,d,e,f,g,h){return validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Payment\x20remark\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),!isValidU64(g)&&W_ERROR(WErrors['InvalidParam'],'Payment\x20index\x20'+g+'\x20must\x20be\x20u64\x20number'),h?a['moveCall']({'target':arbitrationFn('fees_alloc_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),h,toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('fees_alloc'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}export function fees_transfer(a,b,c,d,e,f,g,h){return validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),!isValidDescription(f)&&W_ERROR(WErrors['InvalidParam'],'Payment\x20remark\x20'+f+'\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),!isValidU64(g)&&W_ERROR(WErrors['InvalidParam'],'Payment\x20index\x20'+g+'\x20must\x20be\x20u64\x20number'),h?a['moveCall']({'target':arbitrationFn('fees_transfer_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),h,toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('fees_transfer'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['pure']['string'](f),a['pure']['u64'](g),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}export function um_set(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Arbitration\x20type\x20'+c+'\x20is\x20not\x20valid'),e?f?a['moveCall']({'target':arbitrationFn('um_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,toTxObject(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('um_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):f?a['moveCall']({'target':arbitrationFn('um_none_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':arbitrationFn('um_none'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}
@@ -1,4 +1,4 @@
1
- import type { SuiTransactionBlockResponse } from "../../client/index.js";
1
+ import type { WowTransactionBlockResponse } from "../../client/index.js";
2
2
  import { Transaction } from "../../transactions/index.js";
3
3
  import type { CallEnv, CoinObject, CoinParam, NamedObject, PassportObject, TxAddress } from "../common.js";
4
4
  import type { ObjectBase, ObjectType } from "../query/object.js";
@@ -18,7 +18,7 @@ export interface CallResponseError {
18
18
  type: "error";
19
19
  error: string;
20
20
  }
21
- export type CallResult = SubmissionCall | SuiTransactionBlockResponse | CallResponseError | ResponseData[] | undefined;
21
+ export type CallResult = SubmissionCall | WowTransactionBlockResponse | CallResponseError | ResponseData[] | undefined;
22
22
  export declare function isCallResultSubmission(result: CallResult): result is SubmissionCall;
23
23
  export declare function ResponseData(response: CallResult | undefined): ResponseData[];
24
24
  export declare class CallBase {
@@ -30,13 +30,13 @@ export declare class CallBase {
30
30
  protected prepare(env: CallEnv): Promise<void>;
31
31
  call(_env: CallEnv): Promise<CallResult>;
32
32
  private env_prepare;
33
- call_with_submission(env: CallEnv, info: SubmissionCall, freezePassport?: boolean): Promise<SuiTransactionBlockResponse | undefined>;
33
+ call_with_submission(env: CallEnv, info: SubmissionCall, freezePassport?: boolean): Promise<WowTransactionBlockResponse | undefined>;
34
34
  protected check_guard_and_call(env: CallEnv, guards_needed: string[]): Promise<CallResult>;
35
35
  protected check_permission_and_call(env: CallEnv, permission: string, permIndex: PermissionIndexType[], guards_needed: string[], checkOwner?: boolean, checkAdmin?: boolean): Promise<CallResult>;
36
- protected check_passport(env: CallEnv, param: SubmissionCall, freezePassport?: boolean): Promise<SuiTransactionBlockResponse>;
37
- protected exec(env: CallEnv): Promise<SuiTransactionBlockResponse>;
36
+ protected check_passport(env: CallEnv, param: SubmissionCall, freezePassport?: boolean): Promise<WowTransactionBlockResponse>;
37
+ protected exec(env: CallEnv): Promise<WowTransactionBlockResponse>;
38
38
  protected new_with_mark(env: CallEnv, tx: Transaction, type: ObjectType, object: TxAddress, named_new?: NamedObject, innerTags?: string[]): Promise<void>;
39
39
  protected update_content(env: CallEnv, type: ObjectType, object?: string): Promise<void>;
40
- protected sign_and_commit(env: CallEnv, tx: Transaction): Promise<SuiTransactionBlockResponse>;
40
+ protected sign_and_commit(env: CallEnv, tx: Transaction): Promise<WowTransactionBlockResponse>;
41
41
  }
42
42
  export declare function getCoinParam(env: CallEnv, tx: Transaction, coin: CoinParam, coinType: string): Promise<CoinObject>;
@@ -1 +1 @@
1
- import{getFullnodeUrl,SuiClient}from'../../client/index.js';import{Transaction}from'../../transactions/index.js';import{isValidWowAddress}from'../../utils/sui-types.js';import{isValidU64,toTxObject}from'../common.js';import{W_ERROR,WErrors}from'../exception.js';import a131a from'lodash';import{Account}from'../local/account.js';import{LocalMark}from'../local/local.js';import{query_objects,queryTableItem_PermissionPerm,queryTableItem_EntityRegistrar,raw2type}from'../query/object.js';import{destroy,freeze,get_guardSubmissions,guardAdd,newPassport,verify}from'./passport.js';import{addObjectTags,TagName,create as a131b}from'./resource.js';import{register_with_resource_forced}from'./entity.js';import{getCallEnvAccount,resolveCallEnv}from'./util.js';import{Config}from'../local/config.js';export function isCallResultSubmission(a){return a?.['submission']&&a?.['submission']?.['length']>0x0;}export function ResponseData(a){if(a?.['digest']){const b=[];return a?.['objectChanges']?.['forEach'](c=>{const d=c?.['objectType'],e=raw2type(d);e&&b['push']({'type':e,'type_raw':d,'object':c?.['objectId'],'version':c?.['version'],'owner':c?.['owner'],'change':c['type']});}),b;}return[];}export class CallBase{['newResource'];['traceMarkNew']=new Map();['content']=undefined;['env_ready']=![];async['operate'](a,b,c,d){}async['prepare'](a){await this['env_prepare'](a);}async['call'](a){return undefined;}async['env_prepare'](a){if(this['env_ready'])return;await resolveCallEnv(a),this['env_ready']=!![];}async['call_with_submission'](a,b,c){return b['guard']['length']>0x0&&(await this['prepare'](a),await this['check_passport'](a,b,c)),undefined;}async['check_guard_and_call'](a,b){a['permission_guard']?.['forEach'](c=>{!isValidWowAddress(c)&&W_ERROR(WErrors['IsValidAddress'],'env\x20permission_guard:\x20'+c),b['push'](c);});if(b['length']>0x0){const c=await get_guardSubmissions(a,b);if(c['submission']['length']>0x0)return{'type':'submission','guard':c['guard'],'submission':c['submission']};return await this['check_passport'](a,c);}else return await this['exec'](a);}async['check_permission_and_call'](a,b,c,d,e,f){let g=![];const h=await query_objects({'objects':[b],'no_cache':a['no_cache'],'network':a['network']});(!h['objects']?.[0x0]||h['objects']?.[0x0]['type']!=='Permission')&&W_ERROR(WErrors['NoPermission'],'permission\x20object\x20not\x20found');const i=h['objects']?.[0x0],j=await getCallEnvAccount(a);g=i['admin']['includes'](j);if(e&&i['builder']!==j)W_ERROR(WErrors['NoPermission'],j+'\x20owner\x20permission\x20required');if(f&&!g)W_ERROR(WErrors['NoPermission'],j+'\x20admin\x20permission\x20required');a['permission_guard']?.['forEach'](k=>{!isValidWowAddress(k)&&W_ERROR(WErrors['IsValidAddress'],'env\x20permission_guard\x20'+k),d['push'](k);});if(c['length']>0x0&&!g){const k=[j,...a['permission_guard']??[]],l=k['map'](async q=>{const r=await queryTableItem_PermissionPerm({'parent':b,'address':q,'no_cache':a['no_cache'],'network':a['network']});if(r&&r['type']==='TableItem_PermissionPerm'){const s=r;return{'address':q,'permissions':s['perm']};}return{'address':q,'permissions':[]};}),m=await Promise['all'](l),n=new Set();m['forEach'](q=>{q['permissions']['forEach'](r=>n['add'](r));});const o=c['filter'](q=>!n['has'](q));o['length']>0x0&&W_ERROR(WErrors['NoPermission'],'Missing\x20permissions\x20'+o['join'](',\x20')+'\x20in\x20'+b);}if(d['length']>0x0){const q=await get_guardSubmissions(a,d);if(q['submission']['length']>0x0)return{'type':'submission','guard':q['guard'],'submission':q['submission']};return await this['check_passport'](a,q);}else return await this['exec'](a);}async['check_passport'](a,b,c){const d=new Transaction(),e=newPassport(d);for(const f of b['guard']){await guardAdd(d,e,f['object'],b['submission']['find'](g=>g['guard']===f['object'])?.['submission']??[],f['impack']);}return verify(d,e),await this['operate'](a,d,e,b['submission']),c?freeze(d,e):destroy(d,e),await this['sign_and_commit'](a,d);}async['exec'](a){const b=new Transaction();return await this['operate'](a,b),await this['sign_and_commit'](a,b);}async['new_with_mark'](a,b,c,d,f,g=[TagName['Launch']]){const h=f?.['tags']?a131a['uniq']([...f['tags'],...g]):a131a['uniq']([...g]);f&&(f['tags']=h,this['traceMarkNew']['set'](c,f));if(!f?.['onChain'])return;if(!this['newResource']){let i;try{i=await queryTableItem_EntityRegistrar({'address':await getCallEnvAccount(a),'no_cache':a['no_cache'],'network':a['network']});}catch(j){}i&&i['type']!=='TableItem_EntityRegistrar'&&W_ERROR(WErrors['NoPermission'],'no\x20entity\x20registrar\x20found');if(i?.['mark_object']){addObjectTags(b,i['mark_object'],{'address':d,'tags':h});return;}else this['newResource']=register_with_resource_forced(b,typeof a['referrer']==='string'?a['referrer']:null);}this['newResource']&&addObjectTags(b,this['newResource'],{'address':d,'tags':h});}async['update_content'](a,b,c){if(this['content']||!c)return;const d=await query_objects({'objects':[c],'no_cache':a['no_cache'],'network':a['network']});(!d['objects']||d?.['objects']?.['length']!==0x1||d?.['objects'][0x0]?.['type']!==b)&&W_ERROR(WErrors['Fail'],'Fetch\x20'+b+'\x20object\x20'+c+'\x20failed'),this['content']=d?.['objects'][0x0];}async['sign_and_commit'](a,b){this['newResource']&&(a131b(b,this['newResource']),this['newResource']=undefined);let c=await Account['Instance']()['sign_and_commit'](b,await getCallEnvAccount(a),a['network']);!c&&W_ERROR(WErrors['Fail'],'sign\x20and\x20commit\x20failed');if(c?.['digest']&&!c?.['objectChanges']){const e=new SuiClient({'url':getFullnodeUrl(await Config['Instance']()['network_get'](a['network']))});c=await e['getTransactionBlock']({'digest':c?.['digest'],'options':{'showObjectChanges':!![]}});}const d=ResponseData(c);for(let f=0x0;f<d['length'];++f){const g=d[f];if(g['type']&&g['change']==='created'){const h=this['traceMarkNew']['get'](g['type']);h&&await LocalMark['Instance']()['put']([{'name':h['name']?{'value':h['name'],'replaceExistName':h['replaceExistName']}:undefined,'address':g['object'],'tags':h?.['tags']?[...h['tags'],g['type']]:[g['type']]}]);}}return c;}}export async function getCoinParam(a,b,c,d){let e;if('balance'in c&&c['balance']!=null)!isValidU64(c['balance'])&&W_ERROR(WErrors['IsValidU64'],'Total\x20pay\x20balance\x20'+c['balance']+'\x20is\x20not\x20valid'),e=await Account['Instance']()['get_coin_object'](b,c['balance'],d,await getCallEnvAccount(a),a['network']);else'coin'in c&&c['coin']!=null&&(typeof c['coin']==='string'?e=await LocalMark['Instance']()['get_address'](c['coin']):e=c['coin']);return!e&&W_ERROR(WErrors['InvalidParam'],'Total\x20pay\x20'+JSON['stringify'](c)+'\x20is\x20allocated\x20failed'),toTxObject(b,e);}
1
+ import{getFullnodeUrl,WowClient}from'../../client/index.js';import{Transaction}from'../../transactions/index.js';import{isValidWowAddress}from'../../utils/wow-types.js';import{isValidU64,toTxObject}from'../common.js';import{W_ERROR,WErrors}from'../exception.js';import a147a from'lodash';import{Account}from'../local/account.js';import{LocalMark}from'../local/local.js';import{query_objects,queryTableItem_PermissionPerm,queryTableItem_EntityRegistrar,raw2type}from'../query/object.js';import{destroy,freeze,get_guardSubmissions,guardAdd,newPassport,verify}from'./passport.js';import{addObjectTags,TagName,create as a147b}from'./resource.js';import{register_with_resource_forced}from'./entity.js';import{getCallEnvAccount,resolveCallEnv}from'./util.js';import{Config}from'../local/config.js';export function isCallResultSubmission(a){return a?.['submission']&&a?.['submission']?.['length']>0x0;}export function ResponseData(a){if(a?.['digest']){const b=[];return a?.['objectChanges']?.['forEach'](c=>{const d=c?.['objectType'],e=raw2type(d);e&&b['push']({'type':e,'type_raw':d,'object':c?.['objectId'],'version':c?.['version'],'owner':c?.['owner'],'change':c['type']});}),b;}return[];}export class CallBase{['newResource'];['traceMarkNew']=new Map();['content']=undefined;['env_ready']=![];async['operate'](a,b,c,d){}async['prepare'](a){await this['env_prepare'](a);}async['call'](a){return undefined;}async['env_prepare'](a){if(this['env_ready'])return;await resolveCallEnv(a),this['env_ready']=!![];}async['call_with_submission'](a,b,c){return b['guard']['length']>0x0&&(await this['prepare'](a),await this['check_passport'](a,b,c)),undefined;}async['check_guard_and_call'](a,b){a['permission_guard']?.['forEach'](c=>{!isValidWowAddress(c)&&W_ERROR(WErrors['IsValidAddress'],'env\x20permission_guard:\x20'+c),b['push'](c);});if(b['length']>0x0){const c=await get_guardSubmissions(a,b);if(c['submission']['length']>0x0)return{'type':'submission','guard':c['guard'],'submission':c['submission']};return await this['check_passport'](a,c);}else return await this['exec'](a);}async['check_permission_and_call'](a,b,c,d,e,f){let g=![];const h=await query_objects({'objects':[b],'no_cache':a['no_cache'],'network':a['network']});(!h['objects']?.[0x0]||h['objects']?.[0x0]['type']!=='Permission')&&W_ERROR(WErrors['NoPermission'],'permission\x20object\x20not\x20found');const i=h['objects']?.[0x0],j=await getCallEnvAccount(a);g=i['admin']['includes'](j);if(e&&i['builder']!==j)W_ERROR(WErrors['NoPermission'],j+'\x20owner\x20permission\x20required');if(f&&!g)W_ERROR(WErrors['NoPermission'],j+'\x20admin\x20permission\x20required');a['permission_guard']?.['forEach'](k=>{!isValidWowAddress(k)&&W_ERROR(WErrors['IsValidAddress'],'env\x20permission_guard\x20'+k),d['push'](k);});if(c['length']>0x0&&!g){const k=[j,...a['permission_guard']??[]],l=k['map'](async q=>{const r=await queryTableItem_PermissionPerm({'parent':b,'address':q,'no_cache':a['no_cache'],'network':a['network']});if(r&&r['type']==='TableItem_PermissionPerm'){const s=r;return{'address':q,'permissions':s['perm']};}return{'address':q,'permissions':[]};}),m=await Promise['all'](l),n=new Set();m['forEach'](q=>{q['permissions']['forEach'](r=>n['add'](r));});const o=c['filter'](q=>!n['has'](q));o['length']>0x0&&W_ERROR(WErrors['NoPermission'],'Missing\x20permissions\x20'+o['join'](',\x20')+'\x20in\x20'+b);}if(d['length']>0x0){const q=await get_guardSubmissions(a,d);if(q['submission']['length']>0x0)return{'type':'submission','guard':q['guard'],'submission':q['submission']};return await this['check_passport'](a,q);}else return await this['exec'](a);}async['check_passport'](a,b,c){const d=new Transaction(),e=newPassport(d);for(const f of b['guard']){await guardAdd(d,e,f['object'],b['submission']['find'](g=>g['guard']===f['object'])?.['submission']??[],f['impack']);}return verify(d,e),await this['operate'](a,d,e,b['submission']),c?freeze(d,e):destroy(d,e),await this['sign_and_commit'](a,d);}async['exec'](a){const b=new Transaction();return await this['operate'](a,b),await this['sign_and_commit'](a,b);}async['new_with_mark'](a,b,c,d,f,g=[TagName['Launch']]){const h=f?.['tags']?a147a['uniq']([...f['tags'],...g]):a147a['uniq']([...g]);f&&(f['tags']=h,this['traceMarkNew']['set'](c,f));if(!f?.['onChain'])return;if(!this['newResource']){let i;try{i=await queryTableItem_EntityRegistrar({'address':await getCallEnvAccount(a),'no_cache':a['no_cache'],'network':a['network']});}catch(j){}i&&i['type']!=='TableItem_EntityRegistrar'&&W_ERROR(WErrors['NoPermission'],'no\x20entity\x20registrar\x20found');if(i?.['mark_object']){addObjectTags(b,i['mark_object'],{'address':d,'tags':h});return;}else this['newResource']=register_with_resource_forced(b,typeof a['referrer']==='string'?a['referrer']:null);}this['newResource']&&addObjectTags(b,this['newResource'],{'address':d,'tags':h});}async['update_content'](a,b,c){if(this['content']||!c)return;const d=await query_objects({'objects':[c],'no_cache':a['no_cache'],'network':a['network']});(!d['objects']||d?.['objects']?.['length']!==0x1||d?.['objects'][0x0]?.['type']!==b)&&W_ERROR(WErrors['Fail'],'Fetch\x20'+b+'\x20object\x20'+c+'\x20failed'),this['content']=d?.['objects'][0x0];}async['sign_and_commit'](a,b){this['newResource']&&(a147b(b,this['newResource']),this['newResource']=undefined);let c=await Account['Instance']()['sign_and_commit'](b,await getCallEnvAccount(a),a['network']);!c&&W_ERROR(WErrors['Fail'],'sign\x20and\x20commit\x20failed');if(c?.['digest']&&!c?.['objectChanges']){const e=new WowClient({'url':getFullnodeUrl(await Config['Instance']()['network_get'](a['network']))});c=await e['getTransactionBlock']({'digest':c?.['digest'],'options':{'showObjectChanges':!![]}});}const d=ResponseData(c);for(let f=0x0;f<d['length'];++f){const g=d[f];if(g['type']&&g['change']==='created'){const h=this['traceMarkNew']['get'](g['type']);h&&await LocalMark['Instance']()['put']([{'name':h['name']?{'value':h['name'],'replaceExistName':h['replaceExistName']}:undefined,'address':g['object'],'tags':h?.['tags']?[...h['tags'],g['type']]:[g['type']]}]);}}return c;}}export async function getCoinParam(a,b,c,d){let e;if('balance'in c&&c['balance']!=null)!isValidU64(c['balance'])&&W_ERROR(WErrors['IsValidU64'],'Total\x20pay\x20balance\x20'+c['balance']+'\x20is\x20not\x20valid'),e=await Account['Instance']()['get_coin_object'](b,c['balance'],d,await getCallEnvAccount(a),a['network']);else'coin'in c&&c['coin']!=null&&(typeof c['coin']==='string'?e=await LocalMark['Instance']()['get_address'](c['coin']):e=c['coin']);return!e&&W_ERROR(WErrors['InvalidParam'],'Total\x20pay\x20'+JSON['stringify'](c)+'\x20is\x20allocated\x20failed'),toTxObject(b,e);}