wowok 2.1.10 → 2.1.13

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 (896) hide show
  1. package/dist/cjs/bcs/bcs.d.ts +199 -199
  2. package/dist/cjs/bcs/bcs.js +273 -318
  3. package/dist/cjs/bcs/bcs.js.map +1 -0
  4. package/dist/cjs/bcs/effects.d.ts +109 -109
  5. package/dist/cjs/bcs/effects.js +205 -230
  6. package/dist/cjs/bcs/effects.js.map +1 -0
  7. package/dist/cjs/bcs/index.d.ts +1 -2584
  8. package/dist/cjs/bcs/index.js +61 -76
  9. package/dist/cjs/bcs/index.js.map +1 -0
  10. package/dist/cjs/bcs/pure.js +38 -58
  11. package/dist/cjs/bcs/pure.js.map +1 -0
  12. package/dist/cjs/bcs/type-tag-serializer.js +102 -114
  13. package/dist/cjs/bcs/type-tag-serializer.js.map +1 -0
  14. package/dist/cjs/bcs/types.js +6 -23
  15. package/dist/cjs/bcs/types.js.map +1 -0
  16. package/dist/cjs/client/index.js +17 -33
  17. package/dist/cjs/client/index.js.map +1 -0
  18. package/dist/cjs/client/network.js +25 -40
  19. package/dist/cjs/client/network.js.map +1 -0
  20. package/dist/cjs/cryptography/index.js +29 -45
  21. package/dist/cjs/cryptography/index.js.map +1 -0
  22. package/dist/cjs/cryptography/intent.d.ts +1 -1
  23. package/dist/cjs/cryptography/intent.js +20 -31
  24. package/dist/cjs/cryptography/intent.js.map +1 -0
  25. package/dist/cjs/cryptography/keypair.js +102 -116
  26. package/dist/cjs/cryptography/keypair.js.map +1 -0
  27. package/dist/cjs/cryptography/mnemonics.js +43 -41
  28. package/dist/cjs/cryptography/mnemonics.js.map +1 -0
  29. package/dist/cjs/cryptography/publickey.js +112 -134
  30. package/dist/cjs/cryptography/publickey.js.map +1 -0
  31. package/dist/cjs/cryptography/signature-scheme.js +24 -43
  32. package/dist/cjs/cryptography/signature-scheme.js.map +1 -0
  33. package/dist/cjs/cryptography/signature.d.ts +2 -24
  34. package/dist/cjs/cryptography/signature.js +50 -67
  35. package/dist/cjs/cryptography/signature.js.map +1 -0
  36. package/dist/cjs/experimental/cache.js +65 -0
  37. package/dist/cjs/experimental/cache.js.map +1 -0
  38. package/dist/cjs/experimental/client.js +27 -0
  39. package/dist/cjs/experimental/client.js.map +1 -0
  40. package/dist/cjs/experimental/core.js +89 -0
  41. package/dist/cjs/experimental/core.js.map +1 -0
  42. package/dist/cjs/experimental/errors.js +32 -0
  43. package/dist/cjs/experimental/errors.js.map +1 -0
  44. package/dist/cjs/experimental/index.js +15 -0
  45. package/dist/cjs/experimental/index.js.map +1 -0
  46. package/dist/cjs/experimental/persistent-storage.js +343 -0
  47. package/dist/cjs/experimental/persistent-storage.js.map +1 -0
  48. package/dist/cjs/experimental/persistent-storage.test.js +200 -0
  49. package/dist/cjs/experimental/persistent-storage.test.js.map +1 -0
  50. package/dist/cjs/experimental/transports/utils.js +104 -0
  51. package/dist/cjs/experimental/transports/utils.js.map +1 -0
  52. package/dist/cjs/experimental/types.js +6 -0
  53. package/dist/cjs/experimental/types.js.map +1 -0
  54. package/dist/cjs/faucet/faucet.js +106 -124
  55. package/dist/cjs/faucet/faucet.js.map +1 -0
  56. package/dist/cjs/faucet/index.js +12 -28
  57. package/dist/cjs/faucet/index.js.map +1 -0
  58. package/dist/cjs/grpc/client.js +47 -62
  59. package/dist/cjs/grpc/client.js.map +1 -0
  60. package/dist/cjs/grpc/core.js +580 -617
  61. package/dist/cjs/grpc/core.js.map +1 -0
  62. package/dist/cjs/grpc/index.js +9 -25
  63. package/dist/cjs/grpc/index.js.map +1 -0
  64. package/dist/cjs/grpc/proto/google/protobuf/any.js +168 -135
  65. package/dist/cjs/grpc/proto/google/protobuf/any.js.map +1 -0
  66. package/dist/cjs/grpc/proto/google/protobuf/duration.js +105 -90
  67. package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +1 -0
  68. package/dist/cjs/grpc/proto/google/protobuf/empty.js +50 -28
  69. package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +1 -0
  70. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +96 -75
  71. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +1 -0
  72. package/dist/cjs/grpc/proto/google/protobuf/struct.js +266 -215
  73. package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +1 -0
  74. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +150 -131
  75. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +1 -0
  76. package/dist/cjs/grpc/proto/google/rpc/error_details.js +331 -302
  77. package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +1 -0
  78. package/dist/cjs/grpc/proto/google/rpc/status.js +50 -50
  79. package/dist/cjs/grpc/proto/google/rpc/status.js.map +1 -0
  80. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +84 -68
  81. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js.map +1 -0
  82. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +45 -50
  83. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js.map +1 -0
  84. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +38 -43
  85. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js.map +1 -0
  86. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +70 -75
  87. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js.map +1 -0
  88. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +79 -81
  89. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +1 -0
  90. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +183 -166
  91. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +1 -0
  92. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +369 -296
  93. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js.map +1 -0
  94. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +80 -85
  95. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js.map +1 -0
  96. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +31 -28
  97. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js.map +1 -0
  98. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +81 -83
  99. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js.map +1 -0
  100. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +80 -85
  101. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js.map +1 -0
  102. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +876 -506
  103. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js.map +1 -0
  104. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +56 -61
  105. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +1 -0
  106. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +103 -83
  107. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js.map +1 -0
  108. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +76 -78
  109. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js.map +1 -0
  110. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +69 -119
  111. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +1 -0
  112. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +392 -350
  113. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js.map +1 -0
  114. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +599 -473
  115. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js.map +1 -0
  116. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +46 -78
  117. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +1 -0
  118. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +242 -224
  119. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js.map +1 -0
  120. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +32 -52
  121. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js.map +1 -0
  122. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +139 -134
  123. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js.map +1 -0
  124. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +109 -111
  125. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js.map +1 -0
  126. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +46 -51
  127. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js.map +1 -0
  128. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +76 -61
  129. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js.map +1 -0
  130. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +46 -59
  131. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js.map +1 -0
  132. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +568 -522
  133. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js.map +1 -0
  134. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +54 -32
  135. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js.map +1 -0
  136. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +27 -47
  137. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +1 -0
  138. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +83 -86
  139. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +1 -0
  140. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +53 -85
  141. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js.map +1 -0
  142. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +645 -529
  143. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js.map +1 -0
  144. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +37 -51
  145. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +1 -0
  146. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +58 -61
  147. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js.map +1 -0
  148. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +749 -730
  149. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js.map +1 -0
  150. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1218 -975
  151. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js.map +1 -0
  152. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +32 -46
  153. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +1 -0
  154. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +186 -167
  155. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +1 -0
  156. package/dist/cjs/index.js +96 -91
  157. package/dist/cjs/index.js.map +1 -0
  158. package/dist/cjs/jsonRpc/client.js +654 -743
  159. package/dist/cjs/jsonRpc/client.js.map +1 -0
  160. package/dist/cjs/jsonRpc/core.d.ts +7 -7
  161. package/dist/cjs/jsonRpc/core.js +562 -606
  162. package/dist/cjs/jsonRpc/core.js.map +1 -0
  163. package/dist/cjs/jsonRpc/errors.js +38 -56
  164. package/dist/cjs/jsonRpc/errors.js.map +1 -0
  165. package/dist/cjs/jsonRpc/http-transport.js +70 -114
  166. package/dist/cjs/jsonRpc/http-transport.js.map +1 -0
  167. package/dist/cjs/jsonRpc/index.js +14 -30
  168. package/dist/cjs/jsonRpc/index.js.map +1 -0
  169. package/dist/cjs/jsonRpc/json-rpc-resolver.js +286 -290
  170. package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +1 -0
  171. package/dist/cjs/jsonRpc/rpc-websocket-client.js +150 -207
  172. package/dist/cjs/jsonRpc/rpc-websocket-client.js.map +1 -0
  173. package/dist/cjs/jsonRpc/types/chain.js +4 -15
  174. package/dist/cjs/jsonRpc/types/chain.js.map +1 -0
  175. package/dist/cjs/jsonRpc/types/changes.js +4 -15
  176. package/dist/cjs/jsonRpc/types/changes.js.map +1 -0
  177. package/dist/cjs/jsonRpc/types/coins.js +4 -15
  178. package/dist/cjs/jsonRpc/types/coins.js.map +1 -0
  179. package/dist/cjs/jsonRpc/types/common.js +4 -15
  180. package/dist/cjs/jsonRpc/types/common.js.map +1 -0
  181. package/dist/cjs/jsonRpc/types/generated.d.ts +1 -1
  182. package/dist/cjs/jsonRpc/types/generated.js +4 -15
  183. package/dist/cjs/jsonRpc/types/generated.js.map +1 -0
  184. package/dist/cjs/jsonRpc/types/index.js +4 -15
  185. package/dist/cjs/jsonRpc/types/index.js.map +1 -0
  186. package/dist/cjs/jsonRpc/types/params.js +4 -15
  187. package/dist/cjs/jsonRpc/types/params.js.map +1 -0
  188. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +54 -69
  189. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +1 -0
  190. package/dist/cjs/keypairs/ed25519/index.js +10 -26
  191. package/dist/cjs/keypairs/ed25519/index.js.map +1 -0
  192. package/dist/cjs/keypairs/ed25519/keypair.js +134 -159
  193. package/dist/cjs/keypairs/ed25519/keypair.js.map +1 -0
  194. package/dist/cjs/keypairs/ed25519/publickey.js +70 -84
  195. package/dist/cjs/keypairs/ed25519/publickey.js.map +1 -0
  196. package/dist/cjs/keypairs/index.js +21 -19
  197. package/dist/cjs/keypairs/index.js.map +1 -0
  198. package/dist/cjs/keypairs/passkey/index.js +11 -27
  199. package/dist/cjs/keypairs/passkey/index.js.map +1 -0
  200. package/dist/cjs/keypairs/passkey/keypair.js +245 -256
  201. package/dist/cjs/keypairs/passkey/keypair.js.map +1 -0
  202. package/dist/cjs/keypairs/passkey/publickey.js +163 -162
  203. package/dist/cjs/keypairs/passkey/publickey.js.map +1 -0
  204. package/dist/cjs/keypairs/passkey/types.js +4 -15
  205. package/dist/cjs/keypairs/passkey/types.js.map +1 -0
  206. package/dist/cjs/keypairs/secp256k1/index.js +10 -26
  207. package/dist/cjs/keypairs/secp256k1/index.js.map +1 -0
  208. package/dist/cjs/keypairs/secp256k1/keypair.js +129 -151
  209. package/dist/cjs/keypairs/secp256k1/keypair.js.map +1 -0
  210. package/dist/cjs/keypairs/secp256k1/publickey.js +71 -89
  211. package/dist/cjs/keypairs/secp256k1/publickey.js.map +1 -0
  212. package/dist/cjs/keypairs/secp256r1/index.js +10 -26
  213. package/dist/cjs/keypairs/secp256r1/index.js.map +1 -0
  214. package/dist/cjs/keypairs/secp256r1/keypair.js +127 -148
  215. package/dist/cjs/keypairs/secp256r1/keypair.js.map +1 -0
  216. package/dist/cjs/keypairs/secp256r1/publickey.js +72 -90
  217. package/dist/cjs/keypairs/secp256r1/publickey.js.map +1 -0
  218. package/dist/cjs/multisig/index.js +10 -26
  219. package/dist/cjs/multisig/index.js.map +1 -0
  220. package/dist/cjs/multisig/publickey.d.ts +1 -1
  221. package/dist/cjs/multisig/publickey.js +228 -276
  222. package/dist/cjs/multisig/publickey.js.map +1 -0
  223. package/dist/cjs/multisig/signer.js +62 -110
  224. package/dist/cjs/multisig/signer.js.map +1 -0
  225. package/dist/cjs/transactions/Arguments.d.ts +4 -4
  226. package/dist/cjs/transactions/Arguments.js +13 -34
  227. package/dist/cjs/transactions/Arguments.js.map +1 -0
  228. package/dist/cjs/transactions/Commands.js +111 -141
  229. package/dist/cjs/transactions/Commands.js.map +1 -0
  230. package/dist/cjs/transactions/Inputs.js +53 -82
  231. package/dist/cjs/transactions/Inputs.js.map +1 -0
  232. package/dist/cjs/transactions/ObjectCache.d.ts +8 -8
  233. package/dist/cjs/transactions/ObjectCache.js +204 -241
  234. package/dist/cjs/transactions/ObjectCache.js.map +1 -0
  235. package/dist/cjs/transactions/Transaction.d.ts +31 -31
  236. package/dist/cjs/transactions/Transaction.js +628 -719
  237. package/dist/cjs/transactions/Transaction.js.map +1 -0
  238. package/dist/cjs/transactions/TransactionData.d.ts +9 -9
  239. package/dist/cjs/transactions/TransactionData.js +396 -440
  240. package/dist/cjs/transactions/TransactionData.js.map +1 -0
  241. package/dist/cjs/transactions/__tests__/Transaction.test.js +169 -0
  242. package/dist/cjs/transactions/__tests__/Transaction.test.js.map +1 -0
  243. package/dist/cjs/transactions/__tests__/bcs.test.js +202 -0
  244. package/dist/cjs/transactions/__tests__/bcs.test.js.map +1 -0
  245. package/dist/cjs/transactions/data/internal.js +166 -207
  246. package/dist/cjs/transactions/data/internal.js.map +1 -0
  247. package/dist/cjs/transactions/data/v1.js +436 -495
  248. package/dist/cjs/transactions/data/v1.js.map +1 -0
  249. package/dist/cjs/transactions/data/v2.d.ts +5 -5
  250. package/dist/cjs/transactions/data/v2.js +94 -107
  251. package/dist/cjs/transactions/data/v2.js.map +1 -0
  252. package/dist/cjs/transactions/executor/caching.js +71 -113
  253. package/dist/cjs/transactions/executor/caching.js.map +1 -0
  254. package/dist/cjs/transactions/executor/parallel.js +339 -378
  255. package/dist/cjs/transactions/executor/parallel.js.map +1 -0
  256. package/dist/cjs/transactions/executor/queue.js +60 -80
  257. package/dist/cjs/transactions/executor/queue.js.map +1 -0
  258. package/dist/cjs/transactions/executor/serial.d.ts +4 -4
  259. package/dist/cjs/transactions/executor/serial.js +102 -131
  260. package/dist/cjs/transactions/executor/serial.js.map +1 -0
  261. package/dist/cjs/transactions/hash.js +17 -28
  262. package/dist/cjs/transactions/hash.js.map +1 -0
  263. package/dist/cjs/transactions/index.js +33 -49
  264. package/dist/cjs/transactions/index.js.map +1 -0
  265. package/dist/cjs/transactions/intents/CoinWithBalance.js +137 -191
  266. package/dist/cjs/transactions/intents/CoinWithBalance.js.map +1 -0
  267. package/dist/cjs/transactions/object.js +88 -111
  268. package/dist/cjs/transactions/object.js.map +1 -0
  269. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +20 -32
  270. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +1 -0
  271. package/dist/cjs/transactions/pure.js +38 -60
  272. package/dist/cjs/transactions/pure.js.map +1 -0
  273. package/dist/cjs/transactions/resolve.js +62 -88
  274. package/dist/cjs/transactions/resolve.js.map +1 -0
  275. package/dist/cjs/transactions/serializer.js +150 -163
  276. package/dist/cjs/transactions/serializer.js.map +1 -0
  277. package/dist/cjs/transactions/utils.d.ts +1 -1
  278. package/dist/cjs/transactions/utils.js +114 -125
  279. package/dist/cjs/transactions/utils.js.map +1 -0
  280. package/dist/cjs/utils/constants.js +29 -56
  281. package/dist/cjs/utils/constants.js.map +1 -0
  282. package/dist/cjs/utils/derived-objects.js +14 -30
  283. package/dist/cjs/utils/derived-objects.js.map +1 -0
  284. package/dist/cjs/utils/dynamic-fields.js +20 -37
  285. package/dist/cjs/utils/dynamic-fields.js.map +1 -0
  286. package/dist/cjs/utils/format.js +14 -30
  287. package/dist/cjs/utils/format.js.map +1 -0
  288. package/dist/cjs/utils/index.js +50 -64
  289. package/dist/cjs/utils/index.js.map +1 -0
  290. package/dist/cjs/utils/move-registry.js +37 -35
  291. package/dist/cjs/utils/move-registry.js.map +1 -0
  292. package/dist/cjs/utils/sui-types.js +74 -68
  293. package/dist/cjs/utils/sui-types.js.map +1 -0
  294. package/dist/cjs/utils/suins.js +30 -46
  295. package/dist/cjs/utils/suins.js.map +1 -0
  296. package/dist/cjs/verify/index.js +12 -27
  297. package/dist/cjs/verify/index.js.map +1 -0
  298. package/dist/cjs/verify/verify.js +83 -110
  299. package/dist/cjs/verify/verify.js.map +1 -0
  300. package/dist/cjs/version.js +8 -25
  301. package/dist/cjs/version.js.map +1 -0
  302. package/dist/cjs/w/call/allocation.js +323 -413
  303. package/dist/cjs/w/call/allocation.js.map +1 -0
  304. package/dist/cjs/w/call/arb.js +105 -136
  305. package/dist/cjs/w/call/arb.js.map +1 -0
  306. package/dist/cjs/w/call/arbitration.js +1206 -1581
  307. package/dist/cjs/w/call/arbitration.js.map +1 -0
  308. package/dist/cjs/w/call/base.js +303 -333
  309. package/dist/cjs/w/call/base.js.map +1 -0
  310. package/dist/cjs/w/call/contact.js +335 -452
  311. package/dist/cjs/w/call/contact.js.map +1 -0
  312. package/dist/cjs/w/call/demand.js +690 -844
  313. package/dist/cjs/w/call/demand.js.map +1 -0
  314. package/dist/cjs/w/call/entity.js +167 -201
  315. package/dist/cjs/w/call/entity.js.map +1 -0
  316. package/dist/cjs/w/call/guard-ins.js +4376 -4389
  317. package/dist/cjs/w/call/guard-ins.js.map +1 -0
  318. package/dist/cjs/w/call/guard.js +1078 -1112
  319. package/dist/cjs/w/call/guard.js.map +1 -0
  320. package/dist/cjs/w/call/index.js +69 -70
  321. package/dist/cjs/w/call/index.js.map +1 -0
  322. package/dist/cjs/w/call/machine.js +1105 -1419
  323. package/dist/cjs/w/call/machine.js.map +1 -0
  324. package/dist/cjs/w/call/order.js +314 -454
  325. package/dist/cjs/w/call/order.js.map +1 -0
  326. package/dist/cjs/w/call/passport.js +214 -253
  327. package/dist/cjs/w/call/passport.js.map +1 -0
  328. package/dist/cjs/w/call/payment.js +187 -224
  329. package/dist/cjs/w/call/payment.js.map +1 -0
  330. package/dist/cjs/w/call/permission.js +1183 -1294
  331. package/dist/cjs/w/call/permission.js.map +1 -0
  332. package/dist/cjs/w/call/personal.js +132 -170
  333. package/dist/cjs/w/call/personal.js.map +1 -0
  334. package/dist/cjs/w/call/progress.js +634 -794
  335. package/dist/cjs/w/call/progress.js.map +1 -0
  336. package/dist/cjs/w/call/proof.js +67 -116
  337. package/dist/cjs/w/call/proof.js.map +1 -0
  338. package/dist/cjs/w/call/repository.js +1037 -1251
  339. package/dist/cjs/w/call/repository.js.map +1 -0
  340. package/dist/cjs/w/call/resource.js +111 -131
  341. package/dist/cjs/w/call/resource.js.map +1 -0
  342. package/dist/cjs/w/call/reward.js +675 -853
  343. package/dist/cjs/w/call/reward.js.map +1 -0
  344. package/dist/cjs/w/call/service.js +1879 -2385
  345. package/dist/cjs/w/call/service.js.map +1 -0
  346. package/dist/cjs/w/call/treasury.js +841 -1138
  347. package/dist/cjs/w/call/treasury.js.map +1 -0
  348. package/dist/cjs/w/call/util.js +593 -624
  349. package/dist/cjs/w/call/util.js.map +1 -0
  350. package/dist/cjs/w/common.d.ts +1 -1
  351. package/dist/cjs/w/common.js +548 -518
  352. package/dist/cjs/w/common.js.map +1 -0
  353. package/dist/cjs/w/exception.js +574 -584
  354. package/dist/cjs/w/exception.js.map +1 -0
  355. package/dist/cjs/w/index.js +26 -23
  356. package/dist/cjs/w/index.js.map +1 -0
  357. package/dist/cjs/w/local/account.js +664 -741
  358. package/dist/cjs/w/local/account.js.map +1 -0
  359. package/dist/cjs/w/local/cache.js +180 -166
  360. package/dist/cjs/w/local/cache.js.map +1 -0
  361. package/dist/cjs/w/local/config.js +51 -80
  362. package/dist/cjs/w/local/config.js.map +1 -0
  363. package/dist/cjs/w/local/index.js +225 -290
  364. package/dist/cjs/w/local/index.js.map +1 -0
  365. package/dist/cjs/w/local/local.d.ts +2 -2
  366. package/dist/cjs/w/local/local.js +638 -646
  367. package/dist/cjs/w/local/local.js.map +1 -0
  368. package/dist/cjs/w/local/storage.js +210 -164
  369. package/dist/cjs/w/local/storage.js.map +1 -0
  370. package/dist/cjs/w/local/token.js +158 -175
  371. package/dist/cjs/w/local/token.js.map +1 -0
  372. package/dist/cjs/w/local/util.js +80 -51
  373. package/dist/cjs/w/local/util.js.map +1 -0
  374. package/dist/cjs/w/local/wip.js +1078 -802
  375. package/dist/cjs/w/local/wip.js.map +1 -0
  376. package/dist/cjs/w/messenger/crypto.js +496 -389
  377. package/dist/cjs/w/messenger/crypto.js.map +1 -0
  378. package/dist/cjs/w/messenger/index.js +53 -35
  379. package/dist/cjs/w/messenger/index.js.map +1 -0
  380. package/dist/cjs/w/messenger/messenger-api.js +1159 -1035
  381. package/dist/cjs/w/messenger/messenger-api.js.map +1 -0
  382. package/dist/cjs/w/messenger/messenger-manager.js +954 -1083
  383. package/dist/cjs/w/messenger/messenger-manager.js.map +1 -0
  384. package/dist/cjs/w/messenger/messenger.d.ts +1 -1
  385. package/dist/cjs/w/messenger/messenger.js +1304 -1450
  386. package/dist/cjs/w/messenger/messenger.js.map +1 -0
  387. package/dist/cjs/w/messenger/server.js +390 -512
  388. package/dist/cjs/w/messenger/server.js.map +1 -0
  389. package/dist/cjs/w/messenger/session.js +399 -403
  390. package/dist/cjs/w/messenger/session.js.map +1 -0
  391. package/dist/cjs/w/messenger/storage.js +881 -777
  392. package/dist/cjs/w/messenger/storage.js.map +1 -0
  393. package/dist/cjs/w/messenger/types.d.ts +2 -2
  394. package/dist/cjs/w/messenger/types.js +83 -103
  395. package/dist/cjs/w/messenger/types.js.map +1 -0
  396. package/dist/cjs/w/messenger/utils.js +29 -34
  397. package/dist/cjs/w/messenger/utils.js.map +1 -0
  398. package/dist/cjs/w/query/bult-in.js +101 -110
  399. package/dist/cjs/w/query/bult-in.js.map +1 -0
  400. package/dist/cjs/w/query/event.js +134 -146
  401. package/dist/cjs/w/query/event.js.map +1 -0
  402. package/dist/cjs/w/query/index.js +22 -20
  403. package/dist/cjs/w/query/index.js.map +1 -0
  404. package/dist/cjs/w/query/object.js +1576 -1576
  405. package/dist/cjs/w/query/object.js.map +1 -0
  406. package/dist/cjs/w/query/received.js +66 -88
  407. package/dist/cjs/w/query/received.js.map +1 -0
  408. package/dist/cjs/w/query/util.js +53 -77
  409. package/dist/cjs/w/query/util.js.map +1 -0
  410. package/dist/cjs/w/util.js +589 -675
  411. package/dist/cjs/w/util.js.map +1 -0
  412. package/dist/esm/bcs/bcs.d.ts +199 -199
  413. package/dist/esm/bcs/bcs.js +269 -310
  414. package/dist/esm/bcs/bcs.js.map +1 -0
  415. package/dist/esm/bcs/effects.d.ts +109 -109
  416. package/dist/esm/bcs/effects.js +171 -179
  417. package/dist/esm/bcs/effects.js.map +1 -0
  418. package/dist/esm/bcs/index.d.ts +1 -2584
  419. package/dist/esm/bcs/index.js +51 -94
  420. package/dist/esm/bcs/index.js.map +1 -0
  421. package/dist/esm/bcs/pure.js +35 -38
  422. package/dist/esm/bcs/pure.js.map +1 -0
  423. package/dist/esm/bcs/type-tag-serializer.js +98 -95
  424. package/dist/esm/bcs/type-tag-serializer.js.map +1 -0
  425. package/dist/esm/bcs/types.js +5 -5
  426. package/dist/esm/bcs/types.js.map +1 -0
  427. package/dist/esm/client/index.js +7 -23
  428. package/dist/esm/client/index.js.map +1 -0
  429. package/dist/esm/client/network.js +23 -22
  430. package/dist/esm/client/network.js.map +1 -0
  431. package/dist/esm/cryptography/index.js +9 -46
  432. package/dist/esm/cryptography/index.js.map +1 -0
  433. package/dist/esm/cryptography/intent.d.ts +1 -1
  434. package/dist/esm/cryptography/intent.js +18 -12
  435. package/dist/esm/cryptography/intent.js.map +1 -0
  436. package/dist/esm/cryptography/keypair.js +95 -99
  437. package/dist/esm/cryptography/keypair.js.map +1 -0
  438. package/dist/esm/cryptography/mnemonics.js +40 -24
  439. package/dist/esm/cryptography/mnemonics.js.map +1 -0
  440. package/dist/esm/cryptography/publickey.js +104 -115
  441. package/dist/esm/cryptography/publickey.js.map +1 -0
  442. package/dist/esm/cryptography/signature-scheme.js +22 -24
  443. package/dist/esm/cryptography/signature-scheme.js.map +1 -0
  444. package/dist/esm/cryptography/signature.d.ts +2 -24
  445. package/dist/esm/cryptography/signature.js +44 -48
  446. package/dist/esm/cryptography/signature.js.map +1 -0
  447. package/dist/esm/experimental/cache.js +61 -0
  448. package/dist/esm/experimental/cache.js.map +1 -0
  449. package/dist/esm/experimental/client.js +23 -0
  450. package/dist/esm/experimental/client.js.map +1 -0
  451. package/dist/esm/experimental/core.js +85 -0
  452. package/dist/esm/experimental/core.js.map +1 -0
  453. package/dist/esm/experimental/errors.js +27 -0
  454. package/dist/esm/experimental/errors.js.map +1 -0
  455. package/dist/esm/experimental/index.js +8 -0
  456. package/dist/esm/experimental/index.js.map +1 -0
  457. package/dist/esm/experimental/persistent-storage.js +337 -0
  458. package/dist/esm/experimental/persistent-storage.js.map +1 -0
  459. package/dist/esm/experimental/persistent-storage.test.js +198 -0
  460. package/dist/esm/experimental/persistent-storage.test.js.map +1 -0
  461. package/dist/esm/experimental/transports/utils.js +100 -0
  462. package/dist/esm/experimental/transports/utils.js.map +1 -0
  463. package/dist/esm/experimental/types.js +5 -0
  464. package/dist/esm/experimental/types.js.map +1 -0
  465. package/dist/esm/faucet/faucet.js +104 -111
  466. package/dist/esm/faucet/faucet.js.map +1 -0
  467. package/dist/esm/faucet/index.js +4 -16
  468. package/dist/esm/faucet/index.js.map +1 -0
  469. package/dist/esm/grpc/client.js +34 -34
  470. package/dist/esm/grpc/client.js.map +1 -0
  471. package/dist/esm/grpc/core.js +570 -601
  472. package/dist/esm/grpc/core.js.map +1 -0
  473. package/dist/esm/grpc/index.js +5 -6
  474. package/dist/esm/grpc/index.js.map +1 -0
  475. package/dist/esm/grpc/proto/google/protobuf/any.js +161 -111
  476. package/dist/esm/grpc/proto/google/protobuf/any.js.map +1 -0
  477. package/dist/esm/grpc/proto/google/protobuf/duration.js +99 -67
  478. package/dist/esm/grpc/proto/google/protobuf/duration.js.map +1 -0
  479. package/dist/esm/grpc/proto/google/protobuf/empty.js +46 -7
  480. package/dist/esm/grpc/proto/google/protobuf/empty.js.map +1 -0
  481. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +90 -52
  482. package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +1 -0
  483. package/dist/esm/grpc/proto/google/protobuf/struct.js +258 -190
  484. package/dist/esm/grpc/proto/google/protobuf/struct.js.map +1 -0
  485. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +144 -108
  486. package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +1 -0
  487. package/dist/esm/grpc/proto/google/rpc/error_details.js +313 -267
  488. package/dist/esm/grpc/proto/google/rpc/error_details.js.map +1 -0
  489. package/dist/esm/grpc/proto/google/rpc/status.js +45 -28
  490. package/dist/esm/grpc/proto/google/rpc/status.js.map +1 -0
  491. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +80 -47
  492. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js.map +1 -0
  493. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +41 -29
  494. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js.map +1 -0
  495. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +34 -22
  496. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js.map +1 -0
  497. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +61 -49
  498. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js.map +1 -0
  499. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +72 -57
  500. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +1 -0
  501. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +173 -139
  502. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +1 -0
  503. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +358 -268
  504. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js.map +1 -0
  505. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +72 -60
  506. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js.map +1 -0
  507. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +29 -9
  508. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js.map +1 -0
  509. package/dist/esm/grpc/proto/sui/rpc/v2/event.js +74 -59
  510. package/dist/esm/grpc/proto/sui/rpc/v2/event.js.map +1 -0
  511. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +69 -57
  512. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js.map +1 -0
  513. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +861 -474
  514. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js.map +1 -0
  515. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +52 -40
  516. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +1 -0
  517. package/dist/esm/grpc/proto/sui/rpc/v2/input.js +98 -61
  518. package/dist/esm/grpc/proto/sui/rpc/v2/input.js.map +1 -0
  519. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +71 -56
  520. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js.map +1 -0
  521. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +65 -100
  522. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +1 -0
  523. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +365 -306
  524. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js.map +1 -0
  525. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +585 -442
  526. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js.map +1 -0
  527. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +42 -59
  528. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +1 -0
  529. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +226 -191
  530. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js.map +1 -0
  531. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +28 -33
  532. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js.map +1 -0
  533. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +129 -107
  534. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js.map +1 -0
  535. package/dist/esm/grpc/proto/sui/rpc/v2/object.js +100 -85
  536. package/dist/esm/grpc/proto/sui/rpc/v2/object.js.map +1 -0
  537. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +42 -30
  538. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js.map +1 -0
  539. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +72 -40
  540. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js.map +1 -0
  541. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +42 -38
  542. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js.map +1 -0
  543. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +544 -481
  544. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js.map +1 -0
  545. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +52 -13
  546. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js.map +1 -0
  547. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +23 -28
  548. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +1 -0
  549. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +74 -60
  550. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +1 -0
  551. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +49 -66
  552. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js.map +1 -0
  553. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +623 -490
  554. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js.map +1 -0
  555. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +33 -32
  556. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +1 -0
  557. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +50 -36
  558. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js.map +1 -0
  559. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +737 -701
  560. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js.map +1 -0
  561. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +1177 -917
  562. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js.map +1 -0
  563. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +28 -27
  564. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +1 -0
  565. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +169 -133
  566. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +1 -0
  567. package/dist/esm/index.js +21 -107
  568. package/dist/esm/index.js.map +1 -0
  569. package/dist/esm/jsonRpc/client.js +646 -727
  570. package/dist/esm/jsonRpc/client.js.map +1 -0
  571. package/dist/esm/jsonRpc/core.d.ts +7 -7
  572. package/dist/esm/jsonRpc/core.js +550 -581
  573. package/dist/esm/jsonRpc/core.js.map +1 -0
  574. package/dist/esm/jsonRpc/errors.js +36 -41
  575. package/dist/esm/jsonRpc/errors.js.map +1 -0
  576. package/dist/esm/jsonRpc/http-transport.js +65 -93
  577. package/dist/esm/jsonRpc/http-transport.js.map +1 -0
  578. package/dist/esm/jsonRpc/index.js +6 -20
  579. package/dist/esm/jsonRpc/index.js.map +1 -0
  580. package/dist/esm/jsonRpc/json-rpc-resolver.js +281 -276
  581. package/dist/esm/jsonRpc/json-rpc-resolver.js.map +1 -0
  582. package/dist/esm/jsonRpc/rpc-websocket-client.js +147 -189
  583. package/dist/esm/jsonRpc/rpc-websocket-client.js.map +1 -0
  584. package/dist/esm/jsonRpc/types/chain.js +4 -0
  585. package/dist/esm/jsonRpc/types/chain.js.map +1 -0
  586. package/dist/esm/jsonRpc/types/changes.js +4 -0
  587. package/dist/esm/jsonRpc/types/changes.js.map +1 -0
  588. package/dist/esm/jsonRpc/types/coins.js +4 -0
  589. package/dist/esm/jsonRpc/types/coins.js.map +1 -0
  590. package/dist/esm/jsonRpc/types/common.js +4 -0
  591. package/dist/esm/jsonRpc/types/common.js.map +1 -0
  592. package/dist/esm/jsonRpc/types/generated.d.ts +1 -1
  593. package/dist/esm/jsonRpc/types/generated.js +4 -0
  594. package/dist/esm/jsonRpc/types/generated.js.map +1 -0
  595. package/dist/esm/jsonRpc/types/index.js +4 -0
  596. package/dist/esm/jsonRpc/types/index.js.map +1 -0
  597. package/dist/esm/jsonRpc/types/params.js +4 -0
  598. package/dist/esm/jsonRpc/types/params.js.map +1 -0
  599. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +49 -48
  600. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +1 -0
  601. package/dist/esm/keypairs/ed25519/index.js +5 -10
  602. package/dist/esm/keypairs/ed25519/index.js.map +1 -0
  603. package/dist/esm/keypairs/ed25519/keypair.js +128 -146
  604. package/dist/esm/keypairs/ed25519/keypair.js.map +1 -0
  605. package/dist/esm/keypairs/ed25519/publickey.js +64 -67
  606. package/dist/esm/keypairs/ed25519/publickey.js.map +1 -0
  607. package/dist/esm/keypairs/index.js +3 -0
  608. package/dist/esm/keypairs/index.js.map +1 -0
  609. package/dist/esm/keypairs/passkey/index.js +5 -12
  610. package/dist/esm/keypairs/passkey/index.js.map +1 -0
  611. package/dist/esm/keypairs/passkey/keypair.js +236 -243
  612. package/dist/esm/keypairs/passkey/keypair.js.map +1 -0
  613. package/dist/esm/keypairs/passkey/publickey.js +154 -140
  614. package/dist/esm/keypairs/passkey/publickey.js.map +1 -0
  615. package/dist/esm/keypairs/passkey/types.js +4 -0
  616. package/dist/esm/keypairs/passkey/types.js.map +1 -0
  617. package/dist/esm/keypairs/secp256k1/index.js +5 -10
  618. package/dist/esm/keypairs/secp256k1/index.js.map +1 -0
  619. package/dist/esm/keypairs/secp256k1/keypair.js +120 -134
  620. package/dist/esm/keypairs/secp256k1/keypair.js.map +1 -0
  621. package/dist/esm/keypairs/secp256k1/publickey.js +64 -71
  622. package/dist/esm/keypairs/secp256k1/publickey.js.map +1 -0
  623. package/dist/esm/keypairs/secp256r1/index.js +5 -10
  624. package/dist/esm/keypairs/secp256r1/index.js.map +1 -0
  625. package/dist/esm/keypairs/secp256r1/keypair.js +118 -131
  626. package/dist/esm/keypairs/secp256r1/keypair.js.map +1 -0
  627. package/dist/esm/keypairs/secp256r1/publickey.js +63 -66
  628. package/dist/esm/keypairs/secp256r1/publickey.js.map +1 -0
  629. package/dist/esm/multisig/index.js +5 -10
  630. package/dist/esm/multisig/index.js.map +1 -0
  631. package/dist/esm/multisig/publickey.d.ts +1 -1
  632. package/dist/esm/multisig/publickey.js +216 -253
  633. package/dist/esm/multisig/publickey.js.map +1 -0
  634. package/dist/esm/multisig/signer.js +57 -89
  635. package/dist/esm/multisig/signer.js.map +1 -0
  636. package/dist/esm/transactions/Arguments.d.ts +4 -4
  637. package/dist/esm/transactions/Arguments.js +9 -13
  638. package/dist/esm/transactions/Arguments.js.map +1 -0
  639. package/dist/esm/transactions/Commands.js +105 -118
  640. package/dist/esm/transactions/Commands.js.map +1 -0
  641. package/dist/esm/transactions/Inputs.js +49 -61
  642. package/dist/esm/transactions/Inputs.js.map +1 -0
  643. package/dist/esm/transactions/ObjectCache.d.ts +8 -8
  644. package/dist/esm/transactions/ObjectCache.js +200 -223
  645. package/dist/esm/transactions/ObjectCache.js.map +1 -0
  646. package/dist/esm/transactions/Transaction.d.ts +32 -32
  647. package/dist/esm/transactions/Transaction.js +611 -696
  648. package/dist/esm/transactions/Transaction.js.map +1 -0
  649. package/dist/esm/transactions/TransactionData.d.ts +9 -9
  650. package/dist/esm/transactions/TransactionData.js +386 -415
  651. package/dist/esm/transactions/TransactionData.js.map +1 -0
  652. package/dist/esm/transactions/__tests__/Transaction.test.js +167 -0
  653. package/dist/esm/transactions/__tests__/Transaction.test.js.map +1 -0
  654. package/dist/esm/transactions/__tests__/bcs.test.js +200 -0
  655. package/dist/esm/transactions/__tests__/bcs.test.js.map +1 -0
  656. package/dist/esm/transactions/data/internal.js +158 -205
  657. package/dist/esm/transactions/data/internal.js.map +1 -0
  658. package/dist/esm/transactions/data/v1.js +419 -487
  659. package/dist/esm/transactions/data/v1.js.map +1 -0
  660. package/dist/esm/transactions/data/v2.d.ts +5 -5
  661. package/dist/esm/transactions/data/v2.js +89 -107
  662. package/dist/esm/transactions/data/v2.js.map +1 -0
  663. package/dist/esm/transactions/executor/caching.d.ts +2 -2
  664. package/dist/esm/transactions/executor/caching.js +66 -93
  665. package/dist/esm/transactions/executor/caching.js.map +1 -0
  666. package/dist/esm/transactions/executor/parallel.js +329 -352
  667. package/dist/esm/transactions/executor/parallel.js.map +1 -0
  668. package/dist/esm/transactions/executor/queue.js +58 -64
  669. package/dist/esm/transactions/executor/queue.js.map +1 -0
  670. package/dist/esm/transactions/executor/serial.d.ts +5 -5
  671. package/dist/esm/transactions/executor/serial.js +96 -110
  672. package/dist/esm/transactions/executor/serial.js.map +1 -0
  673. package/dist/esm/transactions/hash.js +15 -9
  674. package/dist/esm/transactions/hash.js.map +1 -0
  675. package/dist/esm/transactions/index.js +15 -41
  676. package/dist/esm/transactions/index.js.map +1 -0
  677. package/dist/esm/transactions/intents/CoinWithBalance.js +127 -165
  678. package/dist/esm/transactions/intents/CoinWithBalance.js.map +1 -0
  679. package/dist/esm/transactions/object.js +86 -92
  680. package/dist/esm/transactions/object.js.map +1 -0
  681. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +18 -15
  682. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js.map +1 -0
  683. package/dist/esm/transactions/pure.js +34 -39
  684. package/dist/esm/transactions/pure.js.map +1 -0
  685. package/dist/esm/transactions/resolve.js +58 -69
  686. package/dist/esm/transactions/resolve.js.map +1 -0
  687. package/dist/esm/transactions/serializer.js +145 -144
  688. package/dist/esm/transactions/serializer.js.map +1 -0
  689. package/dist/esm/transactions/utils.d.ts +1 -1
  690. package/dist/esm/transactions/utils.js +110 -109
  691. package/dist/esm/transactions/utils.js.map +1 -0
  692. package/dist/esm/utils/constants.js +26 -36
  693. package/dist/esm/utils/constants.js.map +1 -0
  694. package/dist/esm/utils/derived-objects.js +11 -10
  695. package/dist/esm/utils/derived-objects.js.map +1 -0
  696. package/dist/esm/utils/dynamic-fields.js +16 -16
  697. package/dist/esm/utils/dynamic-fields.js.map +1 -0
  698. package/dist/esm/utils/format.js +13 -13
  699. package/dist/esm/utils/format.js.map +1 -0
  700. package/dist/esm/utils/index.js +15 -76
  701. package/dist/esm/utils/index.js.map +1 -0
  702. package/dist/esm/utils/move-registry.js +34 -17
  703. package/dist/esm/utils/move-registry.js.map +1 -0
  704. package/dist/esm/utils/sui-types.js +70 -54
  705. package/dist/esm/utils/sui-types.js.map +1 -0
  706. package/dist/esm/utils/suins.js +29 -29
  707. package/dist/esm/utils/suins.js.map +1 -0
  708. package/dist/esm/verify/index.js +5 -14
  709. package/dist/esm/verify/index.js.map +1 -0
  710. package/dist/esm/verify/verify.js +76 -93
  711. package/dist/esm/verify/verify.js.map +1 -0
  712. package/dist/esm/version.js +6 -6
  713. package/dist/esm/version.js.map +1 -0
  714. package/dist/esm/w/call/allocation.js +307 -402
  715. package/dist/esm/w/call/allocation.js.map +1 -0
  716. package/dist/esm/w/call/arb.js +100 -129
  717. package/dist/esm/w/call/arb.js.map +1 -0
  718. package/dist/esm/w/call/arbitration.js +1170 -1568
  719. package/dist/esm/w/call/arbitration.js.map +1 -0
  720. package/dist/esm/w/call/base.js +288 -315
  721. package/dist/esm/w/call/base.js.map +1 -0
  722. package/dist/esm/w/call/contact.js +318 -442
  723. package/dist/esm/w/call/contact.js.map +1 -0
  724. package/dist/esm/w/call/demand.js +673 -841
  725. package/dist/esm/w/call/demand.js.map +1 -0
  726. package/dist/esm/w/call/entity.js +162 -203
  727. package/dist/esm/w/call/entity.js.map +1 -0
  728. package/dist/esm/w/call/guard-ins.js +4373 -4371
  729. package/dist/esm/w/call/guard-ins.js.map +1 -0
  730. package/dist/esm/w/call/guard.js +1061 -1108
  731. package/dist/esm/w/call/guard.js.map +1 -0
  732. package/dist/esm/w/call/index.js +24 -56
  733. package/dist/esm/w/call/index.js.map +1 -0
  734. package/dist/esm/w/call/machine.js +1086 -1433
  735. package/dist/esm/w/call/machine.js.map +1 -0
  736. package/dist/esm/w/call/order.js +301 -448
  737. package/dist/esm/w/call/order.js.map +1 -0
  738. package/dist/esm/w/call/passport.js +204 -240
  739. package/dist/esm/w/call/passport.js.map +1 -0
  740. package/dist/esm/w/call/payment.js +177 -215
  741. package/dist/esm/w/call/payment.js.map +1 -0
  742. package/dist/esm/w/call/permission.js +1172 -1320
  743. package/dist/esm/w/call/permission.js.map +1 -0
  744. package/dist/esm/w/call/personal.js +121 -156
  745. package/dist/esm/w/call/personal.js.map +1 -0
  746. package/dist/esm/w/call/progress.js +625 -797
  747. package/dist/esm/w/call/progress.js.map +1 -0
  748. package/dist/esm/w/call/proof.js +61 -103
  749. package/dist/esm/w/call/proof.js.map +1 -0
  750. package/dist/esm/w/call/repository.js +1017 -1251
  751. package/dist/esm/w/call/repository.js.map +1 -0
  752. package/dist/esm/w/call/resource.js +108 -124
  753. package/dist/esm/w/call/resource.js.map +1 -0
  754. package/dist/esm/w/call/reward.js +660 -847
  755. package/dist/esm/w/call/reward.js.map +1 -0
  756. package/dist/esm/w/call/service.js +1849 -2400
  757. package/dist/esm/w/call/service.js.map +1 -0
  758. package/dist/esm/w/call/treasury.js +815 -1125
  759. package/dist/esm/w/call/treasury.js.map +1 -0
  760. package/dist/esm/w/call/util.js +553 -576
  761. package/dist/esm/w/call/util.js.map +1 -0
  762. package/dist/esm/w/common.d.ts +1 -1
  763. package/dist/esm/w/common.js +579 -580
  764. package/dist/esm/w/common.js.map +1 -0
  765. package/dist/esm/w/exception.js +570 -573
  766. package/dist/esm/w/exception.js.map +1 -0
  767. package/dist/esm/w/index.js +4 -0
  768. package/dist/esm/w/index.js.map +1 -0
  769. package/dist/esm/w/local/account.js +652 -709
  770. package/dist/esm/w/local/account.js.map +1 -0
  771. package/dist/esm/w/local/cache.js +176 -147
  772. package/dist/esm/w/local/cache.js.map +1 -0
  773. package/dist/esm/w/local/config.js +46 -60
  774. package/dist/esm/w/local/config.js.map +1 -0
  775. package/dist/esm/w/local/index.js +196 -273
  776. package/dist/esm/w/local/index.js.map +1 -0
  777. package/dist/esm/w/local/local.d.ts +2 -2
  778. package/dist/esm/w/local/local.js +631 -626
  779. package/dist/esm/w/local/local.js.map +1 -0
  780. package/dist/esm/w/local/storage.js +168 -136
  781. package/dist/esm/w/local/storage.js.map +1 -0
  782. package/dist/esm/w/local/token.js +149 -151
  783. package/dist/esm/w/local/token.js.map +1 -0
  784. package/dist/esm/w/local/util.js +45 -22
  785. package/dist/esm/w/local/util.js.map +1 -0
  786. package/dist/esm/w/local/wip.js +1038 -781
  787. package/dist/esm/w/local/wip.js.map +1 -0
  788. package/dist/esm/w/messenger/crypto.js +491 -387
  789. package/dist/esm/w/messenger/crypto.js.map +1 -0
  790. package/dist/esm/w/messenger/index.js +27 -24
  791. package/dist/esm/w/messenger/index.js.map +1 -0
  792. package/dist/esm/w/messenger/messenger-api.js +1111 -1017
  793. package/dist/esm/w/messenger/messenger-api.js.map +1 -0
  794. package/dist/esm/w/messenger/messenger-manager.js +944 -1052
  795. package/dist/esm/w/messenger/messenger-manager.js.map +1 -0
  796. package/dist/esm/w/messenger/messenger.d.ts +1 -1
  797. package/dist/esm/w/messenger/messenger.js +1258 -1421
  798. package/dist/esm/w/messenger/messenger.js.map +1 -0
  799. package/dist/esm/w/messenger/server.js +388 -499
  800. package/dist/esm/w/messenger/server.js.map +1 -0
  801. package/dist/esm/w/messenger/session.js +394 -399
  802. package/dist/esm/w/messenger/session.js.map +1 -0
  803. package/dist/esm/w/messenger/storage.js +840 -751
  804. package/dist/esm/w/messenger/storage.js.map +1 -0
  805. package/dist/esm/w/messenger/types.d.ts +2 -2
  806. package/dist/esm/w/messenger/types.js +80 -85
  807. package/dist/esm/w/messenger/types.js.map +1 -0
  808. package/dist/esm/w/messenger/utils.js +28 -16
  809. package/dist/esm/w/messenger/utils.js.map +1 -0
  810. package/dist/esm/w/query/bult-in.js +95 -100
  811. package/dist/esm/w/query/bult-in.js.map +1 -0
  812. package/dist/esm/w/query/event.js +128 -125
  813. package/dist/esm/w/query/event.js.map +1 -0
  814. package/dist/esm/w/query/index.js +3 -0
  815. package/dist/esm/w/query/index.js.map +1 -0
  816. package/dist/esm/w/query/object.js +1560 -1574
  817. package/dist/esm/w/query/object.js.map +1 -0
  818. package/dist/esm/w/query/received.js +57 -63
  819. package/dist/esm/w/query/received.js.map +1 -0
  820. package/dist/esm/w/query/util.js +48 -56
  821. package/dist/esm/w/query/util.js.map +1 -0
  822. package/dist/esm/w/util.js +578 -673
  823. package/dist/esm/w/util.js.map +1 -0
  824. package/package.json +13 -7
  825. package/prebuilds/better-sqlite3-v12.9.0-node-v115-darwin-arm64.node +0 -0
  826. package/prebuilds/better-sqlite3-v12.9.0-node-v115-darwin-x64.node +0 -0
  827. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-arm.node +0 -0
  828. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-arm64.node +0 -0
  829. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-x64.node +0 -0
  830. package/prebuilds/better-sqlite3-v12.9.0-node-v115-win32-arm64.node +0 -0
  831. package/prebuilds/better-sqlite3-v12.9.0-node-v115-win32-x64.node +0 -0
  832. package/prebuilds/better-sqlite3-v12.9.0-node-v127-darwin-arm64.node +0 -0
  833. package/prebuilds/better-sqlite3-v12.9.0-node-v127-darwin-x64.node +0 -0
  834. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-arm.node +0 -0
  835. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-arm64.node +0 -0
  836. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-x64.node +0 -0
  837. package/prebuilds/better-sqlite3-v12.9.0-node-v127-win32-arm64.node +0 -0
  838. package/prebuilds/better-sqlite3-v12.9.0-node-v127-win32-x64.node +0 -0
  839. package/scripts/download-prebuilds.js +234 -0
  840. package/scripts/install-better-sqlite3.js +377 -0
  841. package/dist/cjs/graphql/client.js +0 -98
  842. package/dist/cjs/graphql/core.js +0 -506
  843. package/dist/cjs/graphql/generated/2024.1/tada-env.js +0 -13141
  844. package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +0 -11
  845. package/dist/cjs/graphql/generated/2024.4/tada-env.js +0 -13287
  846. package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +0 -11
  847. package/dist/cjs/graphql/generated/latest/tada-env.js +0 -12925
  848. package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +0 -11
  849. package/dist/cjs/graphql/generated/queries.js +0 -807
  850. package/dist/cjs/graphql/index.js +0 -25
  851. package/dist/cjs/graphql/schemas/2024.1/index.js +0 -28
  852. package/dist/cjs/graphql/schemas/2024.4/index.js +0 -28
  853. package/dist/cjs/graphql/schemas/latest/index.js +0 -28
  854. package/dist/cjs/graphql/types.js +0 -16
  855. package/dist/cjs/package.json +0 -5
  856. package/dist/cjs/w/local/.eslintrc.js +0 -15
  857. package/dist/cjs/w/messenger/.eslintrc.js +0 -15
  858. package/dist/cjs/zklogin/address.js +0 -93
  859. package/dist/cjs/zklogin/bcs.js +0 -41
  860. package/dist/cjs/zklogin/index.js +0 -45
  861. package/dist/cjs/zklogin/jwt-decode.js +0 -88
  862. package/dist/cjs/zklogin/jwt-utils.js +0 -128
  863. package/dist/cjs/zklogin/nonce.js +0 -60
  864. package/dist/cjs/zklogin/poseidon.js +0 -64
  865. package/dist/cjs/zklogin/publickey.js +0 -281
  866. package/dist/cjs/zklogin/signature.js +0 -57
  867. package/dist/cjs/zklogin/utils.js +0 -98
  868. package/dist/esm/graphql/client.js +0 -79
  869. package/dist/esm/graphql/core.js +0 -505
  870. package/dist/esm/graphql/generated/2024.1/tada-env.js +0 -13121
  871. package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +0 -16
  872. package/dist/esm/graphql/generated/2024.4/tada-env.js +0 -13267
  873. package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +0 -16
  874. package/dist/esm/graphql/generated/latest/tada-env.js +0 -12905
  875. package/dist/esm/graphql/generated/latest/tsconfig.tada.js +0 -16
  876. package/dist/esm/graphql/generated/queries.js +0 -788
  877. package/dist/esm/graphql/index.js +0 -8
  878. package/dist/esm/graphql/schemas/2024.1/index.js +0 -8
  879. package/dist/esm/graphql/schemas/2024.4/index.js +0 -8
  880. package/dist/esm/graphql/schemas/latest/index.js +0 -8
  881. package/dist/esm/graphql/types.js +0 -0
  882. package/dist/esm/package.json +0 -5
  883. package/dist/esm/w/local/.eslintrc.js +0 -23
  884. package/dist/esm/w/messenger/.eslintrc.js +0 -23
  885. package/dist/esm/zklogin/address.js +0 -78
  886. package/dist/esm/zklogin/bcs.js +0 -21
  887. package/dist/esm/zklogin/index.js +0 -38
  888. package/dist/esm/zklogin/jwt-decode.js +0 -68
  889. package/dist/esm/zklogin/jwt-utils.js +0 -108
  890. package/dist/esm/zklogin/nonce.js +0 -40
  891. package/dist/esm/zklogin/poseidon.js +0 -61
  892. package/dist/esm/zklogin/publickey.js +0 -265
  893. package/dist/esm/zklogin/signature.js +0 -37
  894. package/dist/esm/zklogin/utils.js +0 -78
  895. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  896. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,14 +1,11 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
1
+ // Copyright (c) Wowok.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /**
4
+ * account management
5
+ */
4
6
  import { Ed25519Keypair } from "../../keypairs/ed25519/index.js";
5
7
  import { W_ERROR, WErrors } from "../exception.js";
6
- import {
7
- GasTokenType,
8
- isGasTokenType,
9
- isValidName,
10
- MAX_NAME_LENGTH
11
- } from "../common.js";
8
+ import { GasTokenType, isGasTokenType, isValidName, MAX_NAME_LENGTH, } from "../common.js";
12
9
  import { getFaucetHost, requestSuiFromFaucetV2 } from "../../faucet/index.js";
13
10
  import { Transaction } from "../../transactions/index.js";
14
11
  import { getFullnodeUrl } from "../../client/network.js";
@@ -16,731 +13,677 @@ import { SuiClient } from "../../client/index.js";
16
13
  import { Config } from "./config.js";
17
14
  import { SQLiteAccountStorage } from "./storage.js";
18
15
  import { isValidWowAddress } from "../../utils/sui-types.js";
19
- const DEFAULT_ACCOUNT_NAME = "";
20
- const MAX_MESSENGER_ACCOUNTS = 10;
21
- const _Account = class _Account {
22
- constructor() {
23
- // token_type is the platform token, if not specified.
24
- __publicField(this, "balance", async (token_type, address_or_name, network) => {
25
- const a = await this.get(address_or_name);
26
- token_type = token_type ?? GasTokenType;
27
- if (a) {
28
- const client = new SuiClient({
29
- url: getFullnodeUrl(
30
- await Config.Instance().network_get(network)
31
- )
32
- });
33
- return client.getBalance({
34
- owner: a.address,
35
- coinType: token_type
36
- });
37
- }
38
- return void 0;
39
- });
40
- // token_type is the platform token, if not specified.
41
- __publicField(this, "coin", async (token_type, cursor, limit, address_or_name, network) => {
42
- const a = await this.get(address_or_name);
43
- token_type = token_type ?? GasTokenType;
44
- if (a) {
45
- const client = new SuiClient({
46
- url: getFullnodeUrl(
47
- await Config.Instance().network_get(network)
48
- )
49
- });
50
- return client.getCoins({
51
- owner: a.address,
52
- coinType: token_type,
53
- cursor,
54
- limit
55
- });
56
- }
57
- return void 0;
58
- });
59
- __publicField(this, "get_coin_object", async (txb, balance_required, token_type, address_or_name, network) => {
60
- const a = await this.get(address_or_name);
61
- if (a) {
62
- const b = BigInt(balance_required);
63
- const client = new SuiClient({
64
- url: getFullnodeUrl(
65
- await Config.Instance().network_get(network)
66
- )
67
- });
68
- if (b >= BigInt(0)) {
69
- if (!token_type || isGasTokenType(token_type)) {
70
- return txb.splitCoins(txb.gas, [b]);
71
- } else {
72
- const r = await client.getCoins({
73
- owner: a.address,
74
- coinType: token_type
75
- });
76
- const objects = [];
77
- let current = BigInt(0);
78
- for (let i = 0; i < r.data.length; ++i) {
79
- current += BigInt(r.data[i].balance);
80
- objects.push(r.data[i].coinObjectId);
81
- if (current >= b) {
82
- break;
83
- }
84
- }
85
- if (objects.length === 1) {
86
- return txb.splitCoins(objects[0], [b]);
87
- } else {
88
- const ret = objects.pop();
89
- txb.mergeCoins(ret, objects);
90
- return txb.splitCoins(ret, [b]);
91
- }
92
- }
93
- }
94
- }
95
- return void 0;
96
- });
97
- __publicField(this, "get_many_coin_object", async (txb, balance_required, token_type, address_or_name, network) => {
98
- const coinObjects = [];
99
- for (const balance of balance_required) {
100
- const coinObject = await this.get_coin_object(
101
- txb,
102
- balance,
103
- address_or_name,
104
- token_type,
105
- network
106
- );
107
- if (!coinObject) {
108
- W_ERROR(
109
- WErrors.InvalidParam,
110
- `Invalid coin object: ${balance}`
111
- );
112
- } else {
113
- coinObjects.push(coinObject);
114
- }
115
- }
116
- return txb.makeMoveVec({ elements: coinObjects });
117
- });
118
- __publicField(this, "coinObject_with_balance", async (balance_required, token_type, address_or_name, network) => {
119
- const a = await this.get_imp(address_or_name);
120
- if (!a) return void 0;
121
- const pair = Ed25519Keypair.fromSecretKey(a.secret);
122
- if (!pair) return void 0;
123
- const txb = new Transaction();
124
- const res = await this.get_coin_object(
125
- txb,
126
- balance_required,
127
- token_type,
128
- address_or_name,
129
- network
130
- );
131
- if (res) {
132
- txb.transferObjects([res], a.address);
133
- const client = new SuiClient({
134
- url: getFullnodeUrl(
135
- await Config.Instance().network_get(network)
136
- )
137
- });
138
- const r = await client.signAndExecuteTransaction({
139
- transaction: txb,
140
- signer: pair,
141
- options: { showObjectChanges: true }
142
- });
143
- const t = token_type ?? GasTokenType;
144
- return r?.objectChanges?.find(
145
- (v) => v?.type === "created" && (v?.objectType).includes(t)
146
- )?.objectId;
147
- }
148
- return void 0;
149
- });
150
- }
151
- setStorage(storage) {
152
- _Account.storage = storage;
153
- }
154
- /**
155
- * 获取存储实例,如果未初始化则自动初始化
156
- */
157
- async getStorage() {
158
- if (!_Account.storage) {
159
- _Account.storage = new SQLiteAccountStorage();
16
+ export const DEFAULT_ACCOUNT_NAME = "";
17
+ export const MAX_MESSENGER_ACCOUNTS = 10;
18
+ export class Account {
19
+ static _instance;
20
+ static storage;
21
+ setStorage(storage) {
22
+ Account.storage = storage;
160
23
  }
161
- return _Account.storage;
162
- }
163
- static Instance() {
164
- if (!_Account._instance) {
165
- _Account._instance = new _Account();
24
+ /**
25
+ * 获取存储实例,如果未初始化则自动初始化
26
+ */
27
+ async getStorage() {
28
+ if (!Account.storage) {
29
+ Account.storage = new SQLiteAccountStorage();
30
+ }
31
+ return Account.storage;
166
32
  }
167
- return _Account._instance;
168
- }
169
- accountData(data) {
170
- if (!data || !data.secret) return void 0;
171
- const r = Ed25519Keypair.fromSecretKey(data.secret);
172
- data.pubkey = r.getPublicKey().toWPublicKey();
173
- data.secret = void 0;
174
- return data;
175
- }
176
- async gen(name, replaceExistName, m) {
177
- name = this.name_resolve(name);
178
- if (name && !isValidName(name)) {
179
- W_ERROR(
180
- WErrors.IsValidName,
181
- `Name ${name} is exceeds max ${MAX_NAME_LENGTH}`
182
- );
33
+ static Instance() {
34
+ if (!Account._instance) {
35
+ Account._instance = new Account();
36
+ }
37
+ return Account._instance;
183
38
  }
184
- if (m && !isValidName(m)) {
185
- W_ERROR(
186
- WErrors.IsValidName,
187
- `Messenger name ${m} is exceeds max ${MAX_NAME_LENGTH}`
188
- );
39
+ accountData(data) {
40
+ if (!data || !data.secret)
41
+ return undefined;
42
+ const r = Ed25519Keypair.fromSecretKey(data.secret);
43
+ data.pubkey = r.getPublicKey().toWPublicKey();
44
+ data.secret = undefined;
45
+ return data;
189
46
  }
190
- const secret = Ed25519Keypair.generate().getSecretKey();
191
- const address = Ed25519Keypair.fromSecretKey(secret).getPublicKey().toWAddress();
192
- const now = Date.now();
193
- const ret = {
194
- name,
195
- address,
196
- secret,
197
- m: m || void 0,
198
- createdAt: now,
199
- updatedAt: now
200
- };
201
- const storage = await this.getStorage();
202
- const value = await storage.get();
203
- if (value) {
204
- const data = JSON.parse(value);
205
- if (m) {
206
- const messengerCount = data.filter((d) => d.m != null).length;
207
- if (messengerCount >= MAX_MESSENGER_ACCOUNTS) {
208
- W_ERROR(
209
- WErrors.InvalidParam,
210
- `Maximum ${MAX_MESSENGER_ACCOUNTS} messenger accounts allowed, current count: ${messengerCount}`
211
- );
212
- }
213
- }
214
- const found = data.findIndex((d) => d.name === name);
215
- if (found !== -1) {
216
- if (replaceExistName) {
217
- data[found].name = void 0;
218
- data.push(ret);
219
- return this.accountData(ret);
220
- } else {
221
- W_ERROR(
222
- WErrors.AccountNameExist,
223
- `Name ${name || ""} already exist`
224
- );
225
- }
226
- } else {
227
- await storage.put(JSON.stringify([...data, ret]));
228
- }
229
- } else {
230
- await storage.put(JSON.stringify([ret]));
47
+ async gen(name, replaceExistName, m) {
48
+ name = this.name_resolve(name);
49
+ if (name && !isValidName(name)) {
50
+ W_ERROR(WErrors.IsValidName, `Name ${name} is exceeds max ${MAX_NAME_LENGTH}`);
51
+ }
52
+ if (m && !isValidName(m)) {
53
+ W_ERROR(WErrors.IsValidName, `Messenger name ${m} is exceeds max ${MAX_NAME_LENGTH}`);
54
+ }
55
+ const secret = Ed25519Keypair.generate().getSecretKey();
56
+ const address = Ed25519Keypair.fromSecretKey(secret)
57
+ .getPublicKey()
58
+ .toWAddress();
59
+ const now = Date.now();
60
+ const ret = {
61
+ name: name,
62
+ address: address,
63
+ secret: secret,
64
+ m: m || undefined,
65
+ createdAt: now,
66
+ updatedAt: now,
67
+ };
68
+ const storage = await this.getStorage();
69
+ const value = await storage.get();
70
+ if (value) {
71
+ const data = JSON.parse(value);
72
+ if (m) {
73
+ const messengerCount = data.filter((d) => d.m != null).length;
74
+ if (messengerCount >= MAX_MESSENGER_ACCOUNTS) {
75
+ W_ERROR(WErrors.InvalidParam, `Maximum ${MAX_MESSENGER_ACCOUNTS} messenger accounts allowed, current count: ${messengerCount}`);
76
+ }
77
+ }
78
+ const found = data.findIndex((d) => d.name === name);
79
+ if (found !== -1) {
80
+ // found
81
+ if (replaceExistName) {
82
+ data[found].name = undefined;
83
+ data.push(ret);
84
+ return this.accountData(ret);
85
+ }
86
+ else {
87
+ W_ERROR(WErrors.AccountNameExist, `Name ${name || ""} already exist`);
88
+ }
89
+ }
90
+ else {
91
+ await storage.put(JSON.stringify([...data, ret]));
92
+ }
93
+ }
94
+ else {
95
+ await storage.put(JSON.stringify([ret]));
96
+ }
97
+ return this.accountData(ret);
231
98
  }
232
- return this.accountData(ret);
233
- }
234
- async default() {
235
- return this.accountData(await this.get_imp(DEFAULT_ACCOUNT_NAME));
236
- }
237
- // address: if undefined, the default returned.
238
- async get(address_or_name, notFoundGenerate) {
239
- if (!notFoundGenerate) {
240
- return this.accountData(await this.get_imp(address_or_name));
99
+ async default() {
100
+ return this.accountData(await this.get_imp(DEFAULT_ACCOUNT_NAME));
241
101
  }
242
- return this.gen(address_or_name);
243
- }
244
- async get_address(address_or_name) {
245
- if (address_or_name && isValidWowAddress(address_or_name)) {
246
- return address_or_name;
102
+ // address: if undefined, the default returned.
103
+ async get(address_or_name, notFoundGenerate) {
104
+ if (!notFoundGenerate) {
105
+ return this.accountData(await this.get_imp(address_or_name));
106
+ }
107
+ return this.gen(address_or_name);
247
108
  }
248
- return (await this.get_imp(address_or_name))?.address;
249
- }
250
- async get_many_address(address_or_names) {
251
- const storage = await this.getStorage();
252
- const value = await storage.get();
253
- if (value) {
254
- const s = JSON.parse(value);
255
- return address_or_names.map((i) => {
256
- if (i && isValidWowAddress(i)) return i;
257
- return s.find(
258
- (v) => v.address === i || v.name === this.name_resolve(i)
259
- )?.address;
260
- });
109
+ async get_address(address_or_name) {
110
+ if (address_or_name && isValidWowAddress(address_or_name)) {
111
+ return address_or_name;
112
+ }
113
+ return (await this.get_imp(address_or_name))?.address;
261
114
  }
262
- return address_or_names.map(
263
- (i) => i && isValidWowAddress(i) ? i : void 0
264
- );
265
- }
266
- async get_imp(address_or_name) {
267
- address_or_name = this.name_resolve(address_or_name);
268
- const storage = await this.getStorage();
269
- const value = await storage.get();
270
- if (value) {
271
- return JSON.parse(value).find(
272
- (d) => d.name === address_or_name || d.address === address_or_name
273
- );
115
+ async get_many_address(address_or_names) {
116
+ const storage = await this.getStorage();
117
+ const value = await storage.get();
118
+ if (value) {
119
+ const s = JSON.parse(value);
120
+ return address_or_names.map((i) => {
121
+ if (i && isValidWowAddress(i))
122
+ return i;
123
+ return s.find((v) => v.address === i || v.name === this.name_resolve(i))?.address;
124
+ });
125
+ }
126
+ return address_or_names.map((i) => i && isValidWowAddress(i) ? i : undefined);
274
127
  }
275
- return void 0;
276
- }
277
- name_resolve(address_or_name) {
278
- return address_or_name || DEFAULT_ACCOUNT_NAME;
279
- }
280
- async get_many_imp(address_or_names) {
281
- const storage = await this.getStorage();
282
- const value = await storage.get();
283
- if (value) {
284
- const s = JSON.parse(value);
285
- return address_or_names.map((i) => {
286
- return s.find(
287
- (v) => v.address === i || v.name === this.name_resolve(i)
288
- );
289
- });
128
+ async get_imp(address_or_name) {
129
+ address_or_name = this.name_resolve(address_or_name);
130
+ const storage = await this.getStorage();
131
+ const value = await storage.get();
132
+ if (value) {
133
+ return JSON.parse(value).find((d) => d.name === address_or_name || d.address === address_or_name);
134
+ }
135
+ return undefined;
290
136
  }
291
- return address_or_names.map((_) => void 0);
292
- }
293
- async swap_name(name1, name2) {
294
- name1 = this.name_resolve(name1);
295
- name2 = this.name_resolve(name2);
296
- if (name1 === name2) return true;
297
- if (!isValidName(name1)) {
298
- W_ERROR(
299
- WErrors.IsValidName,
300
- `Name ${name1} is exceeds max ${MAX_NAME_LENGTH}`
301
- );
137
+ name_resolve(address_or_name) {
138
+ return address_or_name || DEFAULT_ACCOUNT_NAME;
302
139
  }
303
- if (!isValidName(name2)) {
304
- W_ERROR(
305
- WErrors.IsValidName,
306
- `Name ${name2} is exceeds max ${MAX_NAME_LENGTH}`
307
- );
140
+ async get_many_imp(address_or_names) {
141
+ const storage = await this.getStorage();
142
+ const value = await storage.get();
143
+ if (value) {
144
+ const s = JSON.parse(value);
145
+ return address_or_names.map((i) => {
146
+ return s.find((v) => v.address === i || v.name === this.name_resolve(i));
147
+ });
148
+ }
149
+ return address_or_names.map((_) => undefined);
308
150
  }
309
- const storage = await this.getStorage();
310
- const value = await storage.get();
311
- if (!value) return false;
312
- const data = JSON.parse(value);
313
- const f1 = data.find((d) => d.name === name1);
314
- const f2 = data.find((d) => d.name === name2);
315
- if (!f1 || !f2) return false;
316
- const now = Date.now();
317
- f1.name = name2;
318
- f1.updatedAt = now;
319
- f2.name = name1;
320
- f2.updatedAt = now;
321
- await storage.put(JSON.stringify(data));
322
- return true;
323
- }
324
- async rename(name, address_or_name) {
325
- name = this.name_resolve(name);
326
- address_or_name = this.name_resolve(address_or_name);
327
- if (address_or_name === name) return true;
328
- if (address_or_name && !isValidName(address_or_name)) {
329
- W_ERROR(
330
- WErrors.IsValidName,
331
- `Name ${address_or_name} is exceeds max ${MAX_NAME_LENGTH}`
332
- );
151
+ async swap_name(name1, name2) {
152
+ name1 = this.name_resolve(name1);
153
+ name2 = this.name_resolve(name2);
154
+ if (name1 === name2)
155
+ return true;
156
+ if (!isValidName(name1)) {
157
+ W_ERROR(WErrors.IsValidName, `Name ${name1} is exceeds max ${MAX_NAME_LENGTH}`);
158
+ }
159
+ if (!isValidName(name2)) {
160
+ W_ERROR(WErrors.IsValidName, `Name ${name2} is exceeds max ${MAX_NAME_LENGTH}`);
161
+ }
162
+ const storage = await this.getStorage();
163
+ const value = await storage.get();
164
+ if (!value)
165
+ return false;
166
+ const data = JSON.parse(value);
167
+ const f1 = data.find((d) => d.name === name1);
168
+ const f2 = data.find((d) => d.name === name2);
169
+ if (!f1 || !f2)
170
+ return false;
171
+ const now = Date.now();
172
+ f1.name = name2;
173
+ f1.updatedAt = now;
174
+ f2.name = name1;
175
+ f2.updatedAt = now;
176
+ await storage.put(JSON.stringify(data));
177
+ return true;
333
178
  }
334
- const storage = await this.getStorage();
335
- const value = await storage.get();
336
- if (value) {
337
- const data = JSON.parse(value);
338
- if (data.find((d) => d.name === name)) {
339
- W_ERROR(WErrors.IsValidName, `Name "${name}" already exists`);
340
- }
341
- const f = data.find((d) => d.name === address_or_name);
342
- if (!f) return false;
343
- const now = Date.now();
344
- f.name = name;
345
- f.updatedAt = now;
346
- await storage.put(JSON.stringify(data));
347
- return true;
179
+ async rename(name, address_or_name) {
180
+ name = this.name_resolve(name);
181
+ address_or_name = this.name_resolve(address_or_name);
182
+ if (address_or_name === name)
183
+ return true;
184
+ if (address_or_name && !isValidName(address_or_name)) {
185
+ W_ERROR(WErrors.IsValidName, `Name ${address_or_name} is exceeds max ${MAX_NAME_LENGTH}`);
186
+ }
187
+ const storage = await this.getStorage();
188
+ const value = await storage.get();
189
+ if (value) {
190
+ const data = JSON.parse(value);
191
+ if (data.find((d) => d.name === name)) {
192
+ W_ERROR(WErrors.IsValidName, `Name "${name}" already exists`);
193
+ }
194
+ const f = data.find((d) => d.name === address_or_name);
195
+ if (!f)
196
+ return false;
197
+ const now = Date.now();
198
+ f.name = name;
199
+ f.updatedAt = now;
200
+ await storage.put(JSON.stringify(data));
201
+ return true;
202
+ }
203
+ return false;
348
204
  }
349
- return false;
350
- }
351
- async list(filter) {
352
- const storage = await this.getStorage();
353
- const value = await storage.get();
354
- if (value) {
355
- let accounts = JSON.parse(value);
356
- if (filter?.suspended !== void 0) {
357
- accounts = accounts.filter(
358
- (v) => filter.suspended ? v.suspended === true : !v.suspended
359
- );
360
- } else {
361
- accounts = accounts.filter((v) => !v.suspended);
362
- }
363
- if (filter?.hasMessenger !== void 0) {
364
- accounts = accounts.filter(
365
- (v) => filter.hasMessenger ? v.m != null : v.m == null
366
- );
367
- }
368
- if (filter?.m != null) {
369
- accounts = accounts.filter((v) => v.m != null);
370
- }
371
- if (filter?.createdAt) {
372
- if (filter.createdAt.gte !== void 0) {
373
- accounts = accounts.filter(
374
- (v) => v.createdAt && v.createdAt >= filter.createdAt.gte
375
- );
376
- }
377
- if (filter.createdAt.lte !== void 0) {
378
- accounts = accounts.filter(
379
- (v) => v.createdAt && v.createdAt <= filter.createdAt.lte
380
- );
381
- }
382
- }
383
- if (filter?.updatedAt) {
384
- if (filter.updatedAt.gte !== void 0) {
385
- accounts = accounts.filter(
386
- (v) => v.updatedAt && v.updatedAt >= filter.updatedAt.gte
387
- );
388
- }
389
- if (filter.updatedAt.lte !== void 0) {
390
- accounts = accounts.filter(
391
- (v) => v.updatedAt && v.updatedAt <= filter.updatedAt.lte
392
- );
393
- }
394
- }
395
- if (filter?.name != null || filter?.address || filter?.m != null) {
396
- accounts = accounts.map((account) => {
397
- let score = 0;
398
- if (filter?.name != null) {
399
- const lowerName = account.name?.toLowerCase() || "";
400
- const lowerFilterName = filter.name.toLowerCase();
401
- if (lowerName === lowerFilterName) {
402
- score += 100;
403
- } else if (lowerName.startsWith(lowerFilterName)) {
404
- score += 50;
405
- } else if (lowerName.includes(lowerFilterName)) {
406
- score += 25;
205
+ async list(filter) {
206
+ const storage = await this.getStorage();
207
+ const value = await storage.get();
208
+ if (value) {
209
+ let accounts = JSON.parse(value);
210
+ // 应用suspended过滤
211
+ if (filter?.suspended !== undefined) {
212
+ accounts = accounts.filter((v) => filter.suspended ? v.suspended === true : !v.suspended);
407
213
  }
408
- }
409
- if (filter?.address) {
410
- const lowerAddress = account.address.toLowerCase();
411
- const lowerFilterAddress = filter.address.toLowerCase();
412
- if (lowerAddress === lowerFilterAddress) {
413
- score += 100;
414
- } else if (lowerAddress.startsWith(lowerFilterAddress)) {
415
- score += 50;
416
- } else if (lowerAddress.includes(lowerFilterAddress)) {
417
- score += 25;
214
+ else {
215
+ accounts = accounts.filter((v) => !v.suspended);
418
216
  }
419
- }
420
- if (filter?.m != null && account.m != null) {
421
- const lowerM = account.m.toLowerCase();
422
- const lowerFilterM = filter.m.toLowerCase();
423
- if (lowerM === lowerFilterM) {
424
- score += 100;
425
- } else if (lowerM.startsWith(lowerFilterM)) {
426
- score += 50;
427
- } else if (lowerM.includes(lowerFilterM)) {
428
- score += 25;
217
+ // 应用hasMessenger过滤
218
+ if (filter?.hasMessenger !== undefined) {
219
+ accounts = accounts.filter((v) => filter.hasMessenger ? v.m != null : v.m == null);
429
220
  }
430
- }
431
- if ((filter?.name || filter?.address || filter?.m != null) && score === 0) {
432
- score = -1;
433
- }
434
- return { account, score };
435
- }).filter(({ score }) => score >= 0).sort((a, b) => b.score - a.score).map(({ account }) => account);
436
- }
437
- return accounts.map((v) => this.accountData(v)).filter((v) => v !== void 0);
438
- }
439
- return [];
440
- }
441
- async suspend(address_or_name) {
442
- address_or_name = this.name_resolve(address_or_name);
443
- const storage = await this.getStorage();
444
- const value = await storage.get();
445
- if (value) {
446
- const s = JSON.parse(value);
447
- const f = s.find(
448
- (v) => v.address === address_or_name || v.name === address_or_name
449
- );
450
- if (f) {
451
- const now = Date.now();
452
- f.suspended = true;
453
- f.name = void 0;
454
- f.updatedAt = now;
455
- await storage.put(JSON.stringify(s));
456
- return true;
457
- }
221
+ // 应用m字段过滤(模糊搜索)
222
+ if (filter?.m != null) {
223
+ accounts = accounts.filter((v) => v.m != null);
224
+ }
225
+ // 应用createdAt过滤
226
+ if (filter?.createdAt) {
227
+ if (filter.createdAt.gte !== undefined) {
228
+ accounts = accounts.filter((v) => v.createdAt &&
229
+ v.createdAt >= filter.createdAt.gte);
230
+ }
231
+ if (filter.createdAt.lte !== undefined) {
232
+ accounts = accounts.filter((v) => v.createdAt &&
233
+ v.createdAt <= filter.createdAt.lte);
234
+ }
235
+ }
236
+ // 应用updatedAt过滤
237
+ if (filter?.updatedAt) {
238
+ if (filter.updatedAt.gte !== undefined) {
239
+ accounts = accounts.filter((v) => v.updatedAt &&
240
+ v.updatedAt >= filter.updatedAt.gte);
241
+ }
242
+ if (filter.updatedAt.lte !== undefined) {
243
+ accounts = accounts.filter((v) => v.updatedAt &&
244
+ v.updatedAt <= filter.updatedAt.lte);
245
+ }
246
+ }
247
+ // 应用name、address和m字段过滤(模糊搜索)
248
+ if (filter?.name != null || filter?.address || filter?.m != null) {
249
+ // 添加评分以便排序
250
+ accounts = accounts
251
+ .map((account) => {
252
+ let score = 0;
253
+ // 名称匹配评分
254
+ if (filter?.name != null) {
255
+ const lowerName = account.name?.toLowerCase() || "";
256
+ const lowerFilterName = filter.name.toLowerCase();
257
+ if (lowerName === lowerFilterName) {
258
+ score += 100; // 完全匹配最高优先级
259
+ }
260
+ else if (lowerName.startsWith(lowerFilterName)) {
261
+ score += 50; // 开头匹配次高优先级
262
+ }
263
+ else if (lowerName.includes(lowerFilterName)) {
264
+ score += 25; // 包含匹配较低优先级
265
+ }
266
+ }
267
+ // 地址匹配评分
268
+ if (filter?.address) {
269
+ const lowerAddress = account.address.toLowerCase();
270
+ const lowerFilterAddress = filter.address.toLowerCase();
271
+ if (lowerAddress === lowerFilterAddress) {
272
+ score += 100; // 完全匹配最高优先级
273
+ }
274
+ else if (lowerAddress.startsWith(lowerFilterAddress)) {
275
+ score += 50; // 开头匹配次高优先级
276
+ }
277
+ else if (lowerAddress.includes(lowerFilterAddress)) {
278
+ score += 25; // 包含匹配较低优先级
279
+ }
280
+ }
281
+ // m字段匹配评分
282
+ if (filter?.m != null && account.m != null) {
283
+ const lowerM = account.m.toLowerCase();
284
+ const lowerFilterM = filter.m.toLowerCase();
285
+ if (lowerM === lowerFilterM) {
286
+ score += 100; // 完全匹配最高优先级
287
+ }
288
+ else if (lowerM.startsWith(lowerFilterM)) {
289
+ score += 50; // 开头匹配次高优先级
290
+ }
291
+ else if (lowerM.includes(lowerFilterM)) {
292
+ score += 25; // 包含匹配较低优先级
293
+ }
294
+ }
295
+ // 如果有搜索条件但没有匹配项,将分数设为-1以过滤掉
296
+ if ((filter?.name ||
297
+ filter?.address ||
298
+ filter?.m != null) &&
299
+ score === 0) {
300
+ score = -1;
301
+ }
302
+ return { account, score };
303
+ })
304
+ // 过滤掉没有匹配项的结果
305
+ .filter(({ score }) => score >= 0)
306
+ // 按分数降序排序
307
+ .sort((a, b) => b.score - a.score)
308
+ // 提取账户数据
309
+ .map(({ account }) => account);
310
+ }
311
+ return accounts
312
+ .map((v) => this.accountData(v))
313
+ .filter((v) => v !== undefined);
314
+ }
315
+ return [];
458
316
  }
459
- return false;
460
- }
461
- async suspend_many(address_or_names) {
462
- const storage = await this.getStorage();
463
- const value = await storage.get();
464
- const result = { success: [], failed: [] };
465
- if (value) {
466
- const s = JSON.parse(value);
467
- const now = Date.now();
468
- let modified = false;
469
- for (const address_or_name of address_or_names) {
470
- const resolved = this.name_resolve(address_or_name);
471
- const f = s.find(
472
- (v) => v.address === resolved || v.name === resolved
473
- );
474
- if (f) {
475
- f.suspended = true;
476
- f.name = void 0;
477
- f.updatedAt = now;
478
- result.success.push(address_or_name);
479
- modified = true;
480
- } else {
481
- result.failed.push(address_or_name);
482
- }
483
- }
484
- if (modified) {
485
- await storage.put(JSON.stringify(s));
486
- }
487
- } else {
488
- result.failed = [...address_or_names];
317
+ async suspend(address_or_name) {
318
+ address_or_name = this.name_resolve(address_or_name);
319
+ const storage = await this.getStorage();
320
+ const value = await storage.get();
321
+ if (value) {
322
+ const s = JSON.parse(value);
323
+ const f = s.find((v) => v.address === address_or_name || v.name === address_or_name);
324
+ if (f) {
325
+ const now = Date.now();
326
+ f.suspended = true;
327
+ f.name = undefined;
328
+ f.updatedAt = now;
329
+ await storage.put(JSON.stringify(s));
330
+ return true;
331
+ }
332
+ }
333
+ return false;
489
334
  }
490
- return result;
491
- }
492
- async resume(address, name) {
493
- name = this.name_resolve(name);
494
- const storage = await this.getStorage();
495
- const value = await storage.get();
496
- if (value) {
497
- const s = JSON.parse(value);
498
- if (s.find((v) => v.name === name)) {
499
- W_ERROR(WErrors.IsValidName, `Name "${name}" already exists`);
500
- }
501
- const f = s.find((v) => v.address === address);
502
- if (f) {
503
- const now = Date.now();
504
- f.suspended = false;
505
- f.name = name;
506
- f.updatedAt = now;
507
- await storage.put(JSON.stringify(s));
508
- return true;
509
- }
335
+ async suspend_many(address_or_names) {
336
+ const storage = await this.getStorage();
337
+ const value = await storage.get();
338
+ const result = { success: [], failed: [] };
339
+ if (value) {
340
+ const s = JSON.parse(value);
341
+ const now = Date.now();
342
+ let modified = false;
343
+ for (const address_or_name of address_or_names) {
344
+ const resolved = this.name_resolve(address_or_name);
345
+ const f = s.find((v) => v.address === resolved || v.name === resolved);
346
+ if (f) {
347
+ f.suspended = true;
348
+ f.name = undefined;
349
+ f.updatedAt = now;
350
+ result.success.push(address_or_name);
351
+ modified = true;
352
+ }
353
+ else {
354
+ result.failed.push(address_or_name);
355
+ }
356
+ }
357
+ if (modified) {
358
+ await storage.put(JSON.stringify(s));
359
+ }
360
+ }
361
+ else {
362
+ result.failed = [...address_or_names];
363
+ }
364
+ return result;
510
365
  }
511
- return false;
512
- }
513
- async faucet(address_or_name, network) {
514
- const a = await this.get_imp(address_or_name);
515
- if (a) {
516
- try {
517
- const r = await requestSuiFromFaucetV2({
518
- host: getFaucetHost(network),
519
- recipient: a.address
520
- });
521
- return r.coins_sent || [];
522
- } catch (_e) {
523
- }
366
+ async resume(address, name) {
367
+ name = this.name_resolve(name);
368
+ const storage = await this.getStorage();
369
+ const value = await storage.get();
370
+ if (value) {
371
+ const s = JSON.parse(value);
372
+ if (s.find((v) => v.name === name)) {
373
+ W_ERROR(WErrors.IsValidName, `Name "${name}" already exists`);
374
+ }
375
+ const f = s.find((v) => v.address === address);
376
+ if (f) {
377
+ const now = Date.now();
378
+ f.suspended = false;
379
+ f.name = name;
380
+ f.updatedAt = now;
381
+ await storage.put(JSON.stringify(s));
382
+ return true;
383
+ }
384
+ }
385
+ return false;
524
386
  }
525
- return [];
526
- }
527
- async sign_and_commit(tx, address_or_name, network) {
528
- const a = await this.get_imp(address_or_name);
529
- if (a) {
530
- const pair = Ed25519Keypair.fromSecretKey(a.secret);
531
- if (pair) {
532
- const client = new SuiClient({
533
- url: getFullnodeUrl(
534
- await Config.Instance().network_get(network)
535
- )
536
- });
537
- return client.signAndExecuteTransaction({
538
- transaction: tx,
539
- signer: pair,
540
- options: { showObjectChanges: true, showEffects: true }
541
- });
542
- }
387
+ async faucet(address_or_name, network) {
388
+ const a = await this.get_imp(address_or_name);
389
+ if (a) {
390
+ try {
391
+ const r = await requestSuiFromFaucetV2({
392
+ host: getFaucetHost(network),
393
+ recipient: a.address,
394
+ });
395
+ return r.coins_sent || [];
396
+ }
397
+ catch (_e) {
398
+ //console.log(_e);
399
+ }
400
+ }
401
+ return [];
543
402
  }
544
- return void 0;
545
- }
546
- async refund_coin(txb, coin, to_address_or_name) {
547
- const to = await this.get_address(to_address_or_name);
548
- if (!to)
549
- W_ERROR(
550
- WErrors.InvalidParam,
551
- `Invalid to address or name ${to_address_or_name}`
552
- );
553
- txb.transferObjects(
554
- [coin],
555
- txb.pure.address(to)
556
- );
557
- }
558
- async transfer(amount, token_type, to_address_or_name, from_address_or_name, network) {
559
- const [from, to] = await this.get_many_imp([
560
- from_address_or_name,
561
- to_address_or_name
562
- ]);
563
- if (!from)
564
- W_ERROR(
565
- WErrors.InvalidParam,
566
- `Invalid from address or name ${from_address_or_name}`
567
- );
568
- const to_address = to?.address ?? to_address_or_name;
569
- if (!to_address)
570
- W_ERROR(
571
- WErrors.InvalidParam,
572
- `Invalid to address or name ${to_address_or_name}`
573
- );
574
- const pair = Ed25519Keypair.fromSecretKey(from.secret);
575
- if (pair) {
576
- const txb = new Transaction();
577
- const coin = await this.get_coin_object(
578
- txb,
579
- amount,
580
- token_type,
581
- from_address_or_name,
582
- network
583
- );
584
- if (coin) {
585
- txb.transferObjects(
586
- [coin],
587
- to_address
588
- );
589
- const client = new SuiClient({
590
- url: getFullnodeUrl(
591
- await Config.Instance().network_get(network)
592
- )
593
- });
594
- const r = client.signAndExecuteTransaction({
595
- transaction: txb,
596
- signer: pair,
597
- options: { showObjectChanges: true }
598
- });
599
- return r;
600
- }
403
+ async sign_and_commit(tx, address_or_name, network) {
404
+ const a = await this.get_imp(address_or_name);
405
+ if (a) {
406
+ const pair = Ed25519Keypair.fromSecretKey(a.secret);
407
+ if (pair) {
408
+ const client = new SuiClient({
409
+ url: getFullnodeUrl(await Config.Instance().network_get(network)),
410
+ });
411
+ return client.signAndExecuteTransaction({
412
+ transaction: tx,
413
+ signer: pair,
414
+ options: { showObjectChanges: true, showEffects: true },
415
+ });
416
+ }
417
+ }
418
+ return undefined;
601
419
  }
602
- return void 0;
603
- }
604
- /**
605
- * 使用账户私钥对数据进行签名
606
- *
607
- * @param address_or_name 账户地址或名称
608
- * @param data 要签名的数据(字符串或 Uint8Array)
609
- * @returns 签名结果(hex 格式,带 0x 前缀)
610
- */
611
- async sign(address_or_name, data) {
612
- const account = await this.get_imp(address_or_name);
613
- if (!account?.secret) {
614
- W_ERROR(
615
- WErrors.InvalidParam,
616
- `Account not found or no secret key: ${address_or_name}`
617
- );
420
+ // token_type is the platform token, if not specified.
421
+ balance = async (token_type, address_or_name, network) => {
422
+ const a = await this.get(address_or_name);
423
+ token_type = token_type ?? GasTokenType;
424
+ if (a) {
425
+ const client = new SuiClient({
426
+ url: getFullnodeUrl(await Config.Instance().network_get(network)),
427
+ });
428
+ return client.getBalance({
429
+ owner: a.address,
430
+ coinType: token_type,
431
+ });
432
+ }
433
+ return undefined;
434
+ };
435
+ // token_type is the platform token, if not specified.
436
+ coin = async (token_type, cursor, limit, address_or_name, network) => {
437
+ const a = await this.get(address_or_name);
438
+ token_type = token_type ?? GasTokenType;
439
+ if (a) {
440
+ const client = new SuiClient({
441
+ url: getFullnodeUrl(await Config.Instance().network_get(network)),
442
+ });
443
+ return client.getCoins({
444
+ owner: a.address,
445
+ coinType: token_type,
446
+ cursor,
447
+ limit,
448
+ });
449
+ }
450
+ return undefined;
451
+ };
452
+ get_coin_object = async (txb, balance_required, token_type, address_or_name, network) => {
453
+ const a = await this.get(address_or_name);
454
+ if (a) {
455
+ const b = BigInt(balance_required);
456
+ const client = new SuiClient({
457
+ url: getFullnodeUrl(await Config.Instance().network_get(network)),
458
+ });
459
+ if (b >= BigInt(0)) {
460
+ if (!token_type || isGasTokenType(token_type)) {
461
+ return txb.splitCoins(txb.gas, [b]);
462
+ }
463
+ else {
464
+ const r = await client.getCoins({
465
+ owner: a.address,
466
+ coinType: token_type,
467
+ });
468
+ const objects = [];
469
+ let current = BigInt(0);
470
+ for (let i = 0; i < r.data.length; ++i) {
471
+ current += BigInt(r.data[i].balance);
472
+ objects.push(r.data[i].coinObjectId);
473
+ if (current >= b) {
474
+ break;
475
+ }
476
+ }
477
+ if (objects.length === 1) {
478
+ return txb.splitCoins(objects[0], [b]);
479
+ }
480
+ else {
481
+ const ret = objects.pop();
482
+ txb.mergeCoins(ret, objects);
483
+ return txb.splitCoins(ret, [b]);
484
+ }
485
+ }
486
+ }
487
+ }
488
+ return undefined;
489
+ };
490
+ get_many_coin_object = async (txb, balance_required, token_type, address_or_name, network) => {
491
+ const coinObjects = [];
492
+ for (const balance of balance_required) {
493
+ const coinObject = await this.get_coin_object(txb, balance, address_or_name, token_type, network);
494
+ if (!coinObject) {
495
+ W_ERROR(WErrors.InvalidParam, `Invalid coin object: ${balance}`);
496
+ }
497
+ else {
498
+ coinObjects.push(coinObject);
499
+ }
500
+ }
501
+ return txb.makeMoveVec({ elements: coinObjects });
502
+ };
503
+ async refund_coin(txb, coin, to_address_or_name) {
504
+ const to = await this.get_address(to_address_or_name);
505
+ if (!to)
506
+ W_ERROR(WErrors.InvalidParam, `Invalid to address or name ${to_address_or_name}`);
507
+ txb.transferObjects([coin], txb.pure.address(to));
618
508
  }
619
- const pair = Ed25519Keypair.fromSecretKey(account.secret);
620
- const dataBytes = typeof data === "string" ? new TextEncoder().encode(data) : data;
621
- const signature = await pair.sign(dataBytes);
622
- return "0x" + Buffer.from(signature).toString("hex");
623
- }
624
- /**
625
- * 使用账户私钥对数据进行签名(返回标准格式)
626
- *
627
- * @param address_or_name 账户地址或名称
628
- * @param data 要签名的数据(字符串或 Uint8Array)
629
- * @returns 签名结果对象,包含签名和公钥
630
- */
631
- async signData(address_or_name, data) {
632
- const account = await this.get_imp(address_or_name);
633
- if (!account?.secret) {
634
- W_ERROR(
635
- WErrors.InvalidParam,
636
- `Account not found or no secret key: ${address_or_name}`
637
- );
509
+ async transfer(amount, token_type, to_address_or_name, from_address_or_name, network) {
510
+ const [from, to] = await this.get_many_imp([
511
+ from_address_or_name,
512
+ to_address_or_name,
513
+ ]);
514
+ if (!from)
515
+ W_ERROR(WErrors.InvalidParam, `Invalid from address or name ${from_address_or_name}`);
516
+ const to_address = to?.address ?? to_address_or_name;
517
+ if (!to_address)
518
+ W_ERROR(WErrors.InvalidParam, `Invalid to address or name ${to_address_or_name}`);
519
+ const pair = Ed25519Keypair.fromSecretKey(from.secret);
520
+ if (pair) {
521
+ const txb = new Transaction();
522
+ const coin = await this.get_coin_object(txb, amount, token_type, from_address_or_name, network);
523
+ if (coin) {
524
+ txb.transferObjects([coin], to_address);
525
+ const client = new SuiClient({
526
+ url: getFullnodeUrl(await Config.Instance().network_get(network)),
527
+ });
528
+ const r = client.signAndExecuteTransaction({
529
+ transaction: txb,
530
+ signer: pair,
531
+ options: { showObjectChanges: true },
532
+ });
533
+ return r;
534
+ }
535
+ }
536
+ return undefined;
638
537
  }
639
- const pair = Ed25519Keypair.fromSecretKey(account.secret);
640
- const dataBytes = typeof data === "string" ? new TextEncoder().encode(data) : data;
641
- const signature = await pair.sign(dataBytes);
642
- return {
643
- signature: "0x" + Buffer.from(signature).toString("hex"),
644
- publicKey: pair.getPublicKey().toWPublicKey(),
645
- address: account.address
538
+ coinObject_with_balance = async (balance_required, token_type, address_or_name, network) => {
539
+ const a = await this.get_imp(address_or_name);
540
+ if (!a)
541
+ return undefined;
542
+ const pair = Ed25519Keypair.fromSecretKey(a.secret);
543
+ if (!pair)
544
+ return undefined;
545
+ const txb = new Transaction();
546
+ const res = await this.get_coin_object(txb, balance_required, token_type, address_or_name, network);
547
+ if (res) {
548
+ txb.transferObjects([res], a.address);
549
+ const client = new SuiClient({
550
+ url: getFullnodeUrl(await Config.Instance().network_get(network)),
551
+ });
552
+ const r = await client.signAndExecuteTransaction({
553
+ transaction: txb,
554
+ signer: pair,
555
+ options: { showObjectChanges: true },
556
+ });
557
+ const t = token_type ?? GasTokenType;
558
+ return r?.objectChanges?.find((v) => v?.type === "created" &&
559
+ (v?.objectType).includes(t))?.objectId;
560
+ }
561
+ return undefined;
646
562
  };
647
- }
648
- /**
649
- * 从账户的 ED25519 私钥确定性派生 X25519 密钥对 (XEd25519)
650
- *
651
- * 根据 XEd25519 规范,ED25519 私钥可以通过以下步骤转换为 X25519 私钥:
652
- * 1. ED25519 私钥进行 SHA-512 哈希
653
- * 2. 取结果的前 32 字节
654
- * 3. 按照 X25519 私钥格式进行位操作(清零 bit0, bit1, bit2, 设置 bit254, 清零 bit255)
655
- *
656
- * 这样可以从固定的 ED25519 私钥确定性派生出固定的 X25519 密钥对,
657
- * 实现"恢复钱包即恢复加密身份"的功能。
658
- *
659
- * @param address_or_name 账户地址或名称
660
- * @returns X25519 密钥对(私钥和公钥)
661
- */
662
- async deriveX25519KeyPair(address_or_name) {
663
- const account = await this.get_imp(address_or_name);
664
- if (!account?.secret) {
665
- W_ERROR(
666
- WErrors.InvalidParam,
667
- `Account not found or no secret key: ${address_or_name}`
668
- );
563
+ /**
564
+ * 使用账户私钥对数据进行签名
565
+ *
566
+ * @param address_or_name 账户地址或名称
567
+ * @param data 要签名的数据(字符串或 Uint8Array)
568
+ * @returns 签名结果(hex 格式,带 0x 前缀)
569
+ */
570
+ async sign(address_or_name, data) {
571
+ const account = await this.get_imp(address_or_name);
572
+ if (!account?.secret) {
573
+ W_ERROR(WErrors.InvalidParam, `Account not found or no secret key: ${address_or_name}`);
574
+ }
575
+ const pair = Ed25519Keypair.fromSecretKey(account.secret);
576
+ const dataBytes = typeof data === "string" ? new TextEncoder().encode(data) : data;
577
+ const signature = await pair.sign(dataBytes);
578
+ return "0x" + Buffer.from(signature).toString("hex");
579
+ }
580
+ /**
581
+ * 使用账户私钥对数据进行签名(返回标准格式)
582
+ *
583
+ * @param address_or_name 账户地址或名称
584
+ * @param data 要签名的数据(字符串或 Uint8Array)
585
+ * @returns 签名结果对象,包含签名和公钥
586
+ */
587
+ async signData(address_or_name, data) {
588
+ const account = await this.get_imp(address_or_name);
589
+ if (!account?.secret) {
590
+ W_ERROR(WErrors.InvalidParam, `Account not found or no secret key: ${address_or_name}`);
591
+ }
592
+ const pair = Ed25519Keypair.fromSecretKey(account.secret);
593
+ const dataBytes = typeof data === "string" ? new TextEncoder().encode(data) : data;
594
+ const signature = await pair.sign(dataBytes);
595
+ return {
596
+ signature: "0x" + Buffer.from(signature).toString("hex"),
597
+ publicKey: pair.getPublicKey().toWPublicKey(),
598
+ address: account.address,
599
+ };
600
+ }
601
+ /**
602
+ * 从账户的 ED25519 私钥确定性派生 X25519 密钥对 (XEd25519)
603
+ *
604
+ * 根据 XEd25519 规范,ED25519 私钥可以通过以下步骤转换为 X25519 私钥:
605
+ * 1. 对 ED25519 私钥进行 SHA-512 哈希
606
+ * 2. 取结果的前 32 字节
607
+ * 3. 按照 X25519 私钥格式进行位操作(清零 bit0, bit1, bit2, 设置 bit254, 清零 bit255)
608
+ *
609
+ * 这样可以从固定的 ED25519 私钥确定性派生出固定的 X25519 密钥对,
610
+ * 实现"恢复钱包即恢复加密身份"的功能。
611
+ *
612
+ * @param address_or_name 账户地址或名称
613
+ * @returns X25519 密钥对(私钥和公钥)
614
+ */
615
+ async deriveX25519KeyPair(address_or_name) {
616
+ const account = await this.get_imp(address_or_name);
617
+ if (!account?.secret) {
618
+ W_ERROR(WErrors.InvalidParam, `Account not found or no secret key: ${address_or_name}`);
619
+ }
620
+ // 获取 ED25519 私钥(64字节,包含公钥)
621
+ const ed25519SecretKey = account.secret;
622
+ // 1. 对 ED25519 私钥进行 SHA-512 哈希
623
+ const { sha512 } = await import("@noble/hashes/sha512");
624
+ const hash = sha512(ed25519SecretKey);
625
+ // 2. 取前 32 字节作为 X25519 私钥种子
626
+ const privateKey = new Uint8Array(hash.slice(0, 32));
627
+ // 3. 按照 X25519 私钥格式进行裁剪
628
+ // 参考: https://datatracker.ietf.org/doc/html/rfc7748#section-5
629
+ privateKey[0] &= 248; // 清零 bit0, bit1, bit2
630
+ privateKey[31] &= 127; // 清零 bit255
631
+ privateKey[31] |= 64; // 设置 bit254
632
+ // 4. 派生 X25519 公钥
633
+ const { x25519 } = await import("@noble/curves/ed25519");
634
+ const publicKey = x25519.getPublicKey(privateKey);
635
+ return { privateKey, publicKey };
636
+ }
637
+ /**
638
+ * Set or unset messenger name for an account
639
+ * @param address_or_name Account address or name
640
+ * @param m Messenger name (null to remove)
641
+ * @returns Success status
642
+ */
643
+ async set_messenger(address_or_name, m) {
644
+ const resolved_address_or_name = this.name_resolve(address_or_name);
645
+ const storage = await this.getStorage();
646
+ const value = await storage.get();
647
+ if (!value)
648
+ return false;
649
+ const data = JSON.parse(value);
650
+ const f = data.find((v) => v.address === resolved_address_or_name ||
651
+ v.name === resolved_address_or_name);
652
+ if (!f)
653
+ return false;
654
+ if (m) {
655
+ if (!isValidName(m)) {
656
+ W_ERROR(WErrors.IsValidName, `Messenger name ${m} is exceeds max ${MAX_NAME_LENGTH}`);
657
+ }
658
+ const currentCount = data.filter((d) => d.m != null && d.address !== f.address).length;
659
+ if (currentCount >= MAX_MESSENGER_ACCOUNTS) {
660
+ W_ERROR(WErrors.InvalidParam, `Maximum ${MAX_MESSENGER_ACCOUNTS} messenger accounts allowed, current count: ${currentCount}`);
661
+ }
662
+ }
663
+ const now = Date.now();
664
+ f.m = m || undefined;
665
+ f.updatedAt = now;
666
+ await storage.put(JSON.stringify(data));
667
+ return true;
668
+ }
669
+ /**
670
+ * List all messenger enabled accounts
671
+ * @returns List of accounts with messenger enabled
672
+ */
673
+ async list_messenger_accounts() {
674
+ return this.list({ hasMessenger: true });
669
675
  }
670
- const ed25519SecretKey = account.secret;
671
- const { sha512 } = await import("@noble/hashes/sha512");
672
- const hash = sha512(ed25519SecretKey);
673
- const privateKey = new Uint8Array(hash.slice(0, 32));
674
- privateKey[0] &= 248;
675
- privateKey[31] &= 127;
676
- privateKey[31] |= 64;
677
- const { x25519 } = await import("@noble/curves/ed25519");
678
- const publicKey = x25519.getPublicKey(privateKey);
679
- return { privateKey, publicKey };
680
- }
681
- /**
682
- * Set or unset messenger name for an account
683
- * @param address_or_name Account address or name
684
- * @param m Messenger name (null to remove)
685
- * @returns Success status
686
- */
687
- async set_messenger(address_or_name, m) {
688
- const resolved_address_or_name = this.name_resolve(address_or_name);
689
- const storage = await this.getStorage();
690
- const value = await storage.get();
691
- if (!value) return false;
692
- const data = JSON.parse(value);
693
- const f = data.find(
694
- (v) => v.address === resolved_address_or_name || v.name === resolved_address_or_name
695
- );
696
- if (!f) return false;
697
- if (m) {
698
- if (!isValidName(m)) {
699
- W_ERROR(
700
- WErrors.IsValidName,
701
- `Messenger name ${m} is exceeds max ${MAX_NAME_LENGTH}`
702
- );
703
- }
704
- const currentCount = data.filter(
705
- (d) => d.m != null && d.address !== f.address
706
- ).length;
707
- if (currentCount >= MAX_MESSENGER_ACCOUNTS) {
708
- W_ERROR(
709
- WErrors.InvalidParam,
710
- `Maximum ${MAX_MESSENGER_ACCOUNTS} messenger accounts allowed, current count: ${currentCount}`
711
- );
712
- }
676
+ /**
677
+ * Count messenger enabled accounts
678
+ * @returns Number of messenger enabled accounts
679
+ */
680
+ async count_messenger_accounts() {
681
+ const storage = await this.getStorage();
682
+ const value = await storage.get();
683
+ if (!value)
684
+ return 0;
685
+ const data = JSON.parse(value);
686
+ return data.filter((d) => d.m != null).length;
713
687
  }
714
- const now = Date.now();
715
- f.m = m || void 0;
716
- f.updatedAt = now;
717
- await storage.put(JSON.stringify(data));
718
- return true;
719
- }
720
- /**
721
- * List all messenger enabled accounts
722
- * @returns List of accounts with messenger enabled
723
- */
724
- async list_messenger_accounts() {
725
- return this.list({ hasMessenger: true });
726
- }
727
- /**
728
- * Count messenger enabled accounts
729
- * @returns Number of messenger enabled accounts
730
- */
731
- async count_messenger_accounts() {
732
- const storage = await this.getStorage();
733
- const value = await storage.get();
734
- if (!value) return 0;
735
- const data = JSON.parse(value);
736
- return data.filter((d) => d.m != null).length;
737
- }
738
- };
739
- __publicField(_Account, "_instance");
740
- __publicField(_Account, "storage");
741
- let Account = _Account;
742
- export {
743
- Account,
744
- DEFAULT_ACCOUNT_NAME,
745
- MAX_MESSENGER_ACCOUNTS
746
- };
688
+ }
689
+ //# sourceMappingURL=account.js.map