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,1143 +1,1014 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __export = (target, all) => {
10
- for (var name in all)
11
- __defProp(target, name, { get: all[name], enumerable: true });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from))
16
- if (!__hasOwnProp.call(to, key) && key !== except)
17
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
- }
19
- return to;
20
- };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
31
- var messenger_manager_exports = {};
32
- __export(messenger_manager_exports, {
33
- MessengerManager: () => MessengerManager
34
- });
35
- module.exports = __toCommonJS(messenger_manager_exports);
36
- var import_messenger = require("./messenger.js");
37
- var import_storage = require("./storage.js");
38
- var import_storage2 = require("./storage.js");
39
- var import_types = require("./types.js");
40
- var import_types2 = require("./types.js");
41
- var import_utils = require("./utils.js");
42
- var import_account = require("../local/account.js");
43
- var import_local = require("../local/index.js");
44
- const MAX_ACCOUNTS = import_account.MAX_MESSENGER_ACCOUNTS;
2
+ // Copyright (c) Wowok.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.MessengerManager = void 0;
6
+ /**
7
+ * Messenger 管理器
8
+ *
9
+ * 支持最多20个账号同时收发消息
10
+ * 自动从account模块筛选有m字段的账号
11
+ * 自动初始化、注册并接收消息
12
+ */
13
+ const messenger_js_1 = require("./messenger.js");
14
+ const storage_js_1 = require("./storage.js");
15
+ const storage_js_2 = require("./storage.js");
16
+ const types_js_1 = require("./types.js");
17
+ const types_js_2 = require("./types.js");
18
+ const utils_js_1 = require("./utils.js");
19
+ const account_js_1 = require("../local/account.js");
20
+ const index_js_1 = require("../local/index.js");
21
+ const MAX_ACCOUNTS = account_js_1.MAX_MESSENGER_ACCOUNTS;
45
22
  class MessengerManager {
46
- constructor(options) {
47
- __publicField(this, "accounts", /* @__PURE__ */ new Map());
48
- __publicField(this, "config");
49
- __publicField(this, "messageListeners", /* @__PURE__ */ new Set());
50
- __publicField(this, "pollingTimers", /* @__PURE__ */ new Map());
51
- __publicField(this, "isWatching", false);
52
- __publicField(this, "persistStorage");
53
- __publicField(this, "instanceId");
54
- __publicField(this, "accountRefreshTimer", null);
55
- __publicField(this, "sseHeartbeatTimer", null);
56
- __publicField(this, "sseLockedAccounts", /* @__PURE__ */ new Set());
57
- this.config = {
58
- ...import_types2.DEFAULT_MESSENGER_CONFIG,
59
- ...options?.messengerConfig
60
- };
61
- this.instanceId = options?.instanceId || "default";
62
- this.persistStorage = new import_storage2.MessengerPersistStorage();
63
- }
64
- findAccount(address) {
65
- return this.accounts.get(address.toLowerCase());
66
- }
67
- getConfig() {
68
- return this.config;
69
- }
70
- get_accounts() {
71
- return Array.from(this.accounts.values()).map((acc) => acc.address);
72
- }
73
- async refresh_accounts() {
74
- const { Account } = await import("../local/account.js");
75
- const messengerAccounts = await Account.Instance().list_messenger_accounts();
76
- const currentAddresses = new Set(this.accounts.keys());
77
- const newAddresses = new Set(
78
- messengerAccounts.map((a) => a.address.toLowerCase())
79
- );
80
- for (const address of currentAddresses) {
81
- if (!newAddresses.has(address)) {
82
- this.remove_account_internal(address);
83
- }
84
- }
85
- for (const account of messengerAccounts) {
86
- const addressLower = account.address.toLowerCase();
87
- if (!this.accounts.has(addressLower)) {
88
- await this.add_account_internal(account.address);
89
- }
90
- }
91
- if (this.accounts.size > 0 && !this.isWatching) {
92
- this.startPolling();
93
- } else if (this.accounts.size === 0 && this.isWatching) {
94
- this.stopPolling();
95
- }
96
- await this.syncAllContactLists();
97
- }
98
- async start() {
99
- await this.refresh_accounts();
100
- let hasSSEFailure = false;
101
- for (const account of this.accounts.values()) {
102
- if (!account.messenger.isEventSourceConnected()) {
103
- try {
104
- const hasLock = this.persistStorage.tryAcquireSSELock(
105
- account.address,
106
- this.instanceId
107
- );
108
- if (hasLock) {
109
- this.sseLockedAccounts.add(
110
- account.address.toLowerCase()
111
- );
112
- await account.messenger.connectEventSource(
113
- (messages) => {
114
- for (const listener of this.messageListeners) {
115
- listener(messages);
116
- }
117
- }
118
- );
119
- } else {
120
- console.debug(
121
- `Another process holds SSE lock for ${account.address}, using polling`
122
- );
123
- hasSSEFailure = true;
124
- }
125
- } catch (err) {
126
- console.warn(
127
- `Failed to connect SSE for ${account.address}, falling back to polling:`,
128
- err
129
- );
130
- hasSSEFailure = true;
131
- this.persistStorage.releaseSSELock(
132
- account.address,
133
- this.instanceId
134
- );
135
- this.sseLockedAccounts.delete(
136
- account.address.toLowerCase()
137
- );
138
- }
139
- }
140
- }
141
- if (hasSSEFailure && !this.isWatching) {
142
- this.startPolling();
143
- }
144
- this.startSSEHeartbeat();
145
- if (this.accountRefreshTimer) {
146
- clearInterval(this.accountRefreshTimer);
147
- }
148
- this.accountRefreshTimer = setInterval(() => {
149
- this.refresh_accounts().catch((err) => {
150
- console.error("Failed to refresh accounts:", err);
151
- });
152
- }, this.config.watch_interval_ms);
153
- }
154
- stop() {
155
- if (this.accountRefreshTimer) {
156
- clearInterval(this.accountRefreshTimer);
157
- this.accountRefreshTimer = null;
158
- }
159
- this.stopSSEHeartbeat();
160
- for (const accountAddress of this.sseLockedAccounts) {
161
- this.persistStorage.releaseSSELock(accountAddress, this.instanceId);
162
- }
163
- this.sseLockedAccounts.clear();
164
- this.stopPolling();
165
- this.clear_accounts();
166
- }
167
- startSSEHeartbeat() {
168
- if (this.sseHeartbeatTimer) {
169
- clearInterval(this.sseHeartbeatTimer);
170
- }
171
- this.sseHeartbeatTimer = setInterval(() => {
172
- for (const accountAddress of this.sseLockedAccounts) {
173
- this.persistStorage.updateSSELockHeartbeat(
174
- accountAddress,
175
- this.instanceId
176
- );
177
- }
178
- }, 5e3);
179
- }
180
- stopSSEHeartbeat() {
181
- if (this.sseHeartbeatTimer) {
182
- clearInterval(this.sseHeartbeatTimer);
183
- this.sseHeartbeatTimer = null;
184
- }
185
- }
186
- async add_account_internal(address) {
187
- const addressLower = address.toLowerCase();
188
- if (this.accounts.size >= MAX_ACCOUNTS) {
189
- throw new import_types2.MessengerError(
190
- import_types2.MessengerErrorCode.INVALID_INPUT,
191
- `Maximum ${MAX_ACCOUNTS} accounts allowed`
192
- );
193
- }
194
- const messenger = new import_messenger.Messenger(addressLower, this.config);
195
- try {
196
- await messenger.initialize();
197
- } catch (error) {
198
- throw new import_types2.MessengerError(
199
- import_types2.MessengerErrorCode.SERVER_ERROR,
200
- `Failed to initialize account ${addressLower}: ${error instanceof Error ? error.message : String(error)}`
201
- );
202
- }
203
- const contactLists = {
204
- friends: [],
205
- guards: [],
206
- lastUpdatedAt: 0
207
- };
208
- this.accounts.set(addressLower, {
209
- address: addressLower,
210
- messenger,
211
- initialized: true,
212
- contactLists
213
- });
214
- if (this.isWatching) {
215
- this.startAccountPolling(addressLower);
216
- }
217
- }
218
- remove_account_internal(address) {
219
- const addressLower = address.toLowerCase();
220
- const account = this.accounts.get(addressLower);
221
- if (!account) return false;
222
- if (account.initialized && account.messenger) {
223
- account.messenger.disconnectEventSource();
224
- account.messenger.disconnect();
225
- }
226
- const timer = this.pollingTimers.get(account.address);
227
- if (timer) {
228
- clearInterval(timer);
229
- this.pollingTimers.delete(account.address);
230
- }
231
- this.persistStorage.releaseSSELock(addressLower, this.instanceId);
232
- this.sseLockedAccounts.delete(addressLower);
233
- return this.accounts.delete(addressLower);
234
- }
235
- clear_accounts() {
236
- this.stopPolling();
237
- for (const info of this.accounts.values()) {
238
- info.messenger.disconnectEventSource();
239
- info.messenger.disconnect();
240
- }
241
- this.accounts.clear();
242
- }
243
- async send(from, to, content, options) {
244
- const { Account } = await import("../local/account.js");
245
- let accountInfo = this.findAccount(from);
246
- if (!accountInfo) {
247
- const account = await Account.Instance().get(from, false);
248
- if (!account) {
249
- throw new import_types2.MessengerError(
250
- import_types2.MessengerErrorCode.IDENTITY_NOT_FOUND,
251
- `Account ${from} not found`
252
- );
253
- }
254
- if (account.m == null) {
255
- if (options?.new_messenger_name == null) {
256
- throw new import_types2.MessengerError(
257
- import_types2.MessengerErrorCode.ACCOUNT_MESSENGER_NOT_ENABLED,
258
- `Account messenger name not set. Use new_messenger_name parameter to set it automatically.`
259
- );
260
- }
261
- await Account.Instance().set_messenger(
262
- from,
263
- options.new_messenger_name
264
- );
265
- }
266
- await this.refresh_accounts();
267
- accountInfo = this.findAccount(from);
268
- if (!accountInfo) {
269
- throw new import_types2.MessengerError(
270
- import_types2.MessengerErrorCode.SERVER_ERROR,
271
- `Failed to add account ${from} to messenger manager`
272
- );
273
- }
274
- }
275
- if (options?.new_messenger_name != null) {
276
- const account = await Account.Instance().get(from, false);
277
- if (account && account.m !== options.new_messenger_name) {
278
- await Account.Instance().set_messenger(
279
- from,
280
- options.new_messenger_name
281
- );
282
- }
283
- }
284
- return accountInfo.messenger.sendMessage(to, content, {
285
- guardAddress: options?.guardAddress,
286
- passportAddress: options?.passportAddress,
287
- force: options?.force
288
- });
289
- }
290
- async send_file(from, to, filePath, options) {
291
- const { Account } = await import("../local/account.js");
292
- let accountInfo = this.findAccount(from);
293
- if (!accountInfo) {
294
- const account = await Account.Instance().get(from, false);
295
- if (!account) {
296
- throw new import_types2.MessengerError(
297
- import_types2.MessengerErrorCode.IDENTITY_NOT_FOUND,
298
- `Account ${from} not found`
299
- );
300
- }
301
- if (account.m == null) {
302
- if (options?.new_messenger_name == null) {
303
- throw new import_types2.MessengerError(
304
- import_types2.MessengerErrorCode.ACCOUNT_MESSENGER_NOT_ENABLED,
305
- `Account messenger name not set. Use new_messenger_name parameter to set it automatically.`
306
- );
307
- }
308
- await Account.Instance().set_messenger(
309
- from,
310
- options.new_messenger_name
311
- );
312
- }
313
- await this.refresh_accounts();
314
- accountInfo = this.findAccount(from);
315
- if (!accountInfo) {
316
- throw new import_types2.MessengerError(
317
- import_types2.MessengerErrorCode.SERVER_ERROR,
318
- `Failed to add account ${from} to messenger manager`
319
- );
320
- }
321
- }
322
- if (options?.new_messenger_name != null) {
323
- const account = await Account.Instance().get(from, false);
324
- if (account && account.m !== options.new_messenger_name) {
325
- await Account.Instance().set_messenger(
326
- from,
327
- options.new_messenger_name
328
- );
329
- }
330
- }
331
- return accountInfo.messenger.sendZipFile(to, filePath, {
332
- fileName: options?.fileName,
333
- contentType: options?.contentType,
334
- guardAddress: options?.guardAddress,
335
- passportAddress: options?.passportAddress,
336
- force: options?.force
337
- });
338
- }
339
- async watch(filter) {
340
- let messages = [];
341
- if (filter?.account) {
342
- const address = filter.account.toLowerCase();
343
- const messageStorage = new import_storage.MessageStorage(address);
344
- messages = messageStorage.getAllMessages(address);
345
- } else {
346
- for (const account of this.accounts.values()) {
347
- const messageStorage = new import_storage.MessageStorage(account.address);
348
- const accountMessages = messageStorage.getAllMessages(
349
- account.address
350
- );
351
- messages.push(...accountMessages);
352
- }
353
- }
354
- if (filter) {
355
- const peerAddress = filter.peerAddress ? await (0, import_local.GetAccountOrMark_Address)(filter.peerAddress) : void 0;
356
- messages = messages.filter((msg) => {
357
- if (filter.account) {
358
- const accountLower = filter.account.toLowerCase();
359
- const fromLower = msg.fromAddress.toLowerCase();
360
- const toLower = msg.toAddress.toLowerCase();
361
- if (fromLower !== accountLower && toLower !== accountLower) {
362
- return false;
363
- }
364
- }
365
- if (filter.direction && msg.direction !== filter.direction) {
366
- return false;
367
- }
368
- if (filter.status && msg.status !== filter.status) {
369
- return false;
370
- }
371
- if (filter.msgType !== void 0 && msg.msgType !== filter.msgType) {
372
- return false;
373
- }
374
- if (filter.contentType) {
375
- switch (filter.contentType) {
376
- case "text":
377
- if (msg.msgType !== import_types.MessageType.NORMAL_MESSAGE)
378
- return false;
379
- break;
380
- case "zip":
381
- if (!msg.zipMetadata) return false;
382
- break;
383
- case "wts":
384
- if (!msg.zipMetadata || msg.zipMetadata?.contentType !== "wts") {
385
- return false;
386
- }
387
- break;
388
- case "wip":
389
- if (!msg.zipMetadata || msg.zipMetadata?.contentType !== "wip") {
390
- return false;
391
- }
392
- break;
393
- }
394
- }
395
- if (filter.peerAddress && peerAddress) {
396
- const peer = peerAddress.toLowerCase();
397
- const from = msg.fromAddress.toLowerCase();
398
- const to = msg.toAddress.toLowerCase();
399
- if (from !== peer && to !== peer) {
400
- return false;
401
- }
402
- }
403
- const timeField = filter.timeField || "createdAt";
404
- if (filter.startTime !== void 0 || filter.endTime !== void 0) {
405
- const msgTime = msg[timeField];
406
- if (msgTime !== void 0) {
407
- if (filter.startTime !== void 0 && msgTime < filter.startTime) {
408
- return false;
409
- }
410
- if (filter.endTime !== void 0 && msgTime > filter.endTime) {
411
- return false;
23
+ accounts = new Map();
24
+ config;
25
+ messageListeners = new Set();
26
+ pollingTimers = new Map();
27
+ isWatching = false;
28
+ persistStorage;
29
+ instanceId;
30
+ accountRefreshTimer = null;
31
+ sseHeartbeatTimer = null;
32
+ sseLockedAccounts = new Set();
33
+ constructor(options) {
34
+ this.config = {
35
+ ...types_js_2.DEFAULT_MESSENGER_CONFIG,
36
+ ...options?.messengerConfig,
37
+ };
38
+ this.instanceId = options?.instanceId || "default";
39
+ this.persistStorage = new storage_js_2.MessengerPersistStorage();
40
+ }
41
+ findAccount(address) {
42
+ return this.accounts.get(address.toLowerCase());
43
+ }
44
+ getConfig() {
45
+ return this.config;
46
+ }
47
+ get_accounts() {
48
+ return Array.from(this.accounts.values()).map((acc) => acc.address);
49
+ }
50
+ async refresh_accounts() {
51
+ const { Account } = await import("../local/account.js");
52
+ const messengerAccounts = await Account.Instance().list_messenger_accounts();
53
+ const currentAddresses = new Set(this.accounts.keys());
54
+ const newAddresses = new Set(messengerAccounts.map((a) => a.address.toLowerCase()));
55
+ for (const address of currentAddresses) {
56
+ if (!newAddresses.has(address)) {
57
+ this.remove_account_internal(address);
412
58
  }
413
- }
414
59
  }
415
- if (filter.createdAtStart !== void 0 && msg.createdAt < filter.createdAtStart) {
416
- return false;
417
- }
418
- if (filter.createdAtEnd !== void 0 && msg.createdAt > filter.createdAtEnd) {
419
- return false;
60
+ for (const account of messengerAccounts) {
61
+ const addressLower = account.address.toLowerCase();
62
+ if (!this.accounts.has(addressLower)) {
63
+ await this.add_account_internal(account.address);
64
+ }
420
65
  }
421
- if (filter.receivedAtStart !== void 0) {
422
- if (msg.receivedAt === void 0 || msg.receivedAt < filter.receivedAtStart) {
423
- return false;
424
- }
66
+ if (this.accounts.size > 0 && !this.isWatching) {
67
+ this.startPolling();
68
+ }
69
+ else if (this.accounts.size === 0 && this.isWatching) {
70
+ this.stopPolling();
71
+ }
72
+ await this.syncAllContactLists();
73
+ }
74
+ async start() {
75
+ await this.refresh_accounts();
76
+ let hasSSEFailure = false;
77
+ for (const account of this.accounts.values()) {
78
+ if (!account.messenger.isEventSourceConnected()) {
79
+ try {
80
+ const hasLock = this.persistStorage.tryAcquireSSELock(account.address, this.instanceId);
81
+ if (hasLock) {
82
+ this.sseLockedAccounts.add(account.address.toLowerCase());
83
+ await account.messenger.connectEventSource((messages) => {
84
+ for (const listener of this.messageListeners) {
85
+ listener(messages);
86
+ }
87
+ });
88
+ }
89
+ else {
90
+ console.debug(`Another process holds SSE lock for ${account.address}, using polling`);
91
+ hasSSEFailure = true;
92
+ }
93
+ }
94
+ catch (err) {
95
+ console.warn(`Failed to connect SSE for ${account.address}, falling back to polling:`, err);
96
+ hasSSEFailure = true;
97
+ this.persistStorage.releaseSSELock(account.address, this.instanceId);
98
+ this.sseLockedAccounts.delete(account.address.toLowerCase());
99
+ }
100
+ }
425
101
  }
426
- if (filter.receivedAtEnd !== void 0) {
427
- if (msg.receivedAt === void 0 || msg.receivedAt > filter.receivedAtEnd) {
428
- return false;
429
- }
102
+ if (hasSSEFailure && !this.isWatching) {
103
+ this.startPolling();
430
104
  }
431
- if (filter.serverTimestampStart !== void 0) {
432
- if (msg.serverTimestamp === void 0 || msg.serverTimestamp < filter.serverTimestampStart) {
433
- return false;
434
- }
105
+ this.startSSEHeartbeat();
106
+ if (this.accountRefreshTimer) {
107
+ clearInterval(this.accountRefreshTimer);
435
108
  }
436
- if (filter.serverTimestampEnd !== void 0) {
437
- if (msg.serverTimestamp === void 0 || msg.serverTimestamp > filter.serverTimestampEnd) {
438
- return false;
439
- }
109
+ this.accountRefreshTimer = setInterval(() => {
110
+ this.refresh_accounts().catch((err) => {
111
+ console.error("Failed to refresh accounts:", err);
112
+ });
113
+ }, this.config.watch_interval_ms);
114
+ }
115
+ stop() {
116
+ if (this.accountRefreshTimer) {
117
+ clearInterval(this.accountRefreshTimer);
118
+ this.accountRefreshTimer = null;
440
119
  }
441
- if (filter.decryptedOnly && !msg.plaintext) {
442
- return false;
120
+ this.stopSSEHeartbeat();
121
+ for (const accountAddress of this.sseLockedAccounts) {
122
+ this.persistStorage.releaseSSELock(accountAddress, this.instanceId);
443
123
  }
444
- if (filter.arkConfirmedOnly) {
445
- if (!msg.arkConfirmed) {
446
- return false;
447
- }
124
+ this.sseLockedAccounts.clear();
125
+ this.stopPolling();
126
+ this.clear_accounts();
127
+ }
128
+ startSSEHeartbeat() {
129
+ if (this.sseHeartbeatTimer) {
130
+ clearInterval(this.sseHeartbeatTimer);
448
131
  }
449
- if (filter.proofedOnly) {
450
- if (!msg.proof) {
451
- return false;
452
- }
132
+ this.sseHeartbeatTimer = setInterval(() => {
133
+ for (const accountAddress of this.sseLockedAccounts) {
134
+ this.persistStorage.updateSSELockHeartbeat(accountAddress, this.instanceId);
135
+ }
136
+ }, 5000);
137
+ }
138
+ stopSSEHeartbeat() {
139
+ if (this.sseHeartbeatTimer) {
140
+ clearInterval(this.sseHeartbeatTimer);
141
+ this.sseHeartbeatTimer = null;
453
142
  }
454
- if (filter.arkTimestampStart !== void 0) {
455
- if (msg.arkConfirmed === void 0 || msg.arkConfirmed.timestamp < filter.arkTimestampStart) {
456
- return false;
457
- }
143
+ }
144
+ async add_account_internal(address) {
145
+ const addressLower = address.toLowerCase();
146
+ if (this.accounts.size >= MAX_ACCOUNTS) {
147
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.INVALID_INPUT, `Maximum ${MAX_ACCOUNTS} accounts allowed`);
458
148
  }
459
- if (filter.arkTimestampEnd !== void 0) {
460
- if (msg.arkConfirmed === void 0 || msg.arkConfirmed.timestamp > filter.arkTimestampEnd) {
461
- return false;
462
- }
149
+ const messenger = new messenger_js_1.Messenger(addressLower, this.config);
150
+ try {
151
+ await messenger.initialize();
463
152
  }
464
- if (filter.hasLastReceivedIndexOnly) {
465
- if (msg.lastReceivedLeafIndex === void 0 || msg.lastReceivedLeafIndex === null) {
466
- return false;
467
- }
153
+ catch (error) {
154
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.SERVER_ERROR, `Failed to initialize account ${addressLower}: ${error instanceof Error ? error.message : String(error)}`);
468
155
  }
469
- if (filter.lastReceivedIndexMin !== void 0) {
470
- if (msg.lastReceivedLeafIndex === void 0 || msg.lastReceivedLeafIndex < filter.lastReceivedIndexMin) {
471
- return false;
472
- }
156
+ const contactLists = {
157
+ friends: [],
158
+ guards: [],
159
+ lastUpdatedAt: 0,
160
+ };
161
+ this.accounts.set(addressLower, {
162
+ address: addressLower,
163
+ messenger,
164
+ initialized: true,
165
+ contactLists,
166
+ });
167
+ if (this.isWatching) {
168
+ this.startAccountPolling(addressLower);
473
169
  }
474
- if (filter.lastReceivedIndexMax !== void 0) {
475
- if (msg.lastReceivedLeafIndex === void 0 || msg.lastReceivedLeafIndex > filter.lastReceivedIndexMax) {
170
+ }
171
+ remove_account_internal(address) {
172
+ const addressLower = address.toLowerCase();
173
+ const account = this.accounts.get(addressLower);
174
+ if (!account)
476
175
  return false;
477
- }
176
+ if (account.initialized && account.messenger) {
177
+ account.messenger.disconnectEventSource();
178
+ account.messenger.disconnect();
179
+ }
180
+ const timer = this.pollingTimers.get(account.address);
181
+ if (timer) {
182
+ clearInterval(timer);
183
+ this.pollingTimers.delete(account.address);
184
+ }
185
+ this.persistStorage.releaseSSELock(addressLower, this.instanceId);
186
+ this.sseLockedAccounts.delete(addressLower);
187
+ return this.accounts.delete(addressLower);
188
+ }
189
+ clear_accounts() {
190
+ this.stopPolling();
191
+ for (const info of this.accounts.values()) {
192
+ info.messenger.disconnectEventSource();
193
+ info.messenger.disconnect();
194
+ }
195
+ this.accounts.clear();
196
+ }
197
+ async send(from, to, content, options) {
198
+ const { Account } = await import("../local/account.js");
199
+ let accountInfo = this.findAccount(from);
200
+ if (!accountInfo) {
201
+ const account = await Account.Instance().get(from, false);
202
+ if (!account) {
203
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.IDENTITY_NOT_FOUND, `Account ${from} not found`);
204
+ }
205
+ if (account.m == null) {
206
+ if (options?.new_messenger_name == null) {
207
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_MESSENGER_NOT_ENABLED, `Account messenger name not set. Use new_messenger_name parameter to set it automatically.`);
208
+ }
209
+ await Account.Instance().set_messenger(from, options.new_messenger_name);
210
+ }
211
+ await this.refresh_accounts();
212
+ accountInfo = this.findAccount(from);
213
+ if (!accountInfo) {
214
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.SERVER_ERROR, `Failed to add account ${from} to messenger manager`);
215
+ }
478
216
  }
479
- if (filter.keyword && msg.plaintext) {
480
- if (!msg.plaintext.toLowerCase().includes(filter.keyword.toLowerCase())) {
481
- return false;
482
- }
217
+ if (options?.new_messenger_name != null) {
218
+ const account = await Account.Instance().get(from, false);
219
+ if (account && account.m !== options.new_messenger_name) {
220
+ await Account.Instance().set_messenger(from, options.new_messenger_name);
221
+ }
483
222
  }
484
- if (filter.listFilterMode && filter.listFilterMode !== "any") {
485
- const msgAccount = this.findAccount(msg.toAddress);
486
- if (!msgAccount) return false;
487
- const senderAddress = msg.fromAddress.toLowerCase();
488
- const lists = msgAccount.contactLists;
489
- const friends = new Set(
490
- lists.friends.map((a) => a.toLowerCase())
491
- );
492
- const guards = new Set(
493
- lists.guards.map((g) => g.guardAddress.toLowerCase())
494
- );
495
- const inFriends = friends.has(senderAddress);
496
- const inGuards = guards.has(senderAddress);
497
- const isStranger = !inFriends && !inGuards;
498
- switch (filter.listFilterMode) {
499
- case "friends":
500
- if (!inFriends) return false;
501
- break;
502
- case "guard":
503
- if (!inGuards) return false;
504
- break;
505
- case "stranger":
506
- if (!isStranger) return false;
507
- break;
508
- }
509
- if (filter.customListFilter) {
510
- const {
511
- includeAddresses,
512
- excludeAddresses,
513
- relation = "union"
514
- } = filter.customListFilter;
515
- if (excludeAddresses) {
516
- const excludeSet = new Set(
517
- excludeAddresses.map((a) => a.toLowerCase())
518
- );
519
- if (excludeSet.has(senderAddress)) return false;
223
+ return accountInfo.messenger.sendMessage(to, content, {
224
+ guardAddress: options?.guardAddress,
225
+ passportAddress: options?.passportAddress,
226
+ force: options?.force,
227
+ });
228
+ }
229
+ async send_file(from, to, filePath, options) {
230
+ const { Account } = await import("../local/account.js");
231
+ let accountInfo = this.findAccount(from);
232
+ if (!accountInfo) {
233
+ const account = await Account.Instance().get(from, false);
234
+ if (!account) {
235
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.IDENTITY_NOT_FOUND, `Account ${from} not found`);
236
+ }
237
+ if (account.m == null) {
238
+ if (options?.new_messenger_name == null) {
239
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_MESSENGER_NOT_ENABLED, `Account messenger name not set. Use new_messenger_name parameter to set it automatically.`);
240
+ }
241
+ await Account.Instance().set_messenger(from, options.new_messenger_name);
520
242
  }
521
- if (includeAddresses && includeAddresses.length > 0) {
522
- const includeSet = new Set(
523
- includeAddresses.map((a) => a.toLowerCase())
524
- );
525
- const inIncludeList = includeSet.has(senderAddress);
526
- if (relation === "union") {
527
- const modeMatch = filter.listFilterMode === "friends" && inFriends || filter.listFilterMode === "guard" && inGuards || filter.listFilterMode === "stranger" && isStranger;
528
- if (!inIncludeList && !modeMatch) return false;
529
- } else {
530
- if (!inIncludeList) return false;
531
- }
243
+ await this.refresh_accounts();
244
+ accountInfo = this.findAccount(from);
245
+ if (!accountInfo) {
246
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.SERVER_ERROR, `Failed to add account ${from} to messenger manager`);
532
247
  }
533
- }
534
248
  }
535
- return true;
536
- });
537
- }
538
- const sortOrder = filter?.sortOrder ?? "desc";
539
- const sortField = filter?.timeField || "createdAt";
540
- messages.sort((a, b) => {
541
- const aTime = a[sortField] || 0;
542
- const bTime = b[sortField] || 0;
543
- return sortOrder === "asc" ? aTime - bTime : bTime - aTime;
544
- });
545
- const { MAX_QUERY_LIMIT } = await import("./types.js");
546
- const defaultLimit = this.config.defaultQueryLimit ?? 50;
547
- const limit = Math.min(filter?.limit ?? defaultLimit, MAX_QUERY_LIMIT);
548
- const offset = filter?.offset ?? 0;
549
- messages = messages.slice(offset, offset + limit);
550
- return messages;
551
- }
552
- startPolling() {
553
- if (this.isWatching) return;
554
- this.isWatching = true;
555
- for (const info of this.accounts.values()) {
556
- const timer = setInterval(async () => {
557
- try {
558
- const messages = await info.messenger.pullMessages();
559
- if (messages.length > 0) {
560
- for (const listener of this.messageListeners) {
561
- listener(messages);
249
+ if (options?.new_messenger_name != null) {
250
+ const account = await Account.Instance().get(from, false);
251
+ if (account && account.m !== options.new_messenger_name) {
252
+ await Account.Instance().set_messenger(from, options.new_messenger_name);
562
253
  }
563
- }
564
- } catch (error) {
565
- console.error(
566
- `Failed to poll messages for ${info.address}:`,
567
- error
568
- );
569
254
  }
570
- }, this.config.watch_interval_ms);
571
- this.pollingTimers.set(info.address, timer);
572
- }
573
- }
574
- startAccountPolling(address) {
575
- const info = this.accounts.get(address.toLowerCase());
576
- if (!info || !info.initialized) return;
577
- const existingTimer = this.pollingTimers.get(info.address);
578
- if (existingTimer) {
579
- clearInterval(existingTimer);
255
+ return accountInfo.messenger.sendZipFile(to, filePath, {
256
+ fileName: options?.fileName,
257
+ contentType: options?.contentType,
258
+ guardAddress: options?.guardAddress,
259
+ passportAddress: options?.passportAddress,
260
+ force: options?.force,
261
+ });
580
262
  }
581
- const timer = setInterval(async () => {
582
- try {
583
- const messages = await info.messenger.pullMessages();
584
- if (messages.length > 0) {
585
- for (const listener of this.messageListeners) {
586
- listener(messages);
587
- }
263
+ async watch(filter) {
264
+ let messages = [];
265
+ if (filter?.account) {
266
+ const address = filter.account.toLowerCase();
267
+ const messageStorage = new storage_js_1.MessageStorage(address);
268
+ messages = messageStorage.getAllMessages(address);
269
+ }
270
+ else {
271
+ for (const account of this.accounts.values()) {
272
+ const messageStorage = new storage_js_1.MessageStorage(account.address);
273
+ const accountMessages = messageStorage.getAllMessages(account.address);
274
+ messages.push(...accountMessages);
275
+ }
588
276
  }
589
- } catch (error) {
590
- console.error(
591
- `Failed to poll messages for ${info.address}:`,
592
- error
593
- );
594
- }
595
- }, this.config.watch_interval_ms);
596
- this.pollingTimers.set(info.address, timer);
597
- }
598
- stopPolling() {
599
- for (const timer of this.pollingTimers.values()) {
600
- clearInterval(timer);
277
+ if (filter) {
278
+ const peerAddress = filter.peerAddress
279
+ ? await (0, index_js_1.GetAccountOrMark_Address)(filter.peerAddress)
280
+ : undefined;
281
+ messages = messages.filter((msg) => {
282
+ if (filter.account) {
283
+ const accountLower = filter.account.toLowerCase();
284
+ const fromLower = msg.fromAddress.toLowerCase();
285
+ const toLower = msg.toAddress.toLowerCase();
286
+ if (fromLower !== accountLower &&
287
+ toLower !== accountLower) {
288
+ return false;
289
+ }
290
+ }
291
+ if (filter.direction && msg.direction !== filter.direction) {
292
+ return false;
293
+ }
294
+ if (filter.status && msg.status !== filter.status) {
295
+ return false;
296
+ }
297
+ if (filter.msgType !== undefined &&
298
+ msg.msgType !== filter.msgType) {
299
+ return false;
300
+ }
301
+ if (filter.contentType) {
302
+ switch (filter.contentType) {
303
+ case "text":
304
+ if (msg.msgType !== types_js_1.MessageType.NORMAL_MESSAGE)
305
+ return false;
306
+ break;
307
+ case "zip":
308
+ if (!msg.zipMetadata)
309
+ return false;
310
+ break;
311
+ case "wts":
312
+ if (!msg.zipMetadata ||
313
+ msg.zipMetadata?.contentType !== "wts") {
314
+ return false;
315
+ }
316
+ break;
317
+ case "wip":
318
+ if (!msg.zipMetadata ||
319
+ msg.zipMetadata?.contentType !== "wip") {
320
+ return false;
321
+ }
322
+ break;
323
+ }
324
+ }
325
+ if (filter.peerAddress && peerAddress) {
326
+ const peer = peerAddress.toLowerCase();
327
+ const from = msg.fromAddress.toLowerCase();
328
+ const to = msg.toAddress.toLowerCase();
329
+ if (from !== peer && to !== peer) {
330
+ return false;
331
+ }
332
+ }
333
+ const timeField = filter.timeField || "createdAt";
334
+ if (filter.startTime !== undefined ||
335
+ filter.endTime !== undefined) {
336
+ const msgTime = msg[timeField];
337
+ if (msgTime !== undefined) {
338
+ if (filter.startTime !== undefined &&
339
+ msgTime < filter.startTime) {
340
+ return false;
341
+ }
342
+ if (filter.endTime !== undefined &&
343
+ msgTime > filter.endTime) {
344
+ return false;
345
+ }
346
+ }
347
+ }
348
+ if (filter.createdAtStart !== undefined &&
349
+ msg.createdAt < filter.createdAtStart) {
350
+ return false;
351
+ }
352
+ if (filter.createdAtEnd !== undefined &&
353
+ msg.createdAt > filter.createdAtEnd) {
354
+ return false;
355
+ }
356
+ if (filter.receivedAtStart !== undefined) {
357
+ if (msg.receivedAt === undefined ||
358
+ msg.receivedAt < filter.receivedAtStart) {
359
+ return false;
360
+ }
361
+ }
362
+ if (filter.receivedAtEnd !== undefined) {
363
+ if (msg.receivedAt === undefined ||
364
+ msg.receivedAt > filter.receivedAtEnd) {
365
+ return false;
366
+ }
367
+ }
368
+ if (filter.serverTimestampStart !== undefined) {
369
+ if (msg.serverTimestamp === undefined ||
370
+ msg.serverTimestamp < filter.serverTimestampStart) {
371
+ return false;
372
+ }
373
+ }
374
+ if (filter.serverTimestampEnd !== undefined) {
375
+ if (msg.serverTimestamp === undefined ||
376
+ msg.serverTimestamp > filter.serverTimestampEnd) {
377
+ return false;
378
+ }
379
+ }
380
+ if (filter.decryptedOnly && !msg.plaintext) {
381
+ return false;
382
+ }
383
+ if (filter.arkConfirmedOnly) {
384
+ if (!msg.arkConfirmed) {
385
+ return false;
386
+ }
387
+ }
388
+ if (filter.proofedOnly) {
389
+ if (!msg.proof) {
390
+ return false;
391
+ }
392
+ }
393
+ if (filter.arkTimestampStart !== undefined) {
394
+ if (msg.arkConfirmed === undefined ||
395
+ msg.arkConfirmed.timestamp < filter.arkTimestampStart) {
396
+ return false;
397
+ }
398
+ }
399
+ if (filter.arkTimestampEnd !== undefined) {
400
+ if (msg.arkConfirmed === undefined ||
401
+ msg.arkConfirmed.timestamp > filter.arkTimestampEnd) {
402
+ return false;
403
+ }
404
+ }
405
+ if (filter.hasLastReceivedIndexOnly) {
406
+ if (msg.lastReceivedLeafIndex === undefined ||
407
+ msg.lastReceivedLeafIndex === null) {
408
+ return false;
409
+ }
410
+ }
411
+ if (filter.lastReceivedIndexMin !== undefined) {
412
+ if (msg.lastReceivedLeafIndex === undefined ||
413
+ msg.lastReceivedLeafIndex < filter.lastReceivedIndexMin) {
414
+ return false;
415
+ }
416
+ }
417
+ if (filter.lastReceivedIndexMax !== undefined) {
418
+ if (msg.lastReceivedLeafIndex === undefined ||
419
+ msg.lastReceivedLeafIndex > filter.lastReceivedIndexMax) {
420
+ return false;
421
+ }
422
+ }
423
+ if (filter.keyword && msg.plaintext) {
424
+ if (!msg.plaintext
425
+ .toLowerCase()
426
+ .includes(filter.keyword.toLowerCase())) {
427
+ return false;
428
+ }
429
+ }
430
+ if (filter.listFilterMode && filter.listFilterMode !== "any") {
431
+ const msgAccount = this.findAccount(msg.toAddress);
432
+ if (!msgAccount)
433
+ return false;
434
+ const senderAddress = msg.fromAddress.toLowerCase();
435
+ const lists = msgAccount.contactLists;
436
+ const friends = new Set(lists.friends.map((a) => a.toLowerCase()));
437
+ const guards = new Set(lists.guards.map((g) => g.guardAddress.toLowerCase()));
438
+ const inFriends = friends.has(senderAddress);
439
+ const inGuards = guards.has(senderAddress);
440
+ const isStranger = !inFriends && !inGuards;
441
+ switch (filter.listFilterMode) {
442
+ case "friends":
443
+ if (!inFriends)
444
+ return false;
445
+ break;
446
+ case "guard":
447
+ if (!inGuards)
448
+ return false;
449
+ break;
450
+ case "stranger":
451
+ if (!isStranger)
452
+ return false;
453
+ break;
454
+ }
455
+ if (filter.customListFilter) {
456
+ const { includeAddresses, excludeAddresses, relation = "union", } = filter.customListFilter;
457
+ if (excludeAddresses) {
458
+ const excludeSet = new Set(excludeAddresses.map((a) => a.toLowerCase()));
459
+ if (excludeSet.has(senderAddress))
460
+ return false;
461
+ }
462
+ if (includeAddresses && includeAddresses.length > 0) {
463
+ const includeSet = new Set(includeAddresses.map((a) => a.toLowerCase()));
464
+ const inIncludeList = includeSet.has(senderAddress);
465
+ if (relation === "union") {
466
+ const modeMatch = (filter.listFilterMode === "friends" &&
467
+ inFriends) ||
468
+ (filter.listFilterMode === "guard" &&
469
+ inGuards) ||
470
+ (filter.listFilterMode === "stranger" &&
471
+ isStranger);
472
+ if (!inIncludeList && !modeMatch)
473
+ return false;
474
+ }
475
+ else {
476
+ if (!inIncludeList)
477
+ return false;
478
+ }
479
+ }
480
+ }
481
+ }
482
+ return true;
483
+ });
484
+ }
485
+ const sortOrder = filter?.sortOrder ?? "desc";
486
+ const sortField = filter?.timeField || "createdAt";
487
+ messages.sort((a, b) => {
488
+ const aTime = a[sortField] || 0;
489
+ const bTime = b[sortField] || 0;
490
+ return sortOrder === "asc" ? aTime - bTime : bTime - aTime;
491
+ });
492
+ const { MAX_QUERY_LIMIT } = await import("./types.js");
493
+ const defaultLimit = this.config.defaultQueryLimit ?? 50;
494
+ const limit = Math.min(filter?.limit ?? defaultLimit, MAX_QUERY_LIMIT);
495
+ const offset = filter?.offset ?? 0;
496
+ messages = messages.slice(offset, offset + limit);
497
+ return messages;
498
+ }
499
+ startPolling() {
500
+ if (this.isWatching)
501
+ return;
502
+ this.isWatching = true;
503
+ for (const info of this.accounts.values()) {
504
+ const timer = setInterval(async () => {
505
+ try {
506
+ const messages = await info.messenger.pullMessages();
507
+ if (messages.length > 0) {
508
+ for (const listener of this.messageListeners) {
509
+ listener(messages);
510
+ }
511
+ }
512
+ }
513
+ catch (error) {
514
+ console.error(`Failed to poll messages for ${info.address}:`, error);
515
+ }
516
+ }, this.config.watch_interval_ms);
517
+ this.pollingTimers.set(info.address, timer);
518
+ }
519
+ }
520
+ startAccountPolling(address) {
521
+ const info = this.accounts.get(address.toLowerCase());
522
+ if (!info || !info.initialized)
523
+ return;
524
+ const existingTimer = this.pollingTimers.get(info.address);
525
+ if (existingTimer) {
526
+ clearInterval(existingTimer);
527
+ }
528
+ const timer = setInterval(async () => {
529
+ try {
530
+ const messages = await info.messenger.pullMessages();
531
+ if (messages.length > 0) {
532
+ for (const listener of this.messageListeners) {
533
+ listener(messages);
534
+ }
535
+ }
536
+ }
537
+ catch (error) {
538
+ console.error(`Failed to poll messages for ${info.address}:`, error);
539
+ }
540
+ }, this.config.watch_interval_ms);
541
+ this.pollingTimers.set(info.address, timer);
601
542
  }
602
- this.pollingTimers.clear();
603
- this.isWatching = false;
604
- }
605
- onMessage(listener) {
606
- this.messageListeners.add(listener);
607
- }
608
- offMessage(listener) {
609
- this.messageListeners.delete(listener);
610
- }
611
- destroy() {
612
- this.stop();
613
- this.messageListeners.clear();
614
- }
615
- async syncContactLists(account) {
616
- const acc = this.findAccount(account);
617
- if (!acc) {
618
- return {
619
- success: false,
620
- friends: [],
621
- guards: [],
622
- error: `Account not found: ${account}`
623
- };
543
+ stopPolling() {
544
+ for (const timer of this.pollingTimers.values()) {
545
+ clearInterval(timer);
546
+ }
547
+ this.pollingTimers.clear();
548
+ this.isWatching = false;
624
549
  }
625
- try {
626
- const { Account } = await import("../local/account.js");
627
- const accountData = await Account.Instance().get(account, false);
628
- if (!accountData?.address) {
629
- return {
630
- success: false,
631
- friends: [],
632
- guards: [],
633
- error: `Account data not found: ${account}`
634
- };
635
- }
636
- const address = accountData.address;
637
- const [friends, guards] = await Promise.all([
638
- this.fetchFriendsList(address),
639
- this.fetchGuardList(address)
640
- ]);
641
- acc.contactLists = {
642
- friends,
643
- guards,
644
- lastUpdatedAt: Date.now()
645
- };
646
- return {
647
- success: true,
648
- friends,
649
- guards
650
- };
651
- } catch (error) {
652
- console.error(
653
- `Failed to sync contact lists for ${account}:`,
654
- error
655
- );
656
- return {
657
- success: false,
658
- friends: acc.contactLists.friends,
659
- guards: acc.contactLists.guards,
660
- error: error instanceof Error ? error.message : String(error)
661
- };
550
+ onMessage(listener) {
551
+ this.messageListeners.add(listener);
662
552
  }
663
- }
664
- async syncAllContactLists() {
665
- const results = /* @__PURE__ */ new Map();
666
- for (const acc of this.accounts.values()) {
667
- const result = await this.syncContactLists(acc.address);
668
- results.set(acc.address, result);
553
+ offMessage(listener) {
554
+ this.messageListeners.delete(listener);
669
555
  }
670
- return results;
671
- }
672
- getContactLists(account) {
673
- const acc = this.findAccount(account);
674
- return acc?.contactLists;
675
- }
676
- setContactLists(account, lists) {
677
- const acc = this.findAccount(account);
678
- if (!acc) return false;
679
- acc.contactLists = {
680
- ...acc.contactLists,
681
- ...lists,
682
- lastUpdatedAt: Date.now()
683
- };
684
- return true;
685
- }
686
- isStranger(account, senderAddress) {
687
- const acc = this.findAccount(account);
688
- if (!acc) return true;
689
- const sender = senderAddress.toLowerCase();
690
- const lists = acc.contactLists;
691
- const inFriends = lists.friends.some((a) => a.toLowerCase() === sender);
692
- const inGuards = lists.guards.some(
693
- (g) => g.guardAddress.toLowerCase() === sender
694
- );
695
- return !inFriends && !inGuards;
696
- }
697
- recordGuardSender(account, guardAddress) {
698
- const acc = this.findAccount(account);
699
- if (!acc) return false;
700
- const guardAddr = guardAddress.toLowerCase();
701
- const exists = acc.contactLists.guards.some(
702
- (g) => g.guardAddress.toLowerCase() === guardAddr
703
- );
704
- if (!exists) {
705
- acc.contactLists.guards.push({
706
- guardAddress,
707
- passportValiditySeconds: 86400
708
- });
709
- acc.contactLists.lastUpdatedAt = Date.now();
556
+ destroy() {
557
+ this.stop();
558
+ this.messageListeners.clear();
710
559
  }
711
- return true;
712
- }
713
- async fetchFriendsList(address) {
714
- try {
715
- const response = await fetch(
716
- `${this.config.serverUrl}/v1/spam-protection/${address}/friends-list`,
717
- {
718
- method: "POST",
719
- headers: { "Content-Type": "application/json" },
720
- body: JSON.stringify({
721
- userAddress: address,
722
- signature: "",
723
- timestamp: Date.now(),
724
- nonce: this.generateNonce()
725
- })
560
+ async syncContactLists(account) {
561
+ const acc = this.findAccount(account);
562
+ if (!acc) {
563
+ return {
564
+ success: false,
565
+ friends: [],
566
+ guards: [],
567
+ error: `Account not found: ${account}`,
568
+ };
726
569
  }
727
- );
728
- if (!response.ok) {
729
- throw new Error(`HTTP ${response.status}`);
730
- }
731
- return await response.json();
732
- } catch (error) {
733
- return [];
570
+ try {
571
+ const { Account } = await import("../local/account.js");
572
+ const accountData = await Account.Instance().get(account, false);
573
+ if (!accountData?.address) {
574
+ return {
575
+ success: false,
576
+ friends: [],
577
+ guards: [],
578
+ error: `Account data not found: ${account}`,
579
+ };
580
+ }
581
+ const address = accountData.address;
582
+ const [friends, guards] = await Promise.all([
583
+ this.fetchFriendsList(address),
584
+ this.fetchGuardList(address),
585
+ ]);
586
+ acc.contactLists = {
587
+ friends,
588
+ guards,
589
+ lastUpdatedAt: Date.now(),
590
+ };
591
+ return {
592
+ success: true,
593
+ friends,
594
+ guards,
595
+ };
596
+ }
597
+ catch (error) {
598
+ console.error(`Failed to sync contact lists for ${account}:`, error);
599
+ return {
600
+ success: false,
601
+ friends: acc.contactLists.friends,
602
+ guards: acc.contactLists.guards,
603
+ error: error instanceof Error ? error.message : String(error),
604
+ };
605
+ }
606
+ }
607
+ async syncAllContactLists() {
608
+ const results = new Map();
609
+ for (const acc of this.accounts.values()) {
610
+ const result = await this.syncContactLists(acc.address);
611
+ results.set(acc.address, result);
612
+ }
613
+ return results;
614
+ }
615
+ getContactLists(account) {
616
+ const acc = this.findAccount(account);
617
+ return acc?.contactLists;
618
+ }
619
+ setContactLists(account, lists) {
620
+ const acc = this.findAccount(account);
621
+ if (!acc)
622
+ return false;
623
+ acc.contactLists = {
624
+ ...acc.contactLists,
625
+ ...lists,
626
+ lastUpdatedAt: Date.now(),
627
+ };
628
+ return true;
734
629
  }
735
- }
736
- async fetchGuardList(address) {
737
- try {
738
- const response = await fetch(
739
- `${this.config.serverUrl}/v1/spam-protection/${address}/guard-list`,
740
- {
741
- method: "POST",
742
- headers: { "Content-Type": "application/json" },
743
- body: JSON.stringify({
744
- userAddress: address,
745
- signature: "",
746
- timestamp: Date.now(),
747
- nonce: this.generateNonce()
748
- })
630
+ isStranger(account, senderAddress) {
631
+ const acc = this.findAccount(account);
632
+ if (!acc)
633
+ return true;
634
+ const sender = senderAddress.toLowerCase();
635
+ const lists = acc.contactLists;
636
+ const inFriends = lists.friends.some((a) => a.toLowerCase() === sender);
637
+ const inGuards = lists.guards.some((g) => g.guardAddress.toLowerCase() === sender);
638
+ return !inFriends && !inGuards;
639
+ }
640
+ recordGuardSender(account, guardAddress) {
641
+ const acc = this.findAccount(account);
642
+ if (!acc)
643
+ return false;
644
+ const guardAddr = guardAddress.toLowerCase();
645
+ const exists = acc.contactLists.guards.some((g) => g.guardAddress.toLowerCase() === guardAddr);
646
+ if (!exists) {
647
+ acc.contactLists.guards.push({
648
+ guardAddress: guardAddress,
649
+ passportValiditySeconds: 86400,
650
+ });
651
+ acc.contactLists.lastUpdatedAt = Date.now();
749
652
  }
750
- );
751
- if (!response.ok) {
752
- throw new Error(`HTTP ${response.status}`);
753
- }
754
- return await response.json();
755
- } catch (error) {
756
- return [];
757
- }
758
- }
759
- generateNonce() {
760
- return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
761
- }
762
- async watch_paginated(filter) {
763
- const { MAX_QUERY_LIMIT } = await import("./types.js");
764
- const allMessages = await this.watch(filter);
765
- const total = allMessages.length;
766
- const defaultLimit = this.config.defaultQueryLimit ?? 50;
767
- const limit = Math.min(filter?.limit ?? defaultLimit, MAX_QUERY_LIMIT);
768
- const offset = filter?.offset ?? 0;
769
- const messages = allMessages.slice(offset, offset + limit);
770
- return {
771
- messages,
772
- total,
773
- offset,
774
- limit
775
- };
776
- }
777
- async get_conversations(account) {
778
- const filter = account ? { account } : void 0;
779
- const allMessages = await this.watch(filter);
780
- const conversations = /* @__PURE__ */ new Map();
781
- for (const msg of allMessages) {
782
- const myAddress = account?.toLowerCase();
783
- const peerAddress = msg.fromAddress.toLowerCase() === myAddress ? msg.toAddress : msg.fromAddress;
784
- if (!conversations.has(peerAddress)) {
785
- conversations.set(peerAddress, {
786
- peerAddress,
787
- lastMessageAt: msg.createdAt,
788
- messageCount: 0,
789
- unreadCount: 0,
790
- lastMessagePreview: msg.plaintext
791
- });
792
- }
793
- const conv = conversations.get(peerAddress);
794
- conv.messageCount++;
795
- if (msg.createdAt > conv.lastMessageAt) {
796
- conv.lastMessageAt = msg.createdAt;
797
- conv.lastMessagePreview = msg.plaintext;
798
- }
799
- if (msg.status !== import_types.MessageStatus.READ && msg.toAddress.toLowerCase() === myAddress) {
800
- conv.unreadCount++;
801
- }
802
- }
803
- return Array.from(conversations.values()).sort(
804
- (a, b) => b.lastMessageAt - a.lastMessageAt
805
- );
806
- }
807
- async generate_wts(params) {
808
- const fs = await import("fs");
809
- const path = await import("path");
810
- const myAddress = params.myAccount.toLowerCase();
811
- const peerAddress = params.peerAccount.toLowerCase();
812
- const messageStorage = new import_storage.MessageStorage(myAddress);
813
- const myMessages = messageStorage.getAllMessages(myAddress);
814
- let messages = myMessages.filter((msg) => {
815
- const fromLower = msg.fromAddress.toLowerCase();
816
- const toLower = msg.toAddress.toLowerCase();
817
- const isBetween = fromLower === myAddress && toLower === peerAddress || fromLower === peerAddress && toLower === myAddress;
818
- return isBetween;
819
- });
820
- messages = messages.filter(
821
- (m) => m.leafIndex !== void 0 && m.serverTimestamp !== void 0
822
- ).reduce((acc, msg) => {
823
- const existing = acc.find((m) => m.messageId === msg.messageId);
824
- if (!existing) {
825
- acc.push(msg);
826
- }
827
- return acc;
828
- }, []).sort((a, b) => {
829
- return a.leafIndex - b.leafIndex;
830
- });
831
- const leafIndexMap = /* @__PURE__ */ new Map();
832
- for (const msg of messages) {
833
- const idx = msg.leafIndex;
834
- if (!leafIndexMap.has(idx)) {
835
- leafIndexMap.set(idx, []);
836
- }
837
- leafIndexMap.get(idx).push(msg);
653
+ return true;
838
654
  }
839
- const duplicates = Array.from(leafIndexMap.entries()).filter(
840
- ([, msgs]) => msgs.length > 1
841
- );
842
- if (duplicates.length > 0) {
843
- messages.sort(
844
- (a, b) => (b.serverTimestamp || 0) - (a.serverTimestamp || 0)
845
- );
846
- const seenLeafIndices = /* @__PURE__ */ new Set();
847
- const uniqueMessages = [];
848
- for (const msg of messages) {
849
- const idx = msg.leafIndex;
850
- if (!seenLeafIndices.has(idx)) {
851
- seenLeafIndices.add(idx);
852
- uniqueMessages.push(msg);
655
+ async fetchFriendsList(address) {
656
+ try {
657
+ const response = await fetch(`${this.config.serverUrl}/v1/spam-protection/${address}/friends-list`, {
658
+ method: "POST",
659
+ headers: { "Content-Type": "application/json" },
660
+ body: JSON.stringify({
661
+ userAddress: address,
662
+ signature: "",
663
+ timestamp: Date.now(),
664
+ nonce: this.generateNonce(),
665
+ }),
666
+ });
667
+ if (!response.ok) {
668
+ throw new Error(`HTTP ${response.status}`);
669
+ }
670
+ return (await response.json());
853
671
  }
854
- }
855
- messages = uniqueMessages.sort(
856
- (a, b) => a.leafIndex - b.leafIndex
857
- );
858
- }
859
- if (params.range) {
860
- switch (params.range.type) {
861
- case "time": {
862
- const start = Math.min(
863
- params.range.start,
864
- params.range.end
865
- );
866
- const end = Math.max(params.range.start, params.range.end);
867
- messages = messages.filter(
868
- (m) => m.createdAt >= start && m.createdAt <= end
869
- );
870
- break;
672
+ catch (error) {
673
+ return [];
871
674
  }
872
- case "messageId": {
873
- const start = params.range.start;
874
- const end = params.range.end;
875
- messages = messages.filter(
876
- (m) => m.messageId >= start && m.messageId <= end
877
- );
878
- break;
675
+ }
676
+ async fetchGuardList(address) {
677
+ try {
678
+ const response = await fetch(`${this.config.serverUrl}/v1/spam-protection/${address}/guard-list`, {
679
+ method: "POST",
680
+ headers: { "Content-Type": "application/json" },
681
+ body: JSON.stringify({
682
+ userAddress: address,
683
+ signature: "",
684
+ timestamp: Date.now(),
685
+ nonce: this.generateNonce(),
686
+ }),
687
+ });
688
+ if (!response.ok) {
689
+ throw new Error(`HTTP ${response.status}`);
690
+ }
691
+ return (await response.json());
879
692
  }
880
- case "seqIndex": {
881
- const start = Math.min(
882
- params.range.start,
883
- params.range.end
884
- );
885
- const end = Math.max(params.range.start, params.range.end);
886
- messages = messages.filter(
887
- (m) => m.leafIndex >= start && m.leafIndex <= end
888
- );
889
- break;
693
+ catch (error) {
694
+ return [];
890
695
  }
891
- }
892
- }
893
- if (messages.length === 0) {
894
- throw new import_types2.MessengerError(
895
- import_types2.MessengerErrorCode.INVALID_INPUT,
896
- "No messages found for the given criteria"
897
- );
898
696
  }
899
- if (messages.length > import_types.WTS_MAX_MESSAGE_COUNT) {
900
- throw new import_types2.MessengerError(
901
- import_types2.MessengerErrorCode.INVALID_INPUT,
902
- `Message count (${messages.length}) exceeds maximum allowed (${import_types.WTS_MAX_MESSAGE_COUNT})`
903
- );
697
+ generateNonce() {
698
+ return (Math.random().toString(36).substring(2, 15) +
699
+ Math.random().toString(36).substring(2, 15));
904
700
  }
905
- if (!fs.existsSync(params.outputDir)) {
906
- fs.mkdirSync(params.outputDir, { recursive: true });
701
+ async watch_paginated(filter) {
702
+ const { MAX_QUERY_LIMIT } = await import("./types.js");
703
+ const allMessages = await this.watch(filter);
704
+ const total = allMessages.length;
705
+ const defaultLimit = this.config.defaultQueryLimit ?? 50;
706
+ const limit = Math.min(filter?.limit ?? defaultLimit, MAX_QUERY_LIMIT);
707
+ const offset = filter?.offset ?? 0;
708
+ const messages = allMessages.slice(offset, offset + limit);
709
+ return {
710
+ messages,
711
+ total,
712
+ offset,
713
+ limit,
714
+ };
907
715
  }
908
- const sessionId = `${myAddress.slice(0, 6)}_${peerAddress.slice(0, 6)}`;
909
- const groups = [messages];
910
- const generatedFiles = [];
911
- const startTime = messages[0].createdAt;
912
- const endTime = messages[messages.length - 1].createdAt;
913
- for (const group of groups) {
914
- const leafIndices = group.map((m) => m.leafIndex).filter((i) => i !== void 0);
915
- const startLeafIndex = Math.min(...leafIndices);
916
- const endLeafIndex = Math.max(...leafIndices);
917
- for (const msg of group) {
918
- if (msg.serverTimestamp === void 0) {
919
- throw new import_types2.MessengerError(
920
- import_types2.MessengerErrorCode.INVALID_INPUT,
921
- `Message ${msg.messageId} missing serverTimestamp`
922
- );
923
- }
924
- if (msg.leafIndex === void 0) {
925
- throw new import_types2.MessengerError(
926
- import_types2.MessengerErrorCode.INVALID_INPUT,
927
- `Message ${msg.messageId} missing leafIndex`
928
- );
929
- }
930
- if (!msg.prevRoot) {
931
- throw new import_types2.MessengerError(
932
- import_types2.MessengerErrorCode.INVALID_INPUT,
933
- `Message ${msg.messageId} missing prevRoot`
934
- );
716
+ async get_conversations(account) {
717
+ const filter = account ? { account } : undefined;
718
+ const allMessages = await this.watch(filter);
719
+ const conversations = new Map();
720
+ for (const msg of allMessages) {
721
+ const myAddress = account?.toLowerCase();
722
+ const peerAddress = msg.fromAddress.toLowerCase() === myAddress
723
+ ? msg.toAddress
724
+ : msg.fromAddress;
725
+ if (!conversations.has(peerAddress)) {
726
+ conversations.set(peerAddress, {
727
+ peerAddress,
728
+ lastMessageAt: msg.createdAt,
729
+ messageCount: 0,
730
+ unreadCount: 0,
731
+ lastMessagePreview: msg.plaintext,
732
+ });
733
+ }
734
+ const conv = conversations.get(peerAddress);
735
+ conv.messageCount++;
736
+ if (msg.createdAt > conv.lastMessageAt) {
737
+ conv.lastMessageAt = msg.createdAt;
738
+ conv.lastMessagePreview = msg.plaintext;
739
+ }
740
+ if (msg.status !== types_js_1.MessageStatus.READ &&
741
+ msg.toAddress.toLowerCase() === myAddress) {
742
+ conv.unreadCount++;
743
+ }
935
744
  }
936
- if (!msg.newRoot) {
937
- throw new import_types2.MessengerError(
938
- import_types2.MessengerErrorCode.INVALID_INPUT,
939
- `Message ${msg.messageId} missing newRoot`
940
- );
745
+ return Array.from(conversations.values()).sort((a, b) => b.lastMessageAt - a.lastMessageAt);
746
+ }
747
+ async generate_wts(params) {
748
+ const fs = await import("fs");
749
+ const path = await import("path");
750
+ const myAddress = params.myAccount.toLowerCase();
751
+ const peerAddress = params.peerAccount.toLowerCase();
752
+ const messageStorage = new storage_js_1.MessageStorage(myAddress);
753
+ const myMessages = messageStorage.getAllMessages(myAddress);
754
+ let messages = myMessages.filter((msg) => {
755
+ const fromLower = msg.fromAddress.toLowerCase();
756
+ const toLower = msg.toAddress.toLowerCase();
757
+ const isBetween = (fromLower === myAddress && toLower === peerAddress) ||
758
+ (fromLower === peerAddress && toLower === myAddress);
759
+ return isBetween;
760
+ });
761
+ messages = messages
762
+ .filter((m) => m.leafIndex !== undefined &&
763
+ m.serverTimestamp !== undefined)
764
+ .reduce((acc, msg) => {
765
+ const existing = acc.find((m) => m.messageId === msg.messageId);
766
+ if (!existing) {
767
+ acc.push(msg);
768
+ }
769
+ return acc;
770
+ }, [])
771
+ .sort((a, b) => {
772
+ return a.leafIndex - b.leafIndex;
773
+ });
774
+ const leafIndexMap = new Map();
775
+ for (const msg of messages) {
776
+ const idx = msg.leafIndex;
777
+ if (!leafIndexMap.has(idx)) {
778
+ leafIndexMap.set(idx, []);
779
+ }
780
+ leafIndexMap.get(idx).push(msg);
781
+ }
782
+ const duplicates = Array.from(leafIndexMap.entries()).filter(([, msgs]) => msgs.length > 1);
783
+ if (duplicates.length > 0) {
784
+ messages.sort((a, b) => (b.serverTimestamp || 0) - (a.serverTimestamp || 0));
785
+ const seenLeafIndices = new Set();
786
+ const uniqueMessages = [];
787
+ for (const msg of messages) {
788
+ const idx = msg.leafIndex;
789
+ if (!seenLeafIndices.has(idx)) {
790
+ seenLeafIndices.add(idx);
791
+ uniqueMessages.push(msg);
792
+ }
793
+ }
794
+ messages = uniqueMessages.sort((a, b) => a.leafIndex - b.leafIndex);
795
+ }
796
+ if (params.range) {
797
+ switch (params.range.type) {
798
+ case "time": {
799
+ const start = Math.min(params.range.start, params.range.end);
800
+ const end = Math.max(params.range.start, params.range.end);
801
+ messages = messages.filter((m) => m.createdAt >= start && m.createdAt <= end);
802
+ break;
803
+ }
804
+ case "messageId": {
805
+ const start = params.range.start;
806
+ const end = params.range.end;
807
+ messages = messages.filter((m) => m.messageId >= start && m.messageId <= end);
808
+ break;
809
+ }
810
+ case "seqIndex": {
811
+ const start = Math.min(params.range.start, params.range.end);
812
+ const end = Math.max(params.range.start, params.range.end);
813
+ messages = messages.filter((m) => m.leafIndex >= start && m.leafIndex <= end);
814
+ break;
815
+ }
816
+ }
941
817
  }
942
- if (!msg.serverSignature) {
943
- throw new import_types2.MessengerError(
944
- import_types2.MessengerErrorCode.INVALID_INPUT,
945
- `Message ${msg.messageId} missing serverSignature`
946
- );
818
+ if (messages.length === 0) {
819
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.INVALID_INPUT, "No messages found for the given criteria");
820
+ }
821
+ if (messages.length > types_js_1.WTS_MAX_MESSAGE_COUNT) {
822
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.INVALID_INPUT, `Message count (${messages.length}) exceeds maximum allowed (${types_js_1.WTS_MAX_MESSAGE_COUNT})`);
823
+ }
824
+ if (!fs.existsSync(params.outputDir)) {
825
+ fs.mkdirSync(params.outputDir, { recursive: true });
826
+ }
827
+ const sessionId = `${myAddress.slice(0, 6)}_${peerAddress.slice(0, 6)}`;
828
+ const groups = [messages];
829
+ const generatedFiles = [];
830
+ const startTime = messages[0].createdAt;
831
+ const endTime = messages[messages.length - 1].createdAt;
832
+ for (const group of groups) {
833
+ const leafIndices = group
834
+ .map((m) => m.leafIndex)
835
+ .filter((i) => i !== undefined);
836
+ const startLeafIndex = Math.min(...leafIndices);
837
+ const endLeafIndex = Math.max(...leafIndices);
838
+ for (const msg of group) {
839
+ if (msg.serverTimestamp === undefined) {
840
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.INVALID_INPUT, `Message ${msg.messageId} missing serverTimestamp`);
841
+ }
842
+ if (msg.leafIndex === undefined) {
843
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.INVALID_INPUT, `Message ${msg.messageId} missing leafIndex`);
844
+ }
845
+ if (!msg.prevRoot) {
846
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.INVALID_INPUT, `Message ${msg.messageId} missing prevRoot`);
847
+ }
848
+ if (!msg.newRoot) {
849
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.INVALID_INPUT, `Message ${msg.messageId} missing newRoot`);
850
+ }
851
+ if (!msg.serverSignature) {
852
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.INVALID_INPUT, `Message ${msg.messageId} missing serverSignature`);
853
+ }
854
+ }
855
+ const wtsMessages = group.map((msg) => ({
856
+ id: msg.messageId,
857
+ from: msg.fromAddress,
858
+ to: msg.toAddress,
859
+ plaintext: params.excludePlaintext ? undefined : msg.plaintext,
860
+ plaintextHash: msg.plaintextHash,
861
+ clientTimestamp: msg.createdAt,
862
+ timestamp: msg.serverTimestamp,
863
+ leafIndex: msg.leafIndex,
864
+ prevRoot: msg.prevRoot,
865
+ merkleRoot: msg.newRoot,
866
+ serverSignature: msg.serverSignature,
867
+ serverPublicKey: msg.serverPublicKey || "",
868
+ guardAddress: msg.guardAddress,
869
+ passportAddress: msg.passportAddress,
870
+ lastReceivedLeafIndex: msg.lastReceivedLeafIndex,
871
+ arkConfirmed: msg.arkConfirmed
872
+ ? {
873
+ recipient: msg.arkConfirmed.recipient,
874
+ recipientPublicKey: msg.arkConfirmed.recipientPublicKey,
875
+ signature: msg.arkConfirmed.signature,
876
+ timestamp: msg.arkConfirmed.timestamp,
877
+ }
878
+ : undefined,
879
+ msgType: msg.msgType,
880
+ zipMetadata: msg.zipMetadata,
881
+ }));
882
+ const addresses = [myAddress, peerAddress].sort();
883
+ const wtsSession = {
884
+ id: `${addresses[0]}:${addresses[1]}`,
885
+ participants: addresses,
886
+ };
887
+ const payload = {
888
+ session: wtsSession,
889
+ messages: wtsMessages,
890
+ };
891
+ const wtsMeta = {
892
+ type: "wts",
893
+ version: "1.0",
894
+ created: new Date().toISOString(),
895
+ hash: "",
896
+ algorithm: "sha256",
897
+ startTime,
898
+ endTime,
899
+ messageCount: wtsMessages.length,
900
+ merkleRoot: wtsMessages[wtsMessages.length - 1].merkleRoot,
901
+ };
902
+ const wtsFile = {
903
+ wts: (0, utils_js_1.canonicalizeJson)(wtsMeta),
904
+ payload,
905
+ meta: wtsMeta,
906
+ };
907
+ const fileName = `${sessionId}_${startLeafIndex}-${endLeafIndex}.wts`;
908
+ const filePath = path.join(params.outputDir, fileName);
909
+ fs.writeFileSync(filePath, JSON.stringify(wtsFile, null, 2));
910
+ generatedFiles.push(filePath);
947
911
  }
948
- }
949
- const wtsMessages = group.map((msg) => ({
950
- id: msg.messageId,
951
- from: msg.fromAddress,
952
- to: msg.toAddress,
953
- plaintext: params.excludePlaintext ? void 0 : msg.plaintext,
954
- plaintextHash: msg.plaintextHash,
955
- clientTimestamp: msg.createdAt,
956
- timestamp: msg.serverTimestamp,
957
- leafIndex: msg.leafIndex,
958
- prevRoot: msg.prevRoot,
959
- merkleRoot: msg.newRoot,
960
- serverSignature: msg.serverSignature,
961
- serverPublicKey: msg.serverPublicKey || "",
962
- guardAddress: msg.guardAddress,
963
- passportAddress: msg.passportAddress,
964
- lastReceivedLeafIndex: msg.lastReceivedLeafIndex,
965
- arkConfirmed: msg.arkConfirmed ? {
966
- recipient: msg.arkConfirmed.recipient,
967
- recipientPublicKey: msg.arkConfirmed.recipientPublicKey,
968
- signature: msg.arkConfirmed.signature,
969
- timestamp: msg.arkConfirmed.timestamp
970
- } : void 0,
971
- msgType: msg.msgType,
972
- zipMetadata: msg.zipMetadata
973
- }));
974
- const addresses = [myAddress, peerAddress].sort();
975
- const wtsSession = {
976
- id: `${addresses[0]}:${addresses[1]}`,
977
- participants: addresses
978
- };
979
- const payload = {
980
- session: wtsSession,
981
- messages: wtsMessages
982
- };
983
- const wtsMeta = {
984
- type: "wts",
985
- version: "1.0",
986
- created: (/* @__PURE__ */ new Date()).toISOString(),
987
- hash: "",
988
- algorithm: "sha256",
989
- startTime,
990
- endTime,
991
- messageCount: wtsMessages.length,
992
- merkleRoot: wtsMessages[wtsMessages.length - 1].merkleRoot
993
- };
994
- const wtsFile = {
995
- wts: (0, import_utils.canonicalizeJson)(wtsMeta),
996
- payload,
997
- meta: wtsMeta
998
- };
999
- const fileName = `${sessionId}_${startLeafIndex}-${endLeafIndex}.wts`;
1000
- const filePath = path.join(params.outputDir, fileName);
1001
- fs.writeFileSync(filePath, JSON.stringify(wtsFile, null, 2));
1002
- generatedFiles.push(filePath);
912
+ return {
913
+ files: generatedFiles,
914
+ totalMessageCount: messages.length,
915
+ timeRange: {
916
+ start: startTime,
917
+ end: endTime,
918
+ },
919
+ };
1003
920
  }
1004
- return {
1005
- files: generatedFiles,
1006
- totalMessageCount: messages.length,
1007
- timeRange: {
1008
- start: startTime,
1009
- end: endTime
1010
- }
1011
- };
1012
- }
1013
- async addToBlacklist(account, addresses) {
1014
- const acc = this.findAccount(account);
1015
- if (!acc) {
1016
- throw new import_types2.MessengerError(
1017
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1018
- `Account ${account} not in managed accounts`
1019
- );
921
+ async addToBlacklist(account, addresses) {
922
+ const acc = this.findAccount(account);
923
+ if (!acc) {
924
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
925
+ }
926
+ return acc.messenger.addToBlacklist(addresses);
1020
927
  }
1021
- return acc.messenger.addToBlacklist(addresses);
1022
- }
1023
- async removeFromBlacklist(account, addresses) {
1024
- const acc = this.findAccount(account);
1025
- if (!acc) {
1026
- throw new import_types2.MessengerError(
1027
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1028
- `Account ${account} not in managed accounts`
1029
- );
928
+ async removeFromBlacklist(account, addresses) {
929
+ const acc = this.findAccount(account);
930
+ if (!acc) {
931
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
932
+ }
933
+ return acc.messenger.removeFromBlacklist(addresses);
1030
934
  }
1031
- return acc.messenger.removeFromBlacklist(addresses);
1032
- }
1033
- async clearBlacklist(account) {
1034
- const acc = this.findAccount(account);
1035
- if (!acc) {
1036
- throw new import_types2.MessengerError(
1037
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1038
- `Account ${account} not in managed accounts`
1039
- );
935
+ async clearBlacklist(account) {
936
+ const acc = this.findAccount(account);
937
+ if (!acc) {
938
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
939
+ }
940
+ return acc.messenger.clearBlacklist();
1040
941
  }
1041
- return acc.messenger.clearBlacklist();
1042
- }
1043
- async getBlacklist(account) {
1044
- const acc = this.findAccount(account);
1045
- if (!acc) {
1046
- throw new import_types2.MessengerError(
1047
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1048
- `Account ${account} not in managed accounts`
1049
- );
942
+ async getBlacklist(account) {
943
+ const acc = this.findAccount(account);
944
+ if (!acc) {
945
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
946
+ }
947
+ return acc.messenger.getBlacklist();
1050
948
  }
1051
- return acc.messenger.getBlacklist();
1052
- }
1053
- async existInBlacklist(account, addresses) {
1054
- const acc = this.findAccount(account);
1055
- if (!acc) {
1056
- throw new import_types2.MessengerError(
1057
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1058
- `Account ${account} not in managed accounts`
1059
- );
949
+ async existInBlacklist(account, addresses) {
950
+ const acc = this.findAccount(account);
951
+ if (!acc) {
952
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
953
+ }
954
+ return acc.messenger.existInBlacklist(addresses);
1060
955
  }
1061
- return acc.messenger.existInBlacklist(addresses);
1062
- }
1063
- async addToFriendsList(account, addresses) {
1064
- const acc = this.findAccount(account);
1065
- if (!acc) {
1066
- throw new import_types2.MessengerError(
1067
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1068
- `Account ${account} not in managed accounts`
1069
- );
956
+ async addToFriendsList(account, addresses) {
957
+ const acc = this.findAccount(account);
958
+ if (!acc) {
959
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
960
+ }
961
+ return acc.messenger.addToFriendsList(addresses);
1070
962
  }
1071
- return acc.messenger.addToFriendsList(addresses);
1072
- }
1073
- async removeFromFriendsList(account, addresses) {
1074
- const acc = this.findAccount(account);
1075
- if (!acc) {
1076
- throw new import_types2.MessengerError(
1077
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1078
- `Account ${account} not in managed accounts`
1079
- );
963
+ async removeFromFriendsList(account, addresses) {
964
+ const acc = this.findAccount(account);
965
+ if (!acc) {
966
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
967
+ }
968
+ return acc.messenger.removeFromFriendsList(addresses);
1080
969
  }
1081
- return acc.messenger.removeFromFriendsList(addresses);
1082
- }
1083
- async clearFriendsList(account) {
1084
- const acc = this.findAccount(account);
1085
- if (!acc) {
1086
- throw new import_types2.MessengerError(
1087
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1088
- `Account ${account} not in managed accounts`
1089
- );
970
+ async clearFriendsList(account) {
971
+ const acc = this.findAccount(account);
972
+ if (!acc) {
973
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
974
+ }
975
+ return acc.messenger.clearFriendsList();
1090
976
  }
1091
- return acc.messenger.clearFriendsList();
1092
- }
1093
- async getFriendsList(account) {
1094
- const acc = this.findAccount(account);
1095
- if (!acc) {
1096
- throw new import_types2.MessengerError(
1097
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1098
- `Account ${account} not in managed accounts`
1099
- );
977
+ async getFriendsList(account) {
978
+ const acc = this.findAccount(account);
979
+ if (!acc) {
980
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
981
+ }
982
+ return acc.messenger.getFriendsList();
1100
983
  }
1101
- return acc.messenger.getFriendsList();
1102
- }
1103
- async existInFriendsList(account, addresses) {
1104
- const acc = this.findAccount(account);
1105
- if (!acc) {
1106
- throw new import_types2.MessengerError(
1107
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1108
- `Account ${account} not in managed accounts`
1109
- );
984
+ async existInFriendsList(account, addresses) {
985
+ const acc = this.findAccount(account);
986
+ if (!acc) {
987
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
988
+ }
989
+ return acc.messenger.existInFriendsList(addresses);
1110
990
  }
1111
- return acc.messenger.existInFriendsList(addresses);
1112
- }
1113
- async addToGuardList(account, guards) {
1114
- const acc = this.findAccount(account);
1115
- if (!acc) {
1116
- throw new import_types2.MessengerError(
1117
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1118
- `Account ${account} not in managed accounts`
1119
- );
991
+ async addToGuardList(account, guards) {
992
+ const acc = this.findAccount(account);
993
+ if (!acc) {
994
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
995
+ }
996
+ return acc.messenger.addToGuardList(guards);
1120
997
  }
1121
- return acc.messenger.addToGuardList(guards);
1122
- }
1123
- async removeFromGuardList(account, addresses) {
1124
- const acc = this.findAccount(account);
1125
- if (!acc) {
1126
- throw new import_types2.MessengerError(
1127
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1128
- `Account ${account} not in managed accounts`
1129
- );
998
+ async removeFromGuardList(account, addresses) {
999
+ const acc = this.findAccount(account);
1000
+ if (!acc) {
1001
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
1002
+ }
1003
+ return acc.messenger.removeFromGuardList(addresses);
1130
1004
  }
1131
- return acc.messenger.removeFromGuardList(addresses);
1132
- }
1133
- async getGuardList(account) {
1134
- const acc = this.findAccount(account);
1135
- if (!acc) {
1136
- throw new import_types2.MessengerError(
1137
- import_types2.MessengerErrorCode.ACCOUNT_NOT_FOUND,
1138
- `Account ${account} not in managed accounts`
1139
- );
1005
+ async getGuardList(account) {
1006
+ const acc = this.findAccount(account);
1007
+ if (!acc) {
1008
+ throw new types_js_2.MessengerError(types_js_2.MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
1009
+ }
1010
+ return acc.messenger.getGuardList();
1140
1011
  }
1141
- return acc.messenger.getGuardList();
1142
- }
1143
1012
  }
1013
+ exports.MessengerManager = MessengerManager;
1014
+ //# sourceMappingURL=messenger-manager.js.map