wowok 2.1.40 → 2.1.41

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 (399) hide show
  1. package/dist/cjs/bcs/bcs.js +1 -253
  2. package/dist/cjs/bcs/effects.js +1 -199
  3. package/dist/cjs/bcs/index.js +1 -51
  4. package/dist/cjs/bcs/pure.js +1 -36
  5. package/dist/cjs/bcs/type-tag-serializer.js +1 -104
  6. package/dist/cjs/bcs/types.js +1 -3
  7. package/dist/cjs/client/index.js +1 -4
  8. package/dist/cjs/client/network.js +1 -15
  9. package/dist/cjs/cryptography/index.js +1 -6
  10. package/dist/cjs/cryptography/intent.js +1 -14
  11. package/dist/cjs/cryptography/keypair.js +1 -74
  12. package/dist/cjs/cryptography/mnemonics.js +1 -20
  13. package/dist/cjs/cryptography/publickey.js +1 -80
  14. package/dist/cjs/cryptography/signature-scheme.js +1 -22
  15. package/dist/cjs/cryptography/signature.js +1 -41
  16. package/dist/cjs/experimental/cache.js +1 -58
  17. package/dist/cjs/experimental/client.js +1 -19
  18. package/dist/cjs/experimental/core.js +1 -80
  19. package/dist/cjs/experimental/errors.js +1 -24
  20. package/dist/cjs/experimental/index.js +1 -5
  21. package/dist/cjs/experimental/persistent-storage.js +1 -220
  22. package/dist/cjs/experimental/persistent-storage.test.js +1 -144
  23. package/dist/cjs/experimental/transports/utils.js +1 -96
  24. package/dist/cjs/experimental/types.js +1 -1
  25. package/dist/cjs/faucet/faucet.js +1 -99
  26. package/dist/cjs/faucet/index.js +1 -1
  27. package/dist/cjs/grpc/client.js +1 -42
  28. package/dist/cjs/grpc/core.js +1 -587
  29. package/dist/cjs/grpc/index.js +1 -2
  30. package/dist/cjs/grpc/proto/google/protobuf/any.js +1 -106
  31. package/dist/cjs/grpc/proto/google/protobuf/duration.js +1 -58
  32. package/dist/cjs/grpc/proto/google/protobuf/empty.js +1 -7
  33. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +1 -47
  34. package/dist/cjs/grpc/proto/google/protobuf/struct.js +1 -191
  35. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +1 -91
  36. package/dist/cjs/grpc/proto/google/rpc/error_details.js +1 -265
  37. package/dist/cjs/grpc/proto/google/rpc/status.js +1 -23
  38. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +1 -46
  39. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +1 -29
  40. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +1 -22
  41. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +1 -54
  42. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +1 -60
  43. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +1 -144
  44. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +1 -271
  45. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +1 -64
  46. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +1 -6
  47. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +1 -62
  48. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +1 -64
  49. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +1 -481
  50. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +1 -40
  51. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +1 -61
  52. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +1 -57
  53. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +1 -39
  54. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +1 -329
  55. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +1 -447
  56. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +1 -27
  57. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +1 -206
  58. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +1 -19
  59. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +1 -109
  60. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +1 -90
  61. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +1 -30
  62. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +1 -39
  63. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +1 -30
  64. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +1 -501
  65. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +1 -10
  66. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +1 -15
  67. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +1 -62
  68. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +1 -31
  69. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +1 -504
  70. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +1 -15
  71. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +1 -37
  72. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +1 -709
  73. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1 -950
  74. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +1 -19
  75. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +1 -144
  76. package/dist/cjs/index.js +1 -22
  77. package/dist/cjs/jsonRpc/client.js +1 -516
  78. package/dist/cjs/jsonRpc/core.js +1 -587
  79. package/dist/cjs/jsonRpc/errors.js +1 -38
  80. package/dist/cjs/jsonRpc/http-transport.js +1 -70
  81. package/dist/cjs/jsonRpc/index.js +1 -3
  82. package/dist/cjs/jsonRpc/json-rpc-resolver.js +1 -296
  83. package/dist/cjs/jsonRpc/rpc-websocket-client.js +1 -155
  84. package/dist/cjs/jsonRpc/types/chain.js +1 -1
  85. package/dist/cjs/jsonRpc/types/changes.js +1 -1
  86. package/dist/cjs/jsonRpc/types/coins.js +1 -1
  87. package/dist/cjs/jsonRpc/types/common.js +1 -1
  88. package/dist/cjs/jsonRpc/types/generated.js +1 -1
  89. package/dist/cjs/jsonRpc/types/index.js +1 -1
  90. package/dist/cjs/jsonRpc/types/params.js +1 -1
  91. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +1 -58
  92. package/dist/cjs/keypairs/ed25519/index.js +1 -2
  93. package/dist/cjs/keypairs/ed25519/keypair.js +1 -90
  94. package/dist/cjs/keypairs/ed25519/publickey.js +1 -50
  95. package/dist/cjs/keypairs/index.js +1 -4
  96. package/dist/cjs/keypairs/passkey/index.js +1 -2
  97. package/dist/cjs/keypairs/passkey/keypair.js +1 -155
  98. package/dist/cjs/keypairs/passkey/publickey.js +1 -117
  99. package/dist/cjs/keypairs/passkey/types.js +1 -1
  100. package/dist/cjs/keypairs/secp256k1/index.js +1 -2
  101. package/dist/cjs/keypairs/secp256k1/keypair.js +1 -82
  102. package/dist/cjs/keypairs/secp256k1/publickey.js +1 -51
  103. package/dist/cjs/keypairs/secp256r1/index.js +1 -2
  104. package/dist/cjs/keypairs/secp256r1/keypair.js +1 -78
  105. package/dist/cjs/keypairs/secp256r1/publickey.js +1 -52
  106. package/dist/cjs/multisig/index.js +1 -2
  107. package/dist/cjs/multisig/publickey.js +1 -201
  108. package/dist/cjs/multisig/signer.js +1 -58
  109. package/dist/cjs/transactions/Arguments.js +1 -9
  110. package/dist/cjs/transactions/Commands.js +1 -102
  111. package/dist/cjs/transactions/Inputs.js +1 -52
  112. package/dist/cjs/transactions/ObjectCache.js +1 -205
  113. package/dist/cjs/transactions/Transaction.js +1 -574
  114. package/dist/cjs/transactions/TransactionData.js +1 -409
  115. package/dist/cjs/transactions/__tests__/Transaction.test.js +1 -160
  116. package/dist/cjs/transactions/__tests__/bcs.test.js +1 -182
  117. package/dist/cjs/transactions/data/internal.js +1 -169
  118. package/dist/cjs/transactions/data/v1.js +1 -469
  119. package/dist/cjs/transactions/data/v2.js +1 -97
  120. package/dist/cjs/transactions/executor/caching.js +1 -65
  121. package/dist/cjs/transactions/executor/parallel.js +1 -347
  122. package/dist/cjs/transactions/executor/queue.js +1 -59
  123. package/dist/cjs/transactions/executor/serial.js +1 -99
  124. package/dist/cjs/transactions/hash.js +1 -8
  125. package/dist/cjs/transactions/index.js +1 -12
  126. package/dist/cjs/transactions/intents/CoinWithBalance.js +1 -145
  127. package/dist/cjs/transactions/object.js +1 -87
  128. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +1 -11
  129. package/dist/cjs/transactions/pure.js +1 -36
  130. package/dist/cjs/transactions/resolve.js +1 -69
  131. package/dist/cjs/transactions/serializer.js +1 -167
  132. package/dist/cjs/transactions/utils.js +1 -121
  133. package/dist/cjs/utils/constants.js +1 -18
  134. package/dist/cjs/utils/derived-objects.js +1 -8
  135. package/dist/cjs/utils/dynamic-fields.js +1 -17
  136. package/dist/cjs/utils/format.js +1 -11
  137. package/dist/cjs/utils/index.js +1 -8
  138. package/dist/cjs/utils/move-registry.js +1 -24
  139. package/dist/cjs/utils/sui-types.js +1 -66
  140. package/dist/cjs/utils/suins.js +1 -33
  141. package/dist/cjs/verify/index.js +1 -1
  142. package/dist/cjs/verify/verify.js +1 -87
  143. package/dist/cjs/version.js +1 -2
  144. package/dist/cjs/w/call/allocation.js +1 -345
  145. package/dist/cjs/w/call/arb.js +1 -103
  146. package/dist/cjs/w/call/arbitration.js +1 -1192
  147. package/dist/cjs/w/call/base.js +1 -293
  148. package/dist/cjs/w/call/contact.js +1 -345
  149. package/dist/cjs/w/call/demand.js +1 -681
  150. package/dist/cjs/w/call/entity.js +1 -173
  151. package/dist/cjs/w/call/guard-ins.js +1 -4449
  152. package/dist/cjs/w/call/guard.d.ts +111 -0
  153. package/dist/cjs/w/call/guard.js +1 -1048
  154. package/dist/cjs/w/call/index.js +1 -22
  155. package/dist/cjs/w/call/machine.js +1 -1127
  156. package/dist/cjs/w/call/order.js +1 -337
  157. package/dist/cjs/w/call/passport.js +1 -220
  158. package/dist/cjs/w/call/payment.js +1 -178
  159. package/dist/cjs/w/call/permission.js +1 -1162
  160. package/dist/cjs/w/call/personal.js +1 -139
  161. package/dist/cjs/w/call/progress.js +1 -678
  162. package/dist/cjs/w/call/proof.js +1 -66
  163. package/dist/cjs/w/call/repository.js +1 -1024
  164. package/dist/cjs/w/call/resource.js +1 -108
  165. package/dist/cjs/w/call/reward.js +1 -675
  166. package/dist/cjs/w/call/service.js +1 -1960
  167. package/dist/cjs/w/call/treasury.js +1 -873
  168. package/dist/cjs/w/call/util.d.ts +1 -0
  169. package/dist/cjs/w/call/util.js +1 -566
  170. package/dist/cjs/w/common.js +1 -571
  171. package/dist/cjs/w/exception.js +1 -618
  172. package/dist/cjs/w/index.js +1 -8
  173. package/dist/cjs/w/local/account.js +1 -656
  174. package/dist/cjs/w/local/cache.js +1 -161
  175. package/dist/cjs/w/local/config.js +1 -43
  176. package/dist/cjs/w/local/index.js +1 -228
  177. package/dist/cjs/w/local/local.js +1 -574
  178. package/dist/cjs/w/local/storage.js +1 -185
  179. package/dist/cjs/w/local/token.js +1 -131
  180. package/dist/cjs/w/local/util.js +1 -26
  181. package/dist/cjs/w/local/wip.js +1 -864
  182. package/dist/cjs/w/messenger/crypto.js +1 -380
  183. package/dist/cjs/w/messenger/index.js +1 -4
  184. package/dist/cjs/w/messenger/messenger-api.js +1 -1154
  185. package/dist/cjs/w/messenger/messenger-manager.js +1 -1003
  186. package/dist/cjs/w/messenger/messenger.js +1 -1093
  187. package/dist/cjs/w/messenger/server.js +1 -343
  188. package/dist/cjs/w/messenger/session.js +1 -628
  189. package/dist/cjs/w/messenger/storage.js +1 -1023
  190. package/dist/cjs/w/messenger/templates/wts-html-template.js +1 -371
  191. package/dist/cjs/w/messenger/types.js +1 -76
  192. package/dist/cjs/w/messenger/utils.js +1 -12
  193. package/dist/cjs/w/query/bult-in.js +1 -95
  194. package/dist/cjs/w/query/event.js +1 -137
  195. package/dist/cjs/w/query/index.js +1 -5
  196. package/dist/cjs/w/query/object.js +1 -1550
  197. package/dist/cjs/w/query/received.js +1 -62
  198. package/dist/cjs/w/query/util.js +1 -49
  199. package/dist/cjs/w/util.js +1 -587
  200. package/dist/esm/bcs/bcs.js +1 -253
  201. package/dist/esm/bcs/effects.js +1 -199
  202. package/dist/esm/bcs/index.js +1 -51
  203. package/dist/esm/bcs/pure.js +1 -36
  204. package/dist/esm/bcs/type-tag-serializer.js +1 -104
  205. package/dist/esm/bcs/types.js +1 -3
  206. package/dist/esm/client/index.js +1 -4
  207. package/dist/esm/client/network.js +1 -15
  208. package/dist/esm/cryptography/index.js +1 -6
  209. package/dist/esm/cryptography/intent.js +1 -14
  210. package/dist/esm/cryptography/keypair.js +1 -74
  211. package/dist/esm/cryptography/mnemonics.js +1 -20
  212. package/dist/esm/cryptography/publickey.js +1 -80
  213. package/dist/esm/cryptography/signature-scheme.js +1 -22
  214. package/dist/esm/cryptography/signature.js +1 -41
  215. package/dist/esm/experimental/cache.js +1 -58
  216. package/dist/esm/experimental/client.js +1 -19
  217. package/dist/esm/experimental/core.js +1 -80
  218. package/dist/esm/experimental/errors.js +1 -24
  219. package/dist/esm/experimental/index.js +1 -5
  220. package/dist/esm/experimental/persistent-storage.js +1 -220
  221. package/dist/esm/experimental/persistent-storage.test.js +1 -144
  222. package/dist/esm/experimental/transports/utils.js +1 -96
  223. package/dist/esm/experimental/types.js +1 -1
  224. package/dist/esm/faucet/faucet.js +1 -99
  225. package/dist/esm/faucet/index.js +1 -1
  226. package/dist/esm/grpc/client.js +1 -42
  227. package/dist/esm/grpc/core.js +1 -587
  228. package/dist/esm/grpc/index.js +1 -2
  229. package/dist/esm/grpc/proto/google/protobuf/any.js +1 -106
  230. package/dist/esm/grpc/proto/google/protobuf/duration.js +1 -58
  231. package/dist/esm/grpc/proto/google/protobuf/empty.js +1 -7
  232. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +1 -47
  233. package/dist/esm/grpc/proto/google/protobuf/struct.js +1 -191
  234. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +1 -91
  235. package/dist/esm/grpc/proto/google/rpc/error_details.js +1 -265
  236. package/dist/esm/grpc/proto/google/rpc/status.js +1 -23
  237. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +1 -46
  238. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +1 -29
  239. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +1 -22
  240. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +1 -54
  241. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +1 -60
  242. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +1 -144
  243. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +1 -271
  244. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +1 -64
  245. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +1 -6
  246. package/dist/esm/grpc/proto/sui/rpc/v2/event.js +1 -62
  247. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +1 -64
  248. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +1 -481
  249. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +1 -40
  250. package/dist/esm/grpc/proto/sui/rpc/v2/input.js +1 -61
  251. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +1 -57
  252. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +1 -39
  253. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +1 -329
  254. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +1 -447
  255. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +1 -27
  256. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +1 -206
  257. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +1 -19
  258. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +1 -109
  259. package/dist/esm/grpc/proto/sui/rpc/v2/object.js +1 -90
  260. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +1 -30
  261. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +1 -39
  262. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +1 -30
  263. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +1 -501
  264. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +1 -10
  265. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +1 -15
  266. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +1 -62
  267. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +1 -31
  268. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +1 -504
  269. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +1 -15
  270. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +1 -37
  271. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +1 -709
  272. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +1 -950
  273. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +1 -19
  274. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +1 -144
  275. package/dist/esm/index.js +1 -22
  276. package/dist/esm/jsonRpc/client.js +1 -516
  277. package/dist/esm/jsonRpc/core.js +1 -587
  278. package/dist/esm/jsonRpc/errors.js +1 -38
  279. package/dist/esm/jsonRpc/http-transport.js +1 -70
  280. package/dist/esm/jsonRpc/index.js +1 -3
  281. package/dist/esm/jsonRpc/json-rpc-resolver.js +1 -296
  282. package/dist/esm/jsonRpc/rpc-websocket-client.js +1 -155
  283. package/dist/esm/jsonRpc/types/chain.js +1 -1
  284. package/dist/esm/jsonRpc/types/changes.js +1 -1
  285. package/dist/esm/jsonRpc/types/coins.js +1 -1
  286. package/dist/esm/jsonRpc/types/common.js +1 -1
  287. package/dist/esm/jsonRpc/types/generated.js +1 -1
  288. package/dist/esm/jsonRpc/types/index.js +1 -1
  289. package/dist/esm/jsonRpc/types/params.js +1 -1
  290. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +1 -58
  291. package/dist/esm/keypairs/ed25519/index.js +1 -2
  292. package/dist/esm/keypairs/ed25519/keypair.js +1 -90
  293. package/dist/esm/keypairs/ed25519/publickey.js +1 -50
  294. package/dist/esm/keypairs/index.js +1 -4
  295. package/dist/esm/keypairs/passkey/index.js +1 -2
  296. package/dist/esm/keypairs/passkey/keypair.js +1 -155
  297. package/dist/esm/keypairs/passkey/publickey.js +1 -117
  298. package/dist/esm/keypairs/passkey/types.js +1 -1
  299. package/dist/esm/keypairs/secp256k1/index.js +1 -2
  300. package/dist/esm/keypairs/secp256k1/keypair.js +1 -82
  301. package/dist/esm/keypairs/secp256k1/publickey.js +1 -51
  302. package/dist/esm/keypairs/secp256r1/index.js +1 -2
  303. package/dist/esm/keypairs/secp256r1/keypair.js +1 -78
  304. package/dist/esm/keypairs/secp256r1/publickey.js +1 -52
  305. package/dist/esm/multisig/index.js +1 -2
  306. package/dist/esm/multisig/publickey.js +1 -201
  307. package/dist/esm/multisig/signer.js +1 -58
  308. package/dist/esm/transactions/Arguments.js +1 -9
  309. package/dist/esm/transactions/Commands.js +1 -102
  310. package/dist/esm/transactions/Inputs.js +1 -52
  311. package/dist/esm/transactions/ObjectCache.js +1 -205
  312. package/dist/esm/transactions/Transaction.js +1 -574
  313. package/dist/esm/transactions/TransactionData.js +1 -409
  314. package/dist/esm/transactions/__tests__/Transaction.test.js +1 -160
  315. package/dist/esm/transactions/__tests__/bcs.test.js +1 -182
  316. package/dist/esm/transactions/data/internal.js +1 -169
  317. package/dist/esm/transactions/data/v1.js +1 -469
  318. package/dist/esm/transactions/data/v2.js +1 -97
  319. package/dist/esm/transactions/executor/caching.js +1 -65
  320. package/dist/esm/transactions/executor/parallel.js +1 -347
  321. package/dist/esm/transactions/executor/queue.js +1 -59
  322. package/dist/esm/transactions/executor/serial.js +1 -99
  323. package/dist/esm/transactions/hash.js +1 -8
  324. package/dist/esm/transactions/index.js +1 -12
  325. package/dist/esm/transactions/intents/CoinWithBalance.js +1 -145
  326. package/dist/esm/transactions/object.js +1 -87
  327. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +1 -11
  328. package/dist/esm/transactions/pure.js +1 -36
  329. package/dist/esm/transactions/resolve.js +1 -69
  330. package/dist/esm/transactions/serializer.js +1 -167
  331. package/dist/esm/transactions/utils.js +1 -121
  332. package/dist/esm/utils/constants.js +1 -18
  333. package/dist/esm/utils/derived-objects.js +1 -8
  334. package/dist/esm/utils/dynamic-fields.js +1 -17
  335. package/dist/esm/utils/format.js +1 -11
  336. package/dist/esm/utils/index.js +1 -8
  337. package/dist/esm/utils/move-registry.js +1 -24
  338. package/dist/esm/utils/sui-types.js +1 -66
  339. package/dist/esm/utils/suins.js +1 -33
  340. package/dist/esm/verify/index.js +1 -1
  341. package/dist/esm/verify/verify.js +1 -87
  342. package/dist/esm/version.js +1 -2
  343. package/dist/esm/w/call/allocation.js +1 -345
  344. package/dist/esm/w/call/arb.js +1 -103
  345. package/dist/esm/w/call/arbitration.js +1 -1192
  346. package/dist/esm/w/call/base.js +1 -293
  347. package/dist/esm/w/call/contact.js +1 -345
  348. package/dist/esm/w/call/demand.js +1 -681
  349. package/dist/esm/w/call/entity.js +1 -173
  350. package/dist/esm/w/call/guard-ins.js +1 -4449
  351. package/dist/esm/w/call/guard.d.ts +111 -0
  352. package/dist/esm/w/call/guard.js +1 -1048
  353. package/dist/esm/w/call/index.js +1 -22
  354. package/dist/esm/w/call/machine.js +1 -1127
  355. package/dist/esm/w/call/order.js +1 -337
  356. package/dist/esm/w/call/passport.js +1 -220
  357. package/dist/esm/w/call/payment.js +1 -178
  358. package/dist/esm/w/call/permission.js +1 -1162
  359. package/dist/esm/w/call/personal.js +1 -139
  360. package/dist/esm/w/call/progress.js +1 -678
  361. package/dist/esm/w/call/proof.js +1 -66
  362. package/dist/esm/w/call/repository.js +1 -1024
  363. package/dist/esm/w/call/resource.js +1 -108
  364. package/dist/esm/w/call/reward.js +1 -675
  365. package/dist/esm/w/call/service.js +1 -1960
  366. package/dist/esm/w/call/treasury.js +1 -873
  367. package/dist/esm/w/call/util.d.ts +1 -0
  368. package/dist/esm/w/call/util.js +1 -566
  369. package/dist/esm/w/common.js +1 -571
  370. package/dist/esm/w/exception.js +1 -618
  371. package/dist/esm/w/index.js +1 -8
  372. package/dist/esm/w/local/account.js +1 -656
  373. package/dist/esm/w/local/cache.js +1 -161
  374. package/dist/esm/w/local/config.js +1 -43
  375. package/dist/esm/w/local/index.js +1 -228
  376. package/dist/esm/w/local/local.js +1 -574
  377. package/dist/esm/w/local/storage.js +1 -185
  378. package/dist/esm/w/local/token.js +1 -131
  379. package/dist/esm/w/local/util.js +1 -26
  380. package/dist/esm/w/local/wip.js +1 -864
  381. package/dist/esm/w/messenger/crypto.js +1 -380
  382. package/dist/esm/w/messenger/index.js +1 -4
  383. package/dist/esm/w/messenger/messenger-api.js +1 -1154
  384. package/dist/esm/w/messenger/messenger-manager.js +1 -1003
  385. package/dist/esm/w/messenger/messenger.js +1 -1093
  386. package/dist/esm/w/messenger/server.js +1 -343
  387. package/dist/esm/w/messenger/session.js +1 -628
  388. package/dist/esm/w/messenger/storage.js +1 -1023
  389. package/dist/esm/w/messenger/templates/wts-html-template.js +1 -371
  390. package/dist/esm/w/messenger/types.js +1 -76
  391. package/dist/esm/w/messenger/utils.js +1 -12
  392. package/dist/esm/w/query/bult-in.js +1 -95
  393. package/dist/esm/w/query/event.js +1 -137
  394. package/dist/esm/w/query/index.js +1 -5
  395. package/dist/esm/w/query/object.js +1 -1550
  396. package/dist/esm/w/query/received.js +1 -62
  397. package/dist/esm/w/query/util.js +1 -49
  398. package/dist/esm/w/util.js +1 -587
  399. package/package.json +5 -2
@@ -1,1127 +1 @@
1
- import { toTxObject, toTxString, isValidName, isValidDescription, PackageAddress, MAX_NAME_LENGTH, isValidU16, isValidArray, isValidU8, isValidU32, GetObjectExisted, GetObject, GetObjectDescription, machineFn, } from "../common.js";
2
- import { W_ERROR, WErrors } from "../exception.js";
3
- import { ObjectType, query_table, query_objects } from "../query/object.js";
4
- import { writeFileSync } from "fs";
5
- import { CallBase } from "./base.js";
6
- import { BuiltinPermissionIndex, newPermission } from "./permission.js";
7
- import { create as permission_create } from "./permission.js";
8
- import { owner_receive, validObjects } from "../util.js";
9
- import { LocalMark } from "../local/local.js";
10
- import { GetManyAccountOrMark_Address } from "../local/index.js";
11
- import { context_repository_add, context_repository_clear, context_repository_remove, MAX_CONTEXT_REPOSITORY_COUNT, namedOperator_add, namedOperator_remove, namedOperator_set, newProgress, create as createProgress, } from "./progress.js";
12
- import { query_received } from "../query/received.js";
13
- export class CallMachine extends CallBase {
14
- data;
15
- object_address = undefined;
16
- permission_address = undefined;
17
- new_permission_description = undefined;
18
- constructor(data) {
19
- super();
20
- this.data = data;
21
- }
22
- async prepare(env) {
23
- await super.prepare(env);
24
- if (!this.object_address) {
25
- this.object_address = await GetObjectExisted(this.data?.object);
26
- }
27
- if (this.object_address) {
28
- this.content = undefined;
29
- await this.update_content(env, ObjectType.Machine, this.object_address);
30
- if (!this.content)
31
- W_ERROR(WErrors.InvalidParam, "CallMachine_Data.data.object:" + this.object_address);
32
- this.permission_address = this.content.permission;
33
- if (!this.permission_address) {
34
- W_ERROR(WErrors.InvalidParam, "CallMachine_Data.data.object.permission is empty");
35
- }
36
- }
37
- else {
38
- const n = GetObject(this.data.object);
39
- this.permission_address = await GetObjectExisted(n?.permission);
40
- this.new_permission_description = GetObjectDescription(n?.permission);
41
- }
42
- }
43
- async call(env) {
44
- await this.prepare(env);
45
- const perms = [];
46
- const guards = [];
47
- const add_perm = (index) => {
48
- if (this.permission_address && !perms.includes(index)) {
49
- perms.push(index);
50
- }
51
- };
52
- const content = this.content;
53
- if (this.permission_address && !this.object_address) {
54
- add_perm(BuiltinPermissionIndex.MACHINE_NEW);
55
- }
56
- if (this.data?.progress_new != null) {
57
- if (!content) {
58
- W_ERROR(WErrors.InvalidParam, `CallMachine_Data.data.progress_new fail because the Machine ${JSON.stringify(this.data.object)} content not ready`);
59
- }
60
- add_perm(BuiltinPermissionIndex.PROGRESS_NEW);
61
- if (this.data.progress_new.repository != null) {
62
- add_perm(BuiltinPermissionIndex.PROGRESS_CONTEXT_REPOSITORY);
63
- }
64
- if (this.data.progress_new.progress_namedOperator != null) {
65
- add_perm(BuiltinPermissionIndex.PROGRESS_NAMED_OPERATOR);
66
- }
67
- }
68
- if (this.permission_address &&
69
- this.data?.description != null &&
70
- this.object_address) {
71
- add_perm(BuiltinPermissionIndex.MACHINE_DESCRIPTION);
72
- }
73
- if (this.permission_address && this.data.repository) {
74
- add_perm(BuiltinPermissionIndex.MACHINE_CONSENSUS_REPOSITORIES);
75
- }
76
- if (this.permission_address && this.data.node) {
77
- add_perm(BuiltinPermissionIndex.MACHINE_NODE);
78
- }
79
- if (this.permission_address && this.data?.pause !== undefined) {
80
- add_perm(BuiltinPermissionIndex.MACHINE_PAUSE);
81
- }
82
- if (this.permission_address && this.data?.publish !== undefined) {
83
- add_perm(BuiltinPermissionIndex.MACHINE_PUBLISH);
84
- }
85
- if (this.permission_address && this.data?.owner_receive) {
86
- add_perm(BuiltinPermissionIndex.MACHINE_OWNER_RECEIVE);
87
- }
88
- if (this.permission_address && this.data.um !== undefined) {
89
- add_perm(BuiltinPermissionIndex.MACHINE_UM);
90
- }
91
- if (this.permission_address || guards.length > 0) {
92
- return await this.check_permission_and_call(env, this.permission_address, perms, guards);
93
- }
94
- return await this.exec(env);
95
- }
96
- async operate(env, tx, passport, submission) {
97
- let permission = this.permission_address;
98
- let object = this.object_address;
99
- const content = this.content;
100
- if (!this.object_address) {
101
- if (!permission) {
102
- permission = newPermission(tx, this.new_permission_description ?? "");
103
- }
104
- if (permission) {
105
- object = newMachine(tx, toTxObject(tx, permission), this.data?.description ?? "", passport);
106
- }
107
- }
108
- if (!object || !permission) {
109
- W_ERROR(WErrors.InvalidParam, "CallMachine_Data.data.object:" + this.object_address);
110
- }
111
- if (this.data.progress_new != null) {
112
- if (!content) {
113
- W_ERROR(WErrors.InvalidParam, `CallMachine_Data.data.progress_new fail because the Machine ${JSON.stringify(this.data.object)} content not ready`);
114
- }
115
- if (this.data.progress_new.task != null) {
116
- const t = await GetObjectExisted(this.data.progress_new.task);
117
- if (t) {
118
- this.data.progress_new.task = t;
119
- }
120
- else {
121
- W_ERROR(WErrors.InvalidParam, `CallMachine_Data.data.progress_new.task: ${this.data.progress_new.task} not found`);
122
- }
123
- }
124
- const progress = newProgress(tx, object, permission, this.data.progress_new.task ?? null, passport);
125
- if (this.data.progress_new.repository != null) {
126
- switch (this.data.progress_new.repository.op) {
127
- case "add":
128
- case "set": {
129
- if (this.data.progress_new.repository.objects.length >
130
- MAX_CONTEXT_REPOSITORY_COUNT) {
131
- W_ERROR(WErrors.InvalidParam, `CallProgress_Data.data.progress_new.repository.objects exceeds max count:${this.data.progress_new.repository.objects}`);
132
- }
133
- if (this.data.progress_new.repository.op === "set") {
134
- context_repository_clear(tx, progress, object, permission);
135
- }
136
- const r = await LocalMark.Instance().get_many_address_availables(this.data.progress_new.repository.objects);
137
- r.forEach((repo) => {
138
- context_repository_add(tx, progress, object, permission, repo, passport);
139
- });
140
- break;
141
- }
142
- case "remove": {
143
- if (this.data.progress_new.repository.objects.length >
144
- MAX_CONTEXT_REPOSITORY_COUNT) {
145
- W_ERROR(WErrors.InvalidParam, `CallProgress_Data.data.progress_new.repository.objects exceeds max count:${this.data.progress_new.repository.objects}`);
146
- }
147
- const addrs = await LocalMark.Instance().get_many_address_availables(this.data.progress_new.repository.objects);
148
- context_repository_remove(tx, progress, object, permission, addrs, passport);
149
- break;
150
- }
151
- case "clear":
152
- context_repository_clear(tx, progress, object, permission, passport);
153
- break;
154
- }
155
- }
156
- if (this.data.progress_new.progress_namedOperator != null) {
157
- switch (this.data.progress_new.progress_namedOperator.op) {
158
- case "add": {
159
- const r = await GetManyAccountOrMark_Address(this.data.progress_new.progress_namedOperator
160
- .operators);
161
- namedOperator_add(tx, progress, object, permission, this.data.progress_new.progress_namedOperator.name, r, passport);
162
- break;
163
- }
164
- case "set": {
165
- const r = await GetManyAccountOrMark_Address(this.data.progress_new.progress_namedOperator
166
- .operators);
167
- namedOperator_set(tx, progress, object, permission, this.data.progress_new.progress_namedOperator.name, r, passport);
168
- break;
169
- }
170
- case "remove": {
171
- const r = await GetManyAccountOrMark_Address(this.data.progress_new.progress_namedOperator
172
- .operators);
173
- namedOperator_remove(tx, progress, object, permission, this.data.progress_new.progress_namedOperator.name, r, passport);
174
- break;
175
- }
176
- }
177
- }
178
- await this.new_with_mark(env, tx, ObjectType.Progress, createProgress(tx, progress), GetObject(this.data.progress_new.namedNew));
179
- }
180
- if (this.data?.description != null && this.object_address) {
181
- description_set(tx, object, permission, this.data.description, passport);
182
- }
183
- if (this.data.repository) {
184
- switch (this.data.repository.op) {
185
- case "add":
186
- case "set": {
187
- if (this.data.repository.objects.length >
188
- MAX_CONSENSUS_REPOSITORIES_COUNT -
189
- (content?.consensus_repositories?.length ?? 0)) {
190
- W_ERROR(WErrors.InvalidParam, `CallService_Data.data.repository.objects exceeds max count:${this.data.repository.objects}`);
191
- }
192
- if (this.data.repository.op === "set") {
193
- consensus_repositories_clear(tx, object, permission, passport);
194
- }
195
- const r = await LocalMark.Instance().get_many_address_availables(this.data.repository.objects);
196
- r.forEach((repo) => {
197
- consensus_repositories_add(tx, object, permission, repo, passport);
198
- });
199
- break;
200
- }
201
- case "remove": {
202
- if (this.data.repository.objects.length >
203
- (content?.consensus_repositories?.length ?? 0)) {
204
- W_ERROR(WErrors.InvalidParam, `CallService_Data.data.repository.objects exceeds max count:${this.data.repository.objects}`);
205
- }
206
- const addrs = await LocalMark.Instance().get_many_address_availables(this.data.repository.objects);
207
- consensus_repositories_remove(tx, object, permission, addrs, passport);
208
- break;
209
- }
210
- case "clear":
211
- consensus_repositories_clear(tx, object, permission, passport);
212
- break;
213
- }
214
- }
215
- if (this.data.node) {
216
- switch (this.data.node.op) {
217
- case "add":
218
- case "set": {
219
- if (this.data.node.nodes.length > MAX_NODE_COUNT) {
220
- W_ERROR(WErrors.InvalidParam, `CallMachine_Data.data.node.nodes exceeds max count:${this.data.node.nodes}`);
221
- }
222
- if (this.data.node.op === "set") {
223
- node_clear(tx, object, permission, passport);
224
- }
225
- const nodes = await Promise.all(this.data.node.nodes.map(async (n) => await node(tx, n)));
226
- node_add(tx, object, permission, nodes, this.data.node.bReplace ?? false, passport);
227
- break;
228
- }
229
- case "remove": {
230
- if (this.data.node.nodes.length > (content?.node_count ?? 0)) {
231
- W_ERROR(WErrors.InvalidParam, `CallMachine_Data.data.node.nodes exceeds max count:${this.data.node.nodes}`);
232
- }
233
- node_remove(tx, object, permission, this.data.node.nodes, passport);
234
- break;
235
- }
236
- case "clear":
237
- node_clear(tx, object, permission, passport);
238
- break;
239
- case "exchange":
240
- node_exchange_name(tx, object, permission, this.data.node.node_one, this.data.node.node_other, passport);
241
- break;
242
- case "rename":
243
- node_rename(tx, object, permission, this.data.node.node_name_old, this.data.node.node_name_new, passport);
244
- break;
245
- case "add forward": {
246
- for (const item of this.data.node.data) {
247
- const f = await Promise.all(item.forward.map(async (f) => await forward(tx, f)));
248
- await forwards_add(tx, object, permission, item.prior_node_name, item.node_name, f, item.threshold ?? null);
249
- }
250
- break;
251
- }
252
- case "remove forward": {
253
- for (const item of this.data.node.data) {
254
- forwards_remove(tx, object, permission, item.prior_node_name, item.node_name, item.forward_name, null);
255
- }
256
- break;
257
- }
258
- case "remove prior node": {
259
- for (const item of this.data.node.pairs) {
260
- prev_nodes_remove(tx, object, permission, item.node_name, item.prior_node_name);
261
- }
262
- break;
263
- }
264
- }
265
- }
266
- if (this.data.pause != null) {
267
- pause(tx, object, permission, this.data.pause ? true : false, passport);
268
- }
269
- if (this.data.publish != null) {
270
- publish(tx, object, permission, passport);
271
- }
272
- if (this.data.owner_receive != null && this.object_address) {
273
- if (this.data.owner_receive === "recently") {
274
- this.data.owner_receive = await query_received({
275
- object: this.object_address,
276
- all_type: true,
277
- no_cache: env.no_cache,
278
- network: env.network,
279
- });
280
- }
281
- await owner_receive(tx, object, permission, this.data.owner_receive, undefined, (name) => `${PackageAddress}::machine::${name}`, passport);
282
- }
283
- if (this.data.um !== undefined) {
284
- let um_address = null;
285
- if (this.data.um) {
286
- um_address =
287
- (await LocalMark.Instance().get_address(this.data.um)) ||
288
- null;
289
- if (!um_address) {
290
- W_ERROR(WErrors.InvalidParam, "CallMachine_Data.data.um:" + this.data.um);
291
- }
292
- }
293
- um_set(tx, object, permission, um_address, passport);
294
- }
295
- if (!this.permission_address) {
296
- const p = GetObject(this.data?.object);
297
- await this.new_with_mark(env, tx, ObjectType.Permission, permission_create(tx, permission), GetObject(p.permission));
298
- }
299
- if (!this.object_address) {
300
- await this.new_with_mark(env, tx, ObjectType.Machine, create(tx, object), GetObject(this.data?.object));
301
- }
302
- }
303
- }
304
- export const MAX_CONSENSUS_REPOSITORIES_COUNT = 200;
305
- export const MAX_FORWARD_ORDER_COUNT = 20;
306
- export const MAX_NODE_PAIR_COUNT = 40;
307
- export const MAX_NODE_COUNT = 200;
308
- export const THRESHOLD_DEFAULT = 0;
309
- export function init_node_name() {
310
- return "";
311
- }
312
- export async function forward(tx, param) {
313
- if (typeof param.name === "string" && !isValidName(param.name)) {
314
- W_ERROR(WErrors.IsValidName, `Forward name ${param.name} exceeds maximum length ${MAX_NAME_LENGTH}`);
315
- }
316
- if (typeof param.namedOperator === "string" &&
317
- !isValidName(param.namedOperator)) {
318
- W_ERROR(WErrors.IsValidName, `Named operator ${param.namedOperator} exceeds maximum length ${MAX_NAME_LENGTH}`);
319
- }
320
- if (param.permissionIndex !== undefined &&
321
- !isValidU16(param.permissionIndex)) {
322
- W_ERROR(WErrors.IsValidArgType, `Permission index must be between 0 and 65535`);
323
- }
324
- if (!isValidU16(param.weight)) {
325
- W_ERROR(WErrors.InvalidParam, `Weight ${param.weight} must be between 0 and 65535`);
326
- }
327
- if ((param.namedOperator === null || param.namedOperator === undefined) &&
328
- (param.permissionIndex === null || param.permissionIndex === undefined)) {
329
- W_ERROR(WErrors.InvalidParam, `One of the "namedOperator" or "permissionIndex" must be provided`);
330
- }
331
- if (param.guard && param.guard.guard != null) {
332
- const guard = await LocalMark.Instance().get_address(param.guard.guard);
333
- if (guard) {
334
- param.guard.guard = guard;
335
- }
336
- else {
337
- W_ERROR(WErrors.IsValidName, `Guard object ${param.guard.guard} is not a valid wow address`);
338
- }
339
- if (param.guard.retained_submission != null &&
340
- !isValidArray(param.guard.retained_submission, isValidU8)) {
341
- W_ERROR(WErrors.InvalidParam, `Retained submission ${param.guard.retained_submission} must be between 0 and 255`);
342
- }
343
- return tx.moveCall({
344
- target: machineFn("forward_with_guard"),
345
- arguments: [
346
- toTxString(tx, param.name),
347
- tx.pure.option("string", param.namedOperator ?? null),
348
- tx.pure.option("u16", param.permissionIndex ?? null),
349
- tx.pure.u16(param.weight),
350
- toTxObject(tx, param.guard.guard),
351
- tx.pure.vector("u8", param.guard.retained_submission ?? []),
352
- ],
353
- });
354
- }
355
- else {
356
- return tx.moveCall({
357
- target: machineFn("forward"),
358
- arguments: [
359
- toTxString(tx, param.name),
360
- tx.pure.option("string", param.namedOperator ?? null),
361
- tx.pure.option("u16", param.permissionIndex ?? null),
362
- tx.pure.u16(param.weight),
363
- ],
364
- });
365
- }
366
- }
367
- export async function nodepair(tx, prev_node, param) {
368
- if (typeof prev_node === "string" &&
369
- prev_node.length > 0 &&
370
- !isValidName(prev_node)) {
371
- W_ERROR(WErrors.IsValidName, `Previous node name ${prev_node} exceeds maximum length ${MAX_NAME_LENGTH}`);
372
- }
373
- if (typeof param.threshold === "number" && !isValidU32(param.threshold)) {
374
- W_ERROR(WErrors.InvalidParam, `Threshold ${param.threshold} must be between 0 and 4294967295`);
375
- }
376
- if (param.forwards.length > MAX_FORWARD_ORDER_COUNT) {
377
- W_ERROR(WErrors.InvalidParam, `Forward order count ${param.forwards.length} exceeds maximum count ${MAX_FORWARD_ORDER_COUNT}`);
378
- }
379
- if (param.forwards.length > 1) {
380
- const forwards = await Promise.all(param.forwards.map((f) => forward(tx, f)));
381
- return tx.moveCall({
382
- target: machineFn("nodepair3"),
383
- arguments: [
384
- toTxString(tx, prev_node),
385
- tx.pure.option("u32", param.threshold ?? null),
386
- tx.makeMoveVec({
387
- type: `${PackageAddress}::machine::Forward`,
388
- elements: forwards,
389
- }),
390
- ],
391
- });
392
- }
393
- else if (param.forwards.length === 1) {
394
- return tx.moveCall({
395
- target: machineFn("nodepair"),
396
- arguments: [
397
- toTxString(tx, prev_node),
398
- tx.pure.option("u32", param.threshold ?? null),
399
- await forward(tx, param.forwards[0]),
400
- ],
401
- });
402
- }
403
- else {
404
- return tx.moveCall({
405
- target: machineFn("nodepair2"),
406
- arguments: [
407
- toTxString(tx, prev_node),
408
- tx.pure.option("u32", param.threshold ?? null),
409
- ],
410
- });
411
- }
412
- }
413
- export async function node(tx, param) {
414
- if (typeof param.name === "string" && !isValidName(param.name)) {
415
- W_ERROR(WErrors.IsValidName, `Node name ${param.name} exceeds maximum length ${MAX_NAME_LENGTH}`);
416
- }
417
- if (param.name === init_node_name()) {
418
- W_ERROR(WErrors.InvalidParam, `Node name ${param.name} is reserved`);
419
- }
420
- if (param.pairs.length > MAX_NODE_PAIR_COUNT) {
421
- W_ERROR(WErrors.InvalidParam, `Node pair count ${param.pairs.length} exceeds maximum count ${MAX_NODE_PAIR_COUNT}`);
422
- }
423
- if (param.pairs.length > 1) {
424
- const pairs = await Promise.all(param.pairs.map((p) => nodepair(tx, p.prev_node, p)));
425
- return tx.moveCall({
426
- target: machineFn("node3"),
427
- arguments: [
428
- toTxString(tx, param.name),
429
- tx.makeMoveVec({
430
- type: `${PackageAddress}::machine::NodePair`,
431
- elements: pairs,
432
- }),
433
- ],
434
- });
435
- }
436
- else if (param.pairs.length === 1) {
437
- return tx.moveCall({
438
- target: machineFn("node"),
439
- arguments: [
440
- toTxString(tx, param.name),
441
- await nodepair(tx, param.pairs[0].prev_node, param.pairs[0]),
442
- ],
443
- });
444
- }
445
- else {
446
- return tx.moveCall({
447
- target: machineFn("node2"),
448
- arguments: [toTxString(tx, param.name)],
449
- });
450
- }
451
- }
452
- export function create(tx, machine) {
453
- return tx.moveCall({
454
- target: machineFn("create"),
455
- arguments: [toTxObject(tx, machine)],
456
- });
457
- }
458
- export function newMachine(tx, permission, description, passport) {
459
- validObjects([permission]);
460
- if (typeof description === "string" && !isValidDescription(description)) {
461
- W_ERROR(WErrors.IsValidDescription, `Description exceeds maximum length`);
462
- }
463
- if (passport) {
464
- return tx.moveCall({
465
- target: machineFn("new_with_passport"),
466
- arguments: [
467
- toTxObject(tx, permission),
468
- toTxObject(tx, passport),
469
- toTxString(tx, description),
470
- tx.object.mutRegistrar(),
471
- tx.object.clock(),
472
- ],
473
- });
474
- }
475
- else {
476
- return tx.moveCall({
477
- target: machineFn("new"),
478
- arguments: [
479
- toTxObject(tx, permission),
480
- toTxString(tx, description),
481
- tx.object.mutRegistrar(),
482
- tx.object.clock(),
483
- ],
484
- });
485
- }
486
- }
487
- export function description_set(tx, machine, permission, description, passport) {
488
- validObjects([machine, permission]);
489
- if (typeof description === "string" && !isValidDescription(description)) {
490
- W_ERROR(WErrors.IsValidDescription, `Description exceeds maximum length`);
491
- }
492
- if (passport) {
493
- tx.moveCall({
494
- target: machineFn("description_set_with_passport"),
495
- arguments: [
496
- toTxObject(tx, machine),
497
- toTxObject(tx, permission),
498
- toTxObject(tx, passport),
499
- toTxString(tx, description),
500
- ],
501
- });
502
- }
503
- else {
504
- tx.moveCall({
505
- target: machineFn("description_set"),
506
- arguments: [
507
- toTxObject(tx, machine),
508
- toTxObject(tx, permission),
509
- toTxString(tx, description),
510
- ],
511
- });
512
- }
513
- }
514
- export function node_add(tx, machine, permission, node, bCompleteReplace, passport) {
515
- if (node.length === 0) {
516
- return;
517
- }
518
- validObjects([machine, permission]);
519
- if (passport) {
520
- if (node.length > 1) {
521
- tx.moveCall({
522
- target: machineFn("node_add2_with_passport"),
523
- arguments: [
524
- toTxObject(tx, machine),
525
- toTxObject(tx, permission),
526
- toTxObject(tx, passport),
527
- tx.makeMoveVec({
528
- type: `${PackageAddress}::machine::Node`,
529
- elements: node,
530
- }),
531
- tx.pure.bool(bCompleteReplace),
532
- ],
533
- });
534
- }
535
- else {
536
- tx.moveCall({
537
- target: machineFn("node_add_with_passport"),
538
- arguments: [
539
- toTxObject(tx, machine),
540
- toTxObject(tx, permission),
541
- toTxObject(tx, passport),
542
- node[0],
543
- tx.pure.bool(bCompleteReplace),
544
- ],
545
- });
546
- }
547
- }
548
- else {
549
- if (node.length > 1) {
550
- tx.moveCall({
551
- target: machineFn("node_add2"),
552
- arguments: [
553
- toTxObject(tx, machine),
554
- toTxObject(tx, permission),
555
- tx.makeMoveVec({
556
- type: `${PackageAddress}::machine::Node`,
557
- elements: node,
558
- }),
559
- tx.pure.bool(bCompleteReplace),
560
- ],
561
- });
562
- }
563
- else {
564
- tx.moveCall({
565
- target: machineFn("node_add"),
566
- arguments: [
567
- toTxObject(tx, machine),
568
- toTxObject(tx, permission),
569
- node[0],
570
- tx.pure.bool(bCompleteReplace),
571
- ],
572
- });
573
- }
574
- }
575
- }
576
- export function um_set(tx, machine, permission, um, passport) {
577
- validObjects([machine, permission]);
578
- if (um) {
579
- if (passport) {
580
- tx.moveCall({
581
- target: machineFn(`um_set_with_passport`),
582
- arguments: [
583
- toTxObject(tx, machine),
584
- toTxObject(tx, permission),
585
- passport,
586
- toTxObject(tx, um),
587
- tx.object.mutRegistrar(),
588
- tx.object.clock(),
589
- ],
590
- });
591
- }
592
- else {
593
- tx.moveCall({
594
- target: machineFn(`um_set`),
595
- arguments: [
596
- toTxObject(tx, machine),
597
- toTxObject(tx, permission),
598
- toTxObject(tx, um),
599
- tx.object.mutRegistrar(),
600
- tx.object.clock(),
601
- ],
602
- });
603
- }
604
- }
605
- else {
606
- if (passport) {
607
- tx.moveCall({
608
- target: machineFn(`um_none_with_passport`),
609
- arguments: [
610
- toTxObject(tx, machine),
611
- toTxObject(tx, permission),
612
- passport,
613
- tx.object.mutRegistrar(),
614
- ],
615
- });
616
- }
617
- else {
618
- tx.moveCall({
619
- target: machineFn(`um_none`),
620
- arguments: [
621
- toTxObject(tx, machine),
622
- toTxObject(tx, permission),
623
- tx.object.mutRegistrar(),
624
- ],
625
- });
626
- }
627
- }
628
- }
629
- export function node_remove(tx, machine, permission, node, passport) {
630
- if (node.length === 0) {
631
- return;
632
- }
633
- validObjects([machine, permission]);
634
- if (passport) {
635
- if (node.length > 1) {
636
- tx.moveCall({
637
- target: machineFn("node_remove_with_passport"),
638
- arguments: [
639
- toTxObject(tx, machine),
640
- toTxObject(tx, permission),
641
- toTxObject(tx, passport),
642
- tx.pure.vector("string", node),
643
- ],
644
- });
645
- }
646
- else {
647
- tx.moveCall({
648
- target: machineFn("node_remove_with_passport"),
649
- arguments: [
650
- toTxObject(tx, machine),
651
- toTxObject(tx, permission),
652
- toTxObject(tx, passport),
653
- tx.pure.string(node[0]),
654
- ],
655
- });
656
- }
657
- }
658
- else {
659
- if (node.length > 1) {
660
- tx.moveCall({
661
- target: machineFn("node_remove"),
662
- arguments: [
663
- toTxObject(tx, machine),
664
- toTxObject(tx, permission),
665
- tx.pure.vector("string", node),
666
- ],
667
- });
668
- }
669
- else {
670
- tx.moveCall({
671
- target: machineFn("node_remove"),
672
- arguments: [
673
- toTxObject(tx, machine),
674
- toTxObject(tx, permission),
675
- tx.pure.string(node[0]),
676
- ],
677
- });
678
- }
679
- }
680
- }
681
- export function node_rename(tx, machine, permission, node_name, node_new_name, passport) {
682
- if (!node_name || !node_new_name) {
683
- W_ERROR(WErrors.InvalidParam, `Node name ${node_name} or new node name ${node_new_name} is empty`);
684
- }
685
- validObjects([machine, permission]);
686
- if (!isValidName(node_name)) {
687
- W_ERROR(WErrors.InvalidParam, `Node name ${node_name} is invalid`);
688
- }
689
- if (!isValidName(node_new_name)) {
690
- W_ERROR(WErrors.InvalidParam, `New node name ${node_new_name} is invalid`);
691
- }
692
- if (passport) {
693
- tx.moveCall({
694
- target: machineFn("node_rename_with_passport"),
695
- arguments: [
696
- toTxObject(tx, machine),
697
- toTxObject(tx, permission),
698
- toTxObject(tx, passport),
699
- tx.pure.string(node_name),
700
- tx.pure.string(node_new_name),
701
- ],
702
- });
703
- }
704
- else {
705
- tx.moveCall({
706
- target: machineFn("node_rename"),
707
- arguments: [
708
- toTxObject(tx, machine),
709
- toTxObject(tx, permission),
710
- tx.pure.string(node_name),
711
- tx.pure.string(node_new_name),
712
- ],
713
- });
714
- }
715
- }
716
- export function node_exchange_name(tx, machine, permission, node_one, node_other, passport) {
717
- validObjects([machine, permission]);
718
- if (!node_one || !node_other) {
719
- W_ERROR(WErrors.InvalidParam, `Node one ${node_one} or node other ${node_other} is empty`);
720
- }
721
- if (!isValidName(node_one)) {
722
- W_ERROR(WErrors.InvalidParam, `Node one ${node_one} is invalid`);
723
- }
724
- if (!isValidName(node_other)) {
725
- W_ERROR(WErrors.InvalidParam, `Node other ${node_other} is invalid`);
726
- }
727
- if (node_one === node_other) {
728
- W_ERROR(WErrors.InvalidParam, `Node one ${node_one} and node other ${node_other} are same`);
729
- }
730
- if (passport) {
731
- tx.moveCall({
732
- target: machineFn("node_exchange_name_with_passport"),
733
- arguments: [
734
- toTxObject(tx, machine),
735
- toTxObject(tx, permission),
736
- toTxObject(tx, passport),
737
- tx.pure.string(node_one),
738
- tx.pure.string(node_other),
739
- ],
740
- });
741
- }
742
- else {
743
- tx.moveCall({
744
- target: machineFn("node_exchange_name"),
745
- arguments: [
746
- toTxObject(tx, machine),
747
- toTxObject(tx, permission),
748
- tx.pure.string(node_one),
749
- tx.pure.string(node_other),
750
- ],
751
- });
752
- }
753
- }
754
- export function node_clear(tx, machine, permission, passport) {
755
- validObjects([machine, permission]);
756
- if (passport) {
757
- tx.moveCall({
758
- target: machineFn("node_clear_with_passport"),
759
- arguments: [
760
- toTxObject(tx, machine),
761
- toTxObject(tx, permission),
762
- toTxObject(tx, passport),
763
- ],
764
- });
765
- }
766
- else {
767
- tx.moveCall({
768
- target: machineFn("node_clear"),
769
- arguments: [toTxObject(tx, machine), toTxObject(tx, permission)],
770
- });
771
- }
772
- }
773
- export function publish(tx, machine, permission, passport) {
774
- validObjects([machine, permission]);
775
- if (passport) {
776
- tx.moveCall({
777
- target: machineFn("publish_with_passport"),
778
- arguments: [
779
- toTxObject(tx, machine),
780
- toTxObject(tx, permission),
781
- toTxObject(tx, passport),
782
- ],
783
- });
784
- }
785
- else {
786
- tx.moveCall({
787
- target: machineFn("publish"),
788
- arguments: [toTxObject(tx, machine), toTxObject(tx, permission)],
789
- });
790
- }
791
- }
792
- export function pause(tx, machine, permission, bPaused, passport) {
793
- validObjects([machine, permission]);
794
- if (passport) {
795
- tx.moveCall({
796
- target: machineFn("pause_with_passport"),
797
- arguments: [
798
- toTxObject(tx, machine),
799
- toTxObject(tx, permission),
800
- toTxObject(tx, passport),
801
- tx.pure.bool(bPaused),
802
- ],
803
- });
804
- }
805
- else {
806
- tx.moveCall({
807
- target: machineFn("pause"),
808
- arguments: [
809
- toTxObject(tx, machine),
810
- toTxObject(tx, permission),
811
- tx.pure.bool(bPaused),
812
- ],
813
- });
814
- }
815
- }
816
- export function consensus_repositories_add(tx, machine, permission, repository, passport) {
817
- validObjects([machine, permission, repository]);
818
- if (passport) {
819
- tx.moveCall({
820
- target: machineFn("consensus_repositories_add_with_passport"),
821
- arguments: [
822
- toTxObject(tx, machine),
823
- toTxObject(tx, permission),
824
- toTxObject(tx, passport),
825
- toTxObject(tx, repository),
826
- tx.object.mutRegistrar(),
827
- tx.object.clock(),
828
- ],
829
- });
830
- }
831
- else {
832
- tx.moveCall({
833
- target: machineFn("consensus_repositories_add"),
834
- arguments: [
835
- toTxObject(tx, machine),
836
- toTxObject(tx, permission),
837
- toTxObject(tx, repository),
838
- tx.object.mutRegistrar(),
839
- tx.object.clock(),
840
- ],
841
- });
842
- }
843
- }
844
- export function consensus_repositories_remove(tx, machine, permission, repositories, passport) {
845
- if (!repositories || repositories.length === 0) {
846
- return;
847
- }
848
- validObjects([machine, permission, ...repositories]);
849
- if (passport) {
850
- tx.moveCall({
851
- target: machineFn("consensus_repositories_remove_with_passport"),
852
- arguments: [
853
- toTxObject(tx, machine),
854
- toTxObject(tx, permission),
855
- toTxObject(tx, passport),
856
- tx.pure.vector("string", repositories),
857
- tx.object.mutRegistrar(),
858
- ],
859
- });
860
- }
861
- else {
862
- tx.moveCall({
863
- target: machineFn("consensus_repositories_remove"),
864
- arguments: [
865
- toTxObject(tx, machine),
866
- toTxObject(tx, permission),
867
- tx.pure.vector("string", repositories),
868
- tx.object.mutRegistrar(),
869
- ],
870
- });
871
- }
872
- }
873
- export function consensus_repositories_clear(tx, machine, permission, passport) {
874
- validObjects([machine, permission]);
875
- if (passport) {
876
- tx.moveCall({
877
- target: machineFn("consensus_repositories_clear_with_passport"),
878
- arguments: [
879
- toTxObject(tx, machine),
880
- toTxObject(tx, permission),
881
- toTxObject(tx, passport),
882
- tx.object.mutRegistrar(),
883
- ],
884
- });
885
- }
886
- else {
887
- tx.moveCall({
888
- target: machineFn("consensus_repositories_clear"),
889
- arguments: [
890
- toTxObject(tx, machine),
891
- toTxObject(tx, permission),
892
- tx.object.mutRegistrar(),
893
- ],
894
- });
895
- }
896
- }
897
- export async function forwards_add(tx, machine, permission, node_name, next_node_name, forwards, threshold, passport) {
898
- if (!forwards || forwards.length === 0) {
899
- return;
900
- }
901
- validObjects([machine, permission]);
902
- if (threshold !== null && !isValidU32(threshold)) {
903
- W_ERROR(WErrors.InvalidParam, `threshold ${threshold} must be u32`);
904
- }
905
- if (!isValidName(node_name)) {
906
- W_ERROR(WErrors.InvalidParam, `node_name ${node_name} is excceed max length ${MAX_NAME_LENGTH}`);
907
- }
908
- if (!isValidName(next_node_name)) {
909
- W_ERROR(WErrors.InvalidParam, `next_node_name ${next_node_name} is excceed max length ${MAX_NAME_LENGTH}`);
910
- }
911
- if (passport) {
912
- tx.moveCall({
913
- target: machineFn("forwards_add_with_passport"),
914
- arguments: [
915
- toTxObject(tx, machine),
916
- toTxObject(tx, permission),
917
- toTxObject(tx, passport),
918
- toTxString(tx, node_name),
919
- toTxString(tx, next_node_name),
920
- tx.makeMoveVec({
921
- type: `${PackageAddress}::machine::Forward`,
922
- elements: forwards,
923
- }),
924
- tx.pure.option("u32", threshold ?? null),
925
- ],
926
- });
927
- }
928
- else {
929
- tx.moveCall({
930
- target: machineFn("forwards_add"),
931
- arguments: [
932
- toTxObject(tx, machine),
933
- toTxObject(tx, permission),
934
- toTxString(tx, node_name),
935
- toTxString(tx, next_node_name),
936
- tx.makeMoveVec({
937
- type: `${PackageAddress}::machine::Forward`,
938
- elements: forwards,
939
- }),
940
- tx.pure.option("u32", threshold ?? null),
941
- ],
942
- });
943
- }
944
- }
945
- export function forwards_remove(tx, machine, permission, node_name, next_node_name, forwards, threshold, passport) {
946
- if (!forwards || forwards.length === 0) {
947
- return;
948
- }
949
- validObjects([machine, permission, ...forwards]);
950
- if (!isValidName(node_name)) {
951
- W_ERROR(WErrors.InvalidParam, `node_name ${node_name} is excceed max length ${MAX_NAME_LENGTH}`);
952
- }
953
- if (!isValidName(next_node_name)) {
954
- W_ERROR(WErrors.InvalidParam, `next_node_name ${next_node_name} is excceed max length ${MAX_NAME_LENGTH}`);
955
- }
956
- if (threshold !== null && !isValidU32(threshold)) {
957
- W_ERROR(WErrors.InvalidParam, `threshold ${threshold} must be u32`);
958
- }
959
- if (passport) {
960
- tx.moveCall({
961
- target: machineFn("forwards_remove_with_passport"),
962
- arguments: [
963
- toTxObject(tx, machine),
964
- toTxObject(tx, permission),
965
- toTxObject(tx, passport),
966
- toTxString(tx, node_name),
967
- toTxString(tx, next_node_name),
968
- tx.pure.vector("string", forwards),
969
- tx.pure.option("u32", threshold ?? null),
970
- ],
971
- });
972
- }
973
- else {
974
- tx.moveCall({
975
- target: machineFn("forwards_remove"),
976
- arguments: [
977
- toTxObject(tx, machine),
978
- toTxObject(tx, permission),
979
- toTxString(tx, node_name),
980
- toTxString(tx, next_node_name),
981
- tx.pure.vector("string", forwards),
982
- tx.pure.option("u32", threshold ?? null),
983
- ],
984
- });
985
- }
986
- }
987
- export function prev_nodes_remove(tx, machine, permission, node_name, prev_node_names, passport) {
988
- if (prev_node_names.length === 0) {
989
- return;
990
- }
991
- validObjects([machine, permission]);
992
- if (!isValidName(node_name)) {
993
- W_ERROR(WErrors.InvalidParam, `node_name ${node_name} is excceed max length ${MAX_NAME_LENGTH}`);
994
- }
995
- for (const prev_node_name of prev_node_names) {
996
- if (!isValidName(prev_node_name)) {
997
- W_ERROR(WErrors.InvalidParam, `prev_node_name ${prev_node_name} is excceed max length ${MAX_NAME_LENGTH}`);
998
- }
999
- }
1000
- if (passport) {
1001
- tx.moveCall({
1002
- target: machineFn("prev_nodes_remove_with_passport"),
1003
- arguments: [
1004
- toTxObject(tx, machine),
1005
- toTxObject(tx, permission),
1006
- toTxObject(tx, passport),
1007
- toTxString(tx, node_name),
1008
- tx.pure.vector("string", prev_node_names),
1009
- ],
1010
- });
1011
- }
1012
- else {
1013
- tx.moveCall({
1014
- target: machineFn("prev_nodes_remove"),
1015
- arguments: [
1016
- toTxObject(tx, machine),
1017
- toTxObject(tx, permission),
1018
- toTxString(tx, node_name),
1019
- tx.pure.vector("string", prev_node_names),
1020
- ],
1021
- });
1022
- }
1023
- }
1024
- export const machineNode2file = async (machine, file_path, format = "json", network) => {
1025
- const machineAddr = await LocalMark.Instance().get_address(machine);
1026
- if (!machineAddr) {
1027
- throw new Error(`Machine object ${machine} not found`);
1028
- }
1029
- const machineQueryResult = await query_objects({
1030
- objects: [machineAddr],
1031
- network: network,
1032
- });
1033
- if (!machineQueryResult?.objects ||
1034
- machineQueryResult.objects.length === 0) {
1035
- throw new Error(`Machine object ${machine} (${machineAddr}) not found on chain`);
1036
- }
1037
- const machineObj = machineQueryResult.objects[0];
1038
- if (machineObj.type !== "Machine") {
1039
- throw new Error(`Object ${machine} is not a Machine, found type: ${machineObj.type}`);
1040
- }
1041
- const tableQuery = {
1042
- parent: machineAddr,
1043
- network: network,
1044
- };
1045
- const tableResult = await query_table(tableQuery);
1046
- if (!tableResult?.items || tableResult.items.length === 0) {
1047
- throw new Error(`No nodes found in machine ${machine}`);
1048
- }
1049
- const nodeObjectIds = tableResult.items.map((item) => item.object);
1050
- const nodeQueryResult = await query_objects({
1051
- objects: nodeObjectIds,
1052
- network: network,
1053
- });
1054
- if (!nodeQueryResult?.objects || nodeQueryResult.objects.length === 0) {
1055
- throw new Error(`Failed to fetch any nodes from machine ${machine}`);
1056
- }
1057
- const nodes = nodeQueryResult.objects
1058
- .filter((obj) => obj.type === "TableItem_MachineNode")
1059
- .map((obj) => {
1060
- const nodeObj = obj;
1061
- return {
1062
- name: nodeObj.name,
1063
- pairs: nodeObj.value,
1064
- };
1065
- });
1066
- if (nodes.length === 0) {
1067
- throw new Error(`Failed to fetch any nodes from machine ${machine}`);
1068
- }
1069
- let content;
1070
- if (format === "json") {
1071
- content = JSON.stringify(nodes, null, 2);
1072
- }
1073
- else {
1074
- const machineId = machineObj.object;
1075
- content = generateMachineNodeMarkdown(nodes, machine, machineAddr, machineId);
1076
- }
1077
- writeFileSync(file_path, content, "utf-8");
1078
- };
1079
- function generateMachineNodeMarkdown(nodes, machineName, machineAddr, machineId) {
1080
- let md = `# Machine Node Definition\n\n`;
1081
- md += `**Machine:** ${machineName}\n\n`;
1082
- md += `**Address:** ${machineAddr}\n\n`;
1083
- if (machineId) {
1084
- md += `**ID:** ${machineId}\n\n`;
1085
- }
1086
- md += `**Total Nodes:** ${nodes.length}\n\n`;
1087
- md += `---\n\n`;
1088
- for (const node of nodes) {
1089
- md += `## Node: ${node.name}\n\n`;
1090
- for (const pair of node.pairs) {
1091
- md += `### Pair: ${pair.prev_node}\n\n`;
1092
- md += `- **prev_node**: ${pair.prev_node}\n`;
1093
- md += `- **threshold**: ${pair.threshold}\n\n`;
1094
- if (pair.forwards && pair.forwards.length > 0) {
1095
- md += `#### Forwards\n\n`;
1096
- md += `| name | weight | namedOperator | permissionIndex | guard |\n`;
1097
- md += `|------|--------|---------------|-----------------|-------|\n`;
1098
- for (const forward of pair.forwards) {
1099
- const namedOp = forward.namedOperator || "";
1100
- const permIdx = forward.permissionIndex?.toString() || "";
1101
- const guard = forward.guard?.guard || "";
1102
- md += `| ${forward.name} | ${forward.weight} | ${namedOp} | ${permIdx} | ${guard} |\n`;
1103
- }
1104
- md += `\n`;
1105
- }
1106
- }
1107
- md += `---\n\n`;
1108
- }
1109
- md += `## JSON Definition\n\n`;
1110
- md += `\`\`\`json\n`;
1111
- md += JSON.stringify(nodes, null, 2);
1112
- md += `\n\`\`\`\n`;
1113
- return md;
1114
- }
1115
- export function prev_nodes_remove_with_passport(tx, machine, permission, passport, node_name, prev_node_names) {
1116
- validObjects([machine, permission, passport]);
1117
- tx.moveCall({
1118
- target: machineFn("prev_nodes_remove_with_passport"),
1119
- arguments: [
1120
- toTxObject(tx, machine),
1121
- toTxObject(tx, permission),
1122
- toTxObject(tx, passport),
1123
- toTxString(tx, node_name),
1124
- tx.pure.vector("string", prev_node_names),
1125
- ],
1126
- });
1127
- }
1
+ import{toTxObject,toTxString,isValidName,isValidDescription,PackageAddress,MAX_NAME_LENGTH,isValidU16,isValidArray,isValidU8,isValidU32,GetObjectExisted,GetObject,GetObjectDescription,machineFn}from'../common.js';import{W_ERROR,WErrors}from'../exception.js';import{ObjectType,query_table,query_objects}from'../query/object.js';import{writeFileSync}from'fs';import{CallBase}from'./base.js';import{BuiltinPermissionIndex,newPermission}from'./permission.js';import{create as a153a}from'./permission.js';import{owner_receive,validObjects}from'../util.js';import{LocalMark}from'../local/local.js';import{GetManyAccountOrMark_Address}from'../local/index.js';import{context_repository_add,context_repository_clear,context_repository_remove,MAX_CONTEXT_REPOSITORY_COUNT,namedOperator_add,namedOperator_remove,namedOperator_set,newProgress,create as a153b}from'./progress.js';import{query_received}from'../query/received.js';export class CallMachine extends CallBase{['data'];['object_address']=undefined;['permission_address']=undefined;['new_permission_description']=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['Machine'],this['object_address']);if(!this['content'])W_ERROR(WErrors['InvalidParam'],'CallMachine_Data.data.object:'+this['object_address']);this['permission_address']=this['content']['permission'],!this['permission_address']&&W_ERROR(WErrors['InvalidParam'],'CallMachine_Data.data.object.permission\x20is\x20empty');}else{const b=GetObject(this['data']['object']);this['permission_address']=await GetObjectExisted(b?.['permission']),this['new_permission_description']=GetObjectDescription(b?.['permission']);}}async['call'](a){await this['prepare'](a);const b=[],c=[],d=f=>{this['permission_address']&&!b['includes'](f)&&b['push'](f);},e=this['content'];this['permission_address']&&!this['object_address']&&d(BuiltinPermissionIndex['MACHINE_NEW']);this['data']?.['progress_new']!=null&&(!e&&W_ERROR(WErrors['InvalidParam'],'CallMachine_Data.data.progress_new\x20fail\x20because\x20the\x20Machine\x20'+JSON['stringify'](this['data']['object'])+'\x20content\x20not\x20ready'),d(BuiltinPermissionIndex['PROGRESS_NEW']),this['data']['progress_new']['repository']!=null&&d(BuiltinPermissionIndex['PROGRESS_CONTEXT_REPOSITORY']),this['data']['progress_new']['progress_namedOperator']!=null&&d(BuiltinPermissionIndex['PROGRESS_NAMED_OPERATOR']));this['permission_address']&&this['data']?.['description']!=null&&this['object_address']&&d(BuiltinPermissionIndex['MACHINE_DESCRIPTION']);this['permission_address']&&this['data']['repository']&&d(BuiltinPermissionIndex['MACHINE_CONSENSUS_REPOSITORIES']);this['permission_address']&&this['data']['node']&&d(BuiltinPermissionIndex['MACHINE_NODE']);this['permission_address']&&this['data']?.['pause']!==undefined&&d(BuiltinPermissionIndex['MACHINE_PAUSE']);this['permission_address']&&this['data']?.['publish']!==undefined&&d(BuiltinPermissionIndex['MACHINE_PUBLISH']);this['permission_address']&&this['data']?.['owner_receive']&&d(BuiltinPermissionIndex['MACHINE_OWNER_RECEIVE']);this['permission_address']&&this['data']['um']!==undefined&&d(BuiltinPermissionIndex['MACHINE_UM']);if(this['permission_address']||c['length']>0x0)return await this['check_permission_and_call'](a,this['permission_address'],b,c);return await this['exec'](a);}async['operate'](a,b,c,d){let e=this['permission_address'],g=this['object_address'];const h=this['content'];!this['object_address']&&(!e&&(e=newPermission(b,this['new_permission_description']??'')),e&&(g=newMachine(b,toTxObject(b,e),this['data']?.['description']??'',c)));(!g||!e)&&W_ERROR(WErrors['InvalidParam'],'CallMachine_Data.data.object:'+this['object_address']);if(this['data']['progress_new']!=null){!h&&W_ERROR(WErrors['InvalidParam'],'CallMachine_Data.data.progress_new\x20fail\x20because\x20the\x20Machine\x20'+JSON['stringify'](this['data']['object'])+'\x20content\x20not\x20ready');if(this['data']['progress_new']['task']!=null){const j=await GetObjectExisted(this['data']['progress_new']['task']);j?this['data']['progress_new']['task']=j:W_ERROR(WErrors['InvalidParam'],'CallMachine_Data.data.progress_new.task:\x20'+this['data']['progress_new']['task']+'\x20not\x20found');}const i=newProgress(b,g,e,this['data']['progress_new']['task']??null,c);if(this['data']['progress_new']['repository']!=null)switch(this['data']['progress_new']['repository']['op']){case'add':case'set':{this['data']['progress_new']['repository']['objects']['length']>MAX_CONTEXT_REPOSITORY_COUNT&&W_ERROR(WErrors['InvalidParam'],'CallProgress_Data.data.progress_new.repository.objects\x20exceeds\x20max\x20count:'+this['data']['progress_new']['repository']['objects']);this['data']['progress_new']['repository']['op']==='set'&&context_repository_clear(b,i,g,e);const k=await LocalMark['Instance']()['get_many_address_availables'](this['data']['progress_new']['repository']['objects']);k['forEach'](l=>{context_repository_add(b,i,g,e,l,c);});break;}case'remove':{this['data']['progress_new']['repository']['objects']['length']>MAX_CONTEXT_REPOSITORY_COUNT&&W_ERROR(WErrors['InvalidParam'],'CallProgress_Data.data.progress_new.repository.objects\x20exceeds\x20max\x20count:'+this['data']['progress_new']['repository']['objects']);const l=await LocalMark['Instance']()['get_many_address_availables'](this['data']['progress_new']['repository']['objects']);context_repository_remove(b,i,g,e,l,c);break;}case'clear':context_repository_clear(b,i,g,e,c);break;}if(this['data']['progress_new']['progress_namedOperator']!=null)switch(this['data']['progress_new']['progress_namedOperator']['op']){case'add':{const m=await GetManyAccountOrMark_Address(this['data']['progress_new']['progress_namedOperator']['operators']);namedOperator_add(b,i,g,e,this['data']['progress_new']['progress_namedOperator']['name'],m,c);break;}case'set':{const n=await GetManyAccountOrMark_Address(this['data']['progress_new']['progress_namedOperator']['operators']);namedOperator_set(b,i,g,e,this['data']['progress_new']['progress_namedOperator']['name'],n,c);break;}case'remove':{const o=await GetManyAccountOrMark_Address(this['data']['progress_new']['progress_namedOperator']['operators']);namedOperator_remove(b,i,g,e,this['data']['progress_new']['progress_namedOperator']['name'],o,c);break;}}await this['new_with_mark'](a,b,ObjectType['Progress'],a153b(b,i),GetObject(this['data']['progress_new']['namedNew']));}this['data']?.['description']!=null&&this['object_address']&&description_set(b,g,e,this['data']['description'],c);if(this['data']['repository'])switch(this['data']['repository']['op']){case'add':case'set':{this['data']['repository']['objects']['length']>MAX_CONSENSUS_REPOSITORIES_COUNT-(h?.['consensus_repositories']?.['length']??0x0)&&W_ERROR(WErrors['InvalidParam'],'CallService_Data.data.repository.objects\x20exceeds\x20max\x20count:'+this['data']['repository']['objects']);this['data']['repository']['op']==='set'&&consensus_repositories_clear(b,g,e,c);const q=await LocalMark['Instance']()['get_many_address_availables'](this['data']['repository']['objects']);q['forEach'](s=>{consensus_repositories_add(b,g,e,s,c);});break;}case'remove':{this['data']['repository']['objects']['length']>(h?.['consensus_repositories']?.['length']??0x0)&&W_ERROR(WErrors['InvalidParam'],'CallService_Data.data.repository.objects\x20exceeds\x20max\x20count:'+this['data']['repository']['objects']);const s=await LocalMark['Instance']()['get_many_address_availables'](this['data']['repository']['objects']);consensus_repositories_remove(b,g,e,s,c);break;}case'clear':consensus_repositories_clear(b,g,e,c);break;}if(this['data']['node'])switch(this['data']['node']['op']){case'add':case'set':{this['data']['node']['nodes']['length']>MAX_NODE_COUNT&&W_ERROR(WErrors['InvalidParam'],'CallMachine_Data.data.node.nodes\x20exceeds\x20max\x20count:'+this['data']['node']['nodes']);this['data']['node']['op']==='set'&&node_clear(b,g,e,c);const u=await Promise['all'](this['data']['node']['nodes']['map'](async v=>await node(b,v)));node_add(b,g,e,u,this['data']['node']['bReplace']??![],c);break;}case'remove':{this['data']['node']['nodes']['length']>(h?.['node_count']??0x0)&&W_ERROR(WErrors['InvalidParam'],'CallMachine_Data.data.node.nodes\x20exceeds\x20max\x20count:'+this['data']['node']['nodes']);node_remove(b,g,e,this['data']['node']['nodes'],c);break;}case'clear':node_clear(b,g,e,c);break;case'exchange':node_exchange_name(b,g,e,this['data']['node']['node_one'],this['data']['node']['node_other'],c);break;case'rename':node_rename(b,g,e,this['data']['node']['node_name_old'],this['data']['node']['node_name_new'],c);break;case'add\x20forward':{for(const v of this['data']['node']['data']){const w=await Promise['all'](v['forward']['map'](async x=>await forward(b,x)));await forwards_add(b,g,e,v['prior_node_name'],v['node_name'],w,v['threshold']??null);}break;}case'remove\x20forward':{for(const x of this['data']['node']['data']){forwards_remove(b,g,e,x['prior_node_name'],x['node_name'],x['forward_name'],null);}break;}case'remove\x20prior\x20node':{for(const y of this['data']['node']['pairs']){prev_nodes_remove(b,g,e,y['node_name'],y['prior_node_name']);}break;}}this['data']['pause']!=null&&pause(b,g,e,this['data']['pause']?!![]:![],c);this['data']['publish']!=null&&publish(b,g,e,c);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':a['no_cache'],'network':a['network']})),await owner_receive(b,g,e,this['data']['owner_receive'],undefined,z=>PackageAddress+'::machine::'+z,c));if(this['data']['um']!==undefined){let z=null;this['data']['um']&&(z=await LocalMark['Instance']()['get_address'](this['data']['um'])||null,!z&&W_ERROR(WErrors['InvalidParam'],'CallMachine_Data.data.um:'+this['data']['um'])),um_set(b,g,e,z,c);}if(!this['permission_address']){const A=GetObject(this['data']?.['object']);await this['new_with_mark'](a,b,ObjectType['Permission'],a153a(b,e),GetObject(A['permission']));}!this['object_address']&&await this['new_with_mark'](a,b,ObjectType['Machine'],create(b,g),GetObject(this['data']?.['object']));}}export const MAX_CONSENSUS_REPOSITORIES_COUNT=0xc8;export const MAX_FORWARD_ORDER_COUNT=0x14;export const MAX_NODE_PAIR_COUNT=0x28;export const MAX_NODE_COUNT=0xc8;export const THRESHOLD_DEFAULT=0x0;export function init_node_name(){return'';}export async function forward(a,b){typeof b['name']==='string'&&!isValidName(b['name'])&&W_ERROR(WErrors['IsValidName'],'Forward\x20name\x20'+b['name']+'\x20exceeds\x20maximum\x20length\x20'+MAX_NAME_LENGTH);typeof b['namedOperator']==='string'&&!isValidName(b['namedOperator'])&&W_ERROR(WErrors['IsValidName'],'Named\x20operator\x20'+b['namedOperator']+'\x20exceeds\x20maximum\x20length\x20'+MAX_NAME_LENGTH);b['permissionIndex']!==undefined&&!isValidU16(b['permissionIndex'])&&W_ERROR(WErrors['IsValidArgType'],'Permission\x20index\x20must\x20be\x20between\x200\x20and\x2065535');!isValidU16(b['weight'])&&W_ERROR(WErrors['InvalidParam'],'Weight\x20'+b['weight']+'\x20must\x20be\x20between\x200\x20and\x2065535');(b['namedOperator']===null||b['namedOperator']===undefined)&&(b['permissionIndex']===null||b['permissionIndex']===undefined)&&W_ERROR(WErrors['InvalidParam'],'One\x20of\x20the\x20\x22namedOperator\x22\x20or\x20\x22permissionIndex\x22\x20must\x20be\x20provided');if(b['guard']&&b['guard']['guard']!=null){const c=await LocalMark['Instance']()['get_address'](b['guard']['guard']);return c?b['guard']['guard']=c:W_ERROR(WErrors['IsValidName'],'Guard\x20object\x20'+b['guard']['guard']+'\x20is\x20not\x20a\x20valid\x20wow\x20address'),b['guard']['retained_submission']!=null&&!isValidArray(b['guard']['retained_submission'],isValidU8)&&W_ERROR(WErrors['InvalidParam'],'Retained\x20submission\x20'+b['guard']['retained_submission']+'\x20must\x20be\x20between\x200\x20and\x20255'),a['moveCall']({'target':machineFn('forward_with_guard'),'arguments':[toTxString(a,b['name']),a['pure']['option']('string',b['namedOperator']??null),a['pure']['option']('u16',b['permissionIndex']??null),a['pure']['u16'](b['weight']),toTxObject(a,b['guard']['guard']),a['pure']['vector']('u8',b['guard']['retained_submission']??[])]});}else return a['moveCall']({'target':machineFn('forward'),'arguments':[toTxString(a,b['name']),a['pure']['option']('string',b['namedOperator']??null),a['pure']['option']('u16',b['permissionIndex']??null),a['pure']['u16'](b['weight'])]});}export async function nodepair(a,b,c){typeof b==='string'&&b['length']>0x0&&!isValidName(b)&&W_ERROR(WErrors['IsValidName'],'Previous\x20node\x20name\x20'+b+'\x20exceeds\x20maximum\x20length\x20'+MAX_NAME_LENGTH);typeof c['threshold']==='number'&&!isValidU32(c['threshold'])&&W_ERROR(WErrors['InvalidParam'],'Threshold\x20'+c['threshold']+'\x20must\x20be\x20between\x200\x20and\x204294967295');c['forwards']['length']>MAX_FORWARD_ORDER_COUNT&&W_ERROR(WErrors['InvalidParam'],'Forward\x20order\x20count\x20'+c['forwards']['length']+'\x20exceeds\x20maximum\x20count\x20'+MAX_FORWARD_ORDER_COUNT);if(c['forwards']['length']>0x1){const d=await Promise['all'](c['forwards']['map'](e=>forward(a,e)));return a['moveCall']({'target':machineFn('nodepair3'),'arguments':[toTxString(a,b),a['pure']['option']('u32',c['threshold']??null),a['makeMoveVec']({'type':PackageAddress+'::machine::Forward','elements':d})]});}else return c['forwards']['length']===0x1?a['moveCall']({'target':machineFn('nodepair'),'arguments':[toTxString(a,b),a['pure']['option']('u32',c['threshold']??null),await forward(a,c['forwards'][0x0])]}):a['moveCall']({'target':machineFn('nodepair2'),'arguments':[toTxString(a,b),a['pure']['option']('u32',c['threshold']??null)]});}export async function node(a,b){typeof b['name']==='string'&&!isValidName(b['name'])&&W_ERROR(WErrors['IsValidName'],'Node\x20name\x20'+b['name']+'\x20exceeds\x20maximum\x20length\x20'+MAX_NAME_LENGTH);b['name']===init_node_name()&&W_ERROR(WErrors['InvalidParam'],'Node\x20name\x20'+b['name']+'\x20is\x20reserved');b['pairs']['length']>MAX_NODE_PAIR_COUNT&&W_ERROR(WErrors['InvalidParam'],'Node\x20pair\x20count\x20'+b['pairs']['length']+'\x20exceeds\x20maximum\x20count\x20'+MAX_NODE_PAIR_COUNT);if(b['pairs']['length']>0x1){const c=await Promise['all'](b['pairs']['map'](d=>nodepair(a,d['prev_node'],d)));return a['moveCall']({'target':machineFn('node3'),'arguments':[toTxString(a,b['name']),a['makeMoveVec']({'type':PackageAddress+'::machine::NodePair','elements':c})]});}else return b['pairs']['length']===0x1?a['moveCall']({'target':machineFn('node'),'arguments':[toTxString(a,b['name']),await nodepair(a,b['pairs'][0x0]['prev_node'],b['pairs'][0x0])]}):a['moveCall']({'target':machineFn('node2'),'arguments':[toTxString(a,b['name'])]});}export function create(a,b){return a['moveCall']({'target':machineFn('create'),'arguments':[toTxObject(a,b)]});}export function newMachine(a,b,c,d){return validObjects([b]),typeof c==='string'&&!isValidDescription(c)&&W_ERROR(WErrors['IsValidDescription'],'Description\x20exceeds\x20maximum\x20length'),d?a['moveCall']({'target':machineFn('new_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxString(a,c),a['object']['mutRegistrar'](),a['object']['clock']()]}):a['moveCall']({'target':machineFn('new'),'arguments':[toTxObject(a,b),toTxString(a,c),a['object']['mutRegistrar'](),a['object']['clock']()]});}export function description_set(a,b,c,d,e){validObjects([b,c]),typeof d==='string'&&!isValidDescription(d)&&W_ERROR(WErrors['IsValidDescription'],'Description\x20exceeds\x20maximum\x20length'),e?a['moveCall']({'target':machineFn('description_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,e),toTxString(a,d)]}):a['moveCall']({'target':machineFn('description_set'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxString(a,d)]});}export function node_add(a,b,c,d,e,f){if(d['length']===0x0)return;validObjects([b,c]),f?d['length']>0x1?a['moveCall']({'target':machineFn('node_add2_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,f),a['makeMoveVec']({'type':PackageAddress+'::machine::Node','elements':d}),a['pure']['bool'](e)]}):a['moveCall']({'target':machineFn('node_add_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,f),d[0x0],a['pure']['bool'](e)]}):d['length']>0x1?a['moveCall']({'target':machineFn('node_add2'),'arguments':[toTxObject(a,b),toTxObject(a,c),a['makeMoveVec']({'type':PackageAddress+'::machine::Node','elements':d}),a['pure']['bool'](e)]}):a['moveCall']({'target':machineFn('node_add'),'arguments':[toTxObject(a,b),toTxObject(a,c),d[0x0],a['pure']['bool'](e)]});}export function um_set(a,b,c,d,e){validObjects([b,c]),d?e?a['moveCall']({'target':machineFn('um_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),e,toTxObject(a,d),a['object']['mutRegistrar'](),a['object']['clock']()]}):a['moveCall']({'target':machineFn('um_set'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,d),a['object']['mutRegistrar'](),a['object']['clock']()]}):e?a['moveCall']({'target':machineFn('um_none_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),e,a['object']['mutRegistrar']()]}):a['moveCall']({'target':machineFn('um_none'),'arguments':[toTxObject(a,b),toTxObject(a,c),a['object']['mutRegistrar']()]});}export function node_remove(a,b,c,d,e){if(d['length']===0x0)return;validObjects([b,c]),e?d['length']>0x1?a['moveCall']({'target':machineFn('node_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,e),a['pure']['vector']('string',d)]}):a['moveCall']({'target':machineFn('node_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,e),a['pure']['string'](d[0x0])]}):d['length']>0x1?a['moveCall']({'target':machineFn('node_remove'),'arguments':[toTxObject(a,b),toTxObject(a,c),a['pure']['vector']('string',d)]}):a['moveCall']({'target':machineFn('node_remove'),'arguments':[toTxObject(a,b),toTxObject(a,c),a['pure']['string'](d[0x0])]});}export function node_rename(a,b,c,d,e,f){(!d||!e)&&W_ERROR(WErrors['InvalidParam'],'Node\x20name\x20'+d+'\x20or\x20new\x20node\x20name\x20'+e+'\x20is\x20empty'),validObjects([b,c]),!isValidName(d)&&W_ERROR(WErrors['InvalidParam'],'Node\x20name\x20'+d+'\x20is\x20invalid'),!isValidName(e)&&W_ERROR(WErrors['InvalidParam'],'New\x20node\x20name\x20'+e+'\x20is\x20invalid'),f?a['moveCall']({'target':machineFn('node_rename_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,f),a['pure']['string'](d),a['pure']['string'](e)]}):a['moveCall']({'target':machineFn('node_rename'),'arguments':[toTxObject(a,b),toTxObject(a,c),a['pure']['string'](d),a['pure']['string'](e)]});}export function node_exchange_name(a,b,c,d,e,f){validObjects([b,c]),(!d||!e)&&W_ERROR(WErrors['InvalidParam'],'Node\x20one\x20'+d+'\x20or\x20node\x20other\x20'+e+'\x20is\x20empty'),!isValidName(d)&&W_ERROR(WErrors['InvalidParam'],'Node\x20one\x20'+d+'\x20is\x20invalid'),!isValidName(e)&&W_ERROR(WErrors['InvalidParam'],'Node\x20other\x20'+e+'\x20is\x20invalid'),d===e&&W_ERROR(WErrors['InvalidParam'],'Node\x20one\x20'+d+'\x20and\x20node\x20other\x20'+e+'\x20are\x20same'),f?a['moveCall']({'target':machineFn('node_exchange_name_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,f),a['pure']['string'](d),a['pure']['string'](e)]}):a['moveCall']({'target':machineFn('node_exchange_name'),'arguments':[toTxObject(a,b),toTxObject(a,c),a['pure']['string'](d),a['pure']['string'](e)]});}export function node_clear(a,b,c,d){validObjects([b,c]),d?a['moveCall']({'target':machineFn('node_clear_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,d)]}):a['moveCall']({'target':machineFn('node_clear'),'arguments':[toTxObject(a,b),toTxObject(a,c)]});}export function publish(a,b,c,d){validObjects([b,c]),d?a['moveCall']({'target':machineFn('publish_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,d)]}):a['moveCall']({'target':machineFn('publish'),'arguments':[toTxObject(a,b),toTxObject(a,c)]});}export function pause(a,b,c,d,e){validObjects([b,c]),e?a['moveCall']({'target':machineFn('pause_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,e),a['pure']['bool'](d)]}):a['moveCall']({'target':machineFn('pause'),'arguments':[toTxObject(a,b),toTxObject(a,c),a['pure']['bool'](d)]});}export function consensus_repositories_add(a,b,c,d,e){validObjects([b,c,d]),e?a['moveCall']({'target':machineFn('consensus_repositories_add_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,e),toTxObject(a,d),a['object']['mutRegistrar'](),a['object']['clock']()]}):a['moveCall']({'target':machineFn('consensus_repositories_add'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,d),a['object']['mutRegistrar'](),a['object']['clock']()]});}export function consensus_repositories_remove(a,b,c,d,e){if(!d||d['length']===0x0)return;validObjects([b,c,...d]),e?a['moveCall']({'target':machineFn('consensus_repositories_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,e),a['pure']['vector']('string',d),a['object']['mutRegistrar']()]}):a['moveCall']({'target':machineFn('consensus_repositories_remove'),'arguments':[toTxObject(a,b),toTxObject(a,c),a['pure']['vector']('string',d),a['object']['mutRegistrar']()]});}export function consensus_repositories_clear(a,b,c,d){validObjects([b,c]),d?a['moveCall']({'target':machineFn('consensus_repositories_clear_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,d),a['object']['mutRegistrar']()]}):a['moveCall']({'target':machineFn('consensus_repositories_clear'),'arguments':[toTxObject(a,b),toTxObject(a,c),a['object']['mutRegistrar']()]});}export async function forwards_add(a,b,c,d,e,f,g,h){if(!f||f['length']===0x0)return;validObjects([b,c]),g!==null&&!isValidU32(g)&&W_ERROR(WErrors['InvalidParam'],'threshold\x20'+g+'\x20must\x20be\x20u32'),!isValidName(d)&&W_ERROR(WErrors['InvalidParam'],'node_name\x20'+d+'\x20is\x20excceed\x20max\x20length\x20'+MAX_NAME_LENGTH),!isValidName(e)&&W_ERROR(WErrors['InvalidParam'],'next_node_name\x20'+e+'\x20is\x20excceed\x20max\x20length\x20'+MAX_NAME_LENGTH),h?a['moveCall']({'target':machineFn('forwards_add_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,h),toTxString(a,d),toTxString(a,e),a['makeMoveVec']({'type':PackageAddress+'::machine::Forward','elements':f}),a['pure']['option']('u32',g??null)]}):a['moveCall']({'target':machineFn('forwards_add'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxString(a,d),toTxString(a,e),a['makeMoveVec']({'type':PackageAddress+'::machine::Forward','elements':f}),a['pure']['option']('u32',g??null)]});}export function forwards_remove(a,b,c,d,e,f,g,h){if(!f||f['length']===0x0)return;validObjects([b,c,...f]),!isValidName(d)&&W_ERROR(WErrors['InvalidParam'],'node_name\x20'+d+'\x20is\x20excceed\x20max\x20length\x20'+MAX_NAME_LENGTH),!isValidName(e)&&W_ERROR(WErrors['InvalidParam'],'next_node_name\x20'+e+'\x20is\x20excceed\x20max\x20length\x20'+MAX_NAME_LENGTH),g!==null&&!isValidU32(g)&&W_ERROR(WErrors['InvalidParam'],'threshold\x20'+g+'\x20must\x20be\x20u32'),h?a['moveCall']({'target':machineFn('forwards_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,h),toTxString(a,d),toTxString(a,e),a['pure']['vector']('string',f),a['pure']['option']('u32',g??null)]}):a['moveCall']({'target':machineFn('forwards_remove'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxString(a,d),toTxString(a,e),a['pure']['vector']('string',f),a['pure']['option']('u32',g??null)]});}export function prev_nodes_remove(a,b,c,d,e,f){if(e['length']===0x0)return;validObjects([b,c]);!isValidName(d)&&W_ERROR(WErrors['InvalidParam'],'node_name\x20'+d+'\x20is\x20excceed\x20max\x20length\x20'+MAX_NAME_LENGTH);for(const g of e){!isValidName(g)&&W_ERROR(WErrors['InvalidParam'],'prev_node_name\x20'+g+'\x20is\x20excceed\x20max\x20length\x20'+MAX_NAME_LENGTH);}f?a['moveCall']({'target':machineFn('prev_nodes_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,f),toTxString(a,d),a['pure']['vector']('string',e)]}):a['moveCall']({'target':machineFn('prev_nodes_remove'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxString(a,d),a['pure']['vector']('string',e)]});}export const machineNode2file=async(a,b,c='json',d)=>{const e=await LocalMark['Instance']()['get_address'](a);if(!e)throw new Error('Machine\x20object\x20'+a+'\x20not\x20found');const f=await query_objects({'objects':[e],'network':d});if(!f?.['objects']||f['objects']['length']===0x0)throw new Error('Machine\x20object\x20'+a+'\x20('+e+')\x20not\x20found\x20on\x20chain');const g=f['objects'][0x0];if(g['type']!=='Machine')throw new Error('Object\x20'+a+'\x20is\x20not\x20a\x20Machine,\x20found\x20type:\x20'+g['type']);const h={'parent':e,'network':d},i=await query_table(h);if(!i?.['items']||i['items']['length']===0x0)throw new Error('No\x20nodes\x20found\x20in\x20machine\x20'+a);const j=i['items']['map'](n=>n['object']),k=await query_objects({'objects':j,'network':d});if(!k?.['objects']||k['objects']['length']===0x0)throw new Error('Failed\x20to\x20fetch\x20any\x20nodes\x20from\x20machine\x20'+a);const l=k['objects']['filter'](n=>n['type']==='TableItem_MachineNode')['map'](n=>{const o=n;return{'name':o['name'],'pairs':o['value']};});if(l['length']===0x0)throw new Error('Failed\x20to\x20fetch\x20any\x20nodes\x20from\x20machine\x20'+a);let m;if(c==='json')m=JSON['stringify'](l,null,0x2);else{const n=g['object'];m=generateMachineNodeMarkdown(l,a,e,n);}writeFileSync(b,m,'utf-8');};function generateMachineNodeMarkdown(a,b,c,d){let e='#\x20Machine\x20Node\x20Definition\x0a\x0a';e+='**Machine:**\x20'+b+'\x0a\x0a',e+='**Address:**\x20'+c+'\x0a\x0a';d&&(e+='**ID:**\x20'+d+'\x0a\x0a');e+='**Total\x20Nodes:**\x20'+a['length']+'\x0a\x0a',e+='---\x0a\x0a';for(const f of a){e+='##\x20Node:\x20'+f['name']+'\x0a\x0a';for(const g of f['pairs']){e+='###\x20Pair:\x20'+g['prev_node']+'\x0a\x0a',e+='-\x20**prev_node**:\x20'+g['prev_node']+'\x0a',e+='-\x20**threshold**:\x20'+g['threshold']+'\x0a\x0a';if(g['forwards']&&g['forwards']['length']>0x0){e+='####\x20Forwards\x0a\x0a',e+='|\x20name\x20|\x20weight\x20|\x20namedOperator\x20|\x20permissionIndex\x20|\x20guard\x20|\x0a',e+='|------|--------|---------------|-----------------|-------|\x0a';for(const h of g['forwards']){const i=h['namedOperator']||'',j=h['permissionIndex']?.['toString']()||'',k=h['guard']?.['guard']||'';e+='|\x20'+h['name']+'\x20|\x20'+h['weight']+'\x20|\x20'+i+'\x20|\x20'+j+'\x20|\x20'+k+'\x20|\x0a';}e+='\x0a';}}e+='---\x0a\x0a';}return e+='##\x20JSON\x20Definition\x0a\x0a',e+='```json\x0a',e+=JSON['stringify'](a,null,0x2),e+='\x0a```\x0a',e;}export function prev_nodes_remove_with_passport(a,b,c,d,e,f){validObjects([b,c,d]),a['moveCall']({'target':machineFn('prev_nodes_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,c),toTxObject(a,d),toTxString(a,e),a['pure']['vector']('string',f)]});}