wowok 2.1.39 → 2.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1019) hide show
  1. package/dist/cjs/bcs/bcs.d.ts +0 -8
  2. package/dist/cjs/bcs/bcs.js +1 -278
  3. package/dist/cjs/bcs/effects.js +1 -203
  4. package/dist/cjs/bcs/index.js +1 -55
  5. package/dist/cjs/bcs/pure.js +1 -39
  6. package/dist/cjs/bcs/type-tag-serializer.js +1 -107
  7. package/dist/cjs/bcs/types.d.ts +0 -49
  8. package/dist/cjs/bcs/types.js +1 -6
  9. package/dist/cjs/client/index.js +1 -7
  10. package/dist/cjs/client/network.js +1 -24
  11. package/dist/cjs/cryptography/index.js +1 -9
  12. package/dist/cjs/cryptography/intent.d.ts +0 -3
  13. package/dist/cjs/cryptography/intent.js +1 -20
  14. package/dist/cjs/cryptography/keypair.d.ts +4 -38
  15. package/dist/cjs/cryptography/keypair.js +1 -104
  16. package/dist/cjs/cryptography/mnemonics.d.ts +0 -23
  17. package/dist/cjs/cryptography/mnemonics.js +1 -46
  18. package/dist/cjs/cryptography/publickey.d.ts +0 -42
  19. package/dist/cjs/cryptography/publickey.js +1 -114
  20. package/dist/cjs/cryptography/signature-scheme.js +1 -25
  21. package/dist/cjs/cryptography/signature.d.ts +0 -11
  22. package/dist/cjs/cryptography/signature.js +1 -50
  23. package/dist/cjs/experimental/cache.js +1 -61
  24. package/dist/cjs/experimental/client.js +1 -23
  25. package/dist/cjs/experimental/core.d.ts +0 -2
  26. package/dist/cjs/experimental/core.js +1 -85
  27. package/dist/cjs/experimental/errors.js +1 -27
  28. package/dist/cjs/experimental/index.js +1 -8
  29. package/dist/cjs/experimental/persistent-storage.d.ts +0 -98
  30. package/dist/cjs/experimental/persistent-storage.js +1 -337
  31. package/dist/cjs/experimental/persistent-storage.test.d.ts +0 -4
  32. package/dist/cjs/experimental/persistent-storage.test.js +1 -198
  33. package/dist/cjs/experimental/transports/utils.js +1 -100
  34. package/dist/cjs/experimental/types.d.ts +0 -6
  35. package/dist/cjs/experimental/types.js +1 -5
  36. package/dist/cjs/faucet/faucet.d.ts +0 -9
  37. package/dist/cjs/faucet/faucet.js +1 -111
  38. package/dist/cjs/faucet/index.js +1 -4
  39. package/dist/cjs/grpc/client.js +1 -45
  40. package/dist/cjs/grpc/core.js +1 -603
  41. package/dist/cjs/grpc/index.js +1 -5
  42. package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +0 -151
  43. package/dist/cjs/grpc/proto/google/protobuf/any.js +1 -168
  44. package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +0 -89
  45. package/dist/cjs/grpc/proto/google/protobuf/duration.js +1 -106
  46. package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +0 -17
  47. package/dist/cjs/grpc/proto/google/protobuf/empty.js +1 -49
  48. package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +0 -217
  49. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +1 -95
  50. package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +0 -112
  51. package/dist/cjs/grpc/proto/google/protobuf/struct.js +1 -272
  52. package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +0 -127
  53. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +1 -150
  54. package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +0 -407
  55. package/dist/cjs/grpc/proto/google/rpc/error_details.js +1 -343
  56. package/dist/cjs/grpc/proto/google/rpc/status.d.ts +0 -34
  57. package/dist/cjs/grpc/proto/google/rpc/status.js +1 -49
  58. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.d.ts +0 -48
  59. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +1 -83
  60. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.d.ts +0 -23
  61. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +1 -44
  62. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.d.ts +0 -20
  63. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +1 -37
  64. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.d.ts +0 -48
  65. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +1 -69
  66. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +0 -51
  67. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +1 -79
  68. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +0 -149
  69. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +1 -184
  70. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.d.ts +0 -257
  71. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +1 -370
  72. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.d.ts +0 -41
  73. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +1 -79
  74. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.d.ts +0 -12
  75. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +1 -29
  76. package/dist/cjs/grpc/proto/sui/rpc/v2/event.d.ts +0 -63
  77. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +1 -81
  78. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +0 -56
  79. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +1 -79
  80. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.d.ts +0 -623
  81. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +1 -886
  82. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +0 -29
  83. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +1 -55
  84. package/dist/cjs/grpc/proto/sui/rpc/v2/input.d.ts +0 -75
  85. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +1 -102
  86. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.d.ts +0 -50
  87. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +1 -76
  88. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +0 -52
  89. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +1 -68
  90. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.d.ts +0 -260
  91. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +1 -407
  92. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.d.ts +0 -429
  93. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +1 -608
  94. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +0 -30
  95. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +1 -45
  96. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.d.ts +0 -151
  97. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +1 -256
  98. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.d.ts +0 -18
  99. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +1 -31
  100. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.d.ts +0 -97
  101. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +1 -143
  102. package/dist/cjs/grpc/proto/sui/rpc/v2/object.d.ts +0 -95
  103. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +1 -109
  104. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.d.ts +0 -23
  105. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +1 -45
  106. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.d.ts +0 -42
  107. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +1 -75
  108. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.d.ts +0 -15
  109. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +1 -45
  110. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.d.ts +0 -447
  111. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +1 -584
  112. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +0 -31
  113. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +1 -52
  114. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +0 -16
  115. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +1 -26
  116. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +0 -54
  117. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +1 -84
  118. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.d.ts +0 -36
  119. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +1 -52
  120. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.d.ts +0 -518
  121. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +1 -659
  122. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +0 -36
  123. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +1 -36
  124. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.d.ts +0 -36
  125. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +1 -59
  126. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.d.ts +0 -538
  127. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +1 -756
  128. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.d.ts +0 -945
  129. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1 -1245
  130. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +0 -18
  131. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +1 -31
  132. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +0 -118
  133. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +1 -193
  134. package/dist/cjs/index.js +1 -33
  135. package/dist/cjs/jsonRpc/client.d.ts +0 -140
  136. package/dist/cjs/jsonRpc/client.js +1 -653
  137. package/dist/cjs/jsonRpc/core.js +1 -590
  138. package/dist/cjs/jsonRpc/errors.js +1 -41
  139. package/dist/cjs/jsonRpc/http-transport.d.ts +0 -3
  140. package/dist/cjs/jsonRpc/http-transport.js +1 -73
  141. package/dist/cjs/jsonRpc/index.js +1 -6
  142. package/dist/cjs/jsonRpc/json-rpc-resolver.js +1 -314
  143. package/dist/cjs/jsonRpc/rpc-websocket-client.d.ts +0 -15
  144. package/dist/cjs/jsonRpc/rpc-websocket-client.js +1 -159
  145. package/dist/cjs/jsonRpc/types/chain.js +1 -4
  146. package/dist/cjs/jsonRpc/types/changes.js +1 -4
  147. package/dist/cjs/jsonRpc/types/coins.js +1 -4
  148. package/dist/cjs/jsonRpc/types/common.js +1 -4
  149. package/dist/cjs/jsonRpc/types/generated.d.ts +56 -542
  150. package/dist/cjs/jsonRpc/types/generated.js +1 -4
  151. package/dist/cjs/jsonRpc/types/index.js +1 -4
  152. package/dist/cjs/jsonRpc/types/params.d.ts +0 -336
  153. package/dist/cjs/jsonRpc/types/params.js +1 -4
  154. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +1 -63
  155. package/dist/cjs/keypairs/ed25519/index.js +1 -5
  156. package/dist/cjs/keypairs/ed25519/keypair.d.ts +0 -52
  157. package/dist/cjs/keypairs/ed25519/keypair.js +1 -140
  158. package/dist/cjs/keypairs/ed25519/publickey.d.ts +0 -19
  159. package/dist/cjs/keypairs/ed25519/publickey.js +1 -72
  160. package/dist/cjs/keypairs/index.js +1 -7
  161. package/dist/cjs/keypairs/passkey/index.js +1 -5
  162. package/dist/cjs/keypairs/passkey/keypair.d.ts +0 -80
  163. package/dist/cjs/keypairs/passkey/keypair.js +1 -251
  164. package/dist/cjs/keypairs/passkey/publickey.d.ts +0 -47
  165. package/dist/cjs/keypairs/passkey/publickey.js +1 -170
  166. package/dist/cjs/keypairs/passkey/types.d.ts +0 -6
  167. package/dist/cjs/keypairs/passkey/types.js +1 -4
  168. package/dist/cjs/keypairs/secp256k1/index.js +1 -5
  169. package/dist/cjs/keypairs/secp256k1/keypair.d.ts +0 -51
  170. package/dist/cjs/keypairs/secp256k1/keypair.js +1 -133
  171. package/dist/cjs/keypairs/secp256k1/publickey.d.ts +0 -19
  172. package/dist/cjs/keypairs/secp256k1/publickey.js +1 -73
  173. package/dist/cjs/keypairs/secp256r1/index.js +1 -5
  174. package/dist/cjs/keypairs/secp256r1/keypair.d.ts +0 -51
  175. package/dist/cjs/keypairs/secp256r1/keypair.js +1 -130
  176. package/dist/cjs/keypairs/secp256r1/publickey.d.ts +0 -19
  177. package/dist/cjs/keypairs/secp256r1/publickey.js +1 -74
  178. package/dist/cjs/multisig/index.js +1 -5
  179. package/dist/cjs/multisig/publickey.d.ts +1 -36
  180. package/dist/cjs/multisig/publickey.js +1 -243
  181. package/dist/cjs/multisig/signer.d.ts +0 -1
  182. package/dist/cjs/multisig/signer.js +1 -62
  183. package/dist/cjs/transactions/Arguments.js +1 -12
  184. package/dist/cjs/transactions/Commands.d.ts +0 -3
  185. package/dist/cjs/transactions/Commands.js +1 -110
  186. package/dist/cjs/transactions/Inputs.js +1 -55
  187. package/dist/cjs/transactions/ObjectCache.js +1 -208
  188. package/dist/cjs/transactions/Transaction.d.ts +0 -56
  189. package/dist/cjs/transactions/Transaction.js +1 -646
  190. package/dist/cjs/transactions/TransactionData.d.ts +0 -6
  191. package/dist/cjs/transactions/TransactionData.js +1 -424
  192. package/dist/cjs/transactions/__tests__/Transaction.test.js +1 -167
  193. package/dist/cjs/transactions/__tests__/bcs.test.js +1 -200
  194. package/dist/cjs/transactions/data/internal.js +1 -185
  195. package/dist/cjs/transactions/data/v1.js +1 -474
  196. package/dist/cjs/transactions/data/v2.js +1 -108
  197. package/dist/cjs/transactions/executor/caching.d.ts +0 -4
  198. package/dist/cjs/transactions/executor/caching.js +1 -72
  199. package/dist/cjs/transactions/executor/parallel.d.ts +0 -11
  200. package/dist/cjs/transactions/executor/parallel.js +1 -352
  201. package/dist/cjs/transactions/executor/queue.js +1 -62
  202. package/dist/cjs/transactions/executor/serial.d.ts +0 -1
  203. package/dist/cjs/transactions/executor/serial.js +1 -102
  204. package/dist/cjs/transactions/hash.d.ts +0 -6
  205. package/dist/cjs/transactions/hash.js +1 -17
  206. package/dist/cjs/transactions/index.d.ts +0 -1
  207. package/dist/cjs/transactions/index.js +1 -15
  208. package/dist/cjs/transactions/intents/CoinWithBalance.js +1 -148
  209. package/dist/cjs/transactions/object.js +1 -90
  210. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.d.ts +0 -18
  211. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +1 -20
  212. package/dist/cjs/transactions/pure.js +1 -39
  213. package/dist/cjs/transactions/resolve.js +1 -72
  214. package/dist/cjs/transactions/serializer.js +1 -170
  215. package/dist/cjs/transactions/utils.js +1 -124
  216. package/dist/cjs/utils/constants.js +1 -27
  217. package/dist/cjs/utils/derived-objects.d.ts +0 -3
  218. package/dist/cjs/utils/derived-objects.js +1 -14
  219. package/dist/cjs/utils/dynamic-fields.js +1 -20
  220. package/dist/cjs/utils/format.js +1 -15
  221. package/dist/cjs/utils/index.js +1 -15
  222. package/dist/cjs/utils/move-registry.d.ts +0 -4
  223. package/dist/cjs/utils/move-registry.js +1 -41
  224. package/dist/cjs/utils/sui-types.d.ts +0 -12
  225. package/dist/cjs/utils/sui-types.js +1 -86
  226. package/dist/cjs/utils/suins.js +1 -36
  227. package/dist/cjs/verify/index.js +1 -5
  228. package/dist/cjs/verify/verify.js +1 -91
  229. package/dist/cjs/version.js +1 -6
  230. package/dist/cjs/w/call/allocation.js +1 -369
  231. package/dist/cjs/w/call/arb.js +1 -109
  232. package/dist/cjs/w/call/arbitration.js +1 -1223
  233. package/dist/cjs/w/call/base.js +1 -324
  234. package/dist/cjs/w/call/contact.js +1 -350
  235. package/dist/cjs/w/call/demand.js +1 -702
  236. package/dist/cjs/w/call/entity.js +1 -180
  237. package/dist/cjs/w/call/guard-ins.d.ts +0 -3
  238. package/dist/cjs/w/call/guard-ins.js +1 -4387
  239. package/dist/cjs/w/call/guard.d.ts +111 -27
  240. package/dist/cjs/w/call/guard.js +1 -1154
  241. package/dist/cjs/w/call/index.js +1 -27
  242. package/dist/cjs/w/call/machine.js +1 -1146
  243. package/dist/cjs/w/call/order.js +1 -348
  244. package/dist/cjs/w/call/passport.js +1 -234
  245. package/dist/cjs/w/call/payment.js +1 -192
  246. package/dist/cjs/w/call/permission.d.ts +0 -20
  247. package/dist/cjs/w/call/permission.js +1 -1227
  248. package/dist/cjs/w/call/personal.js +1 -142
  249. package/dist/cjs/w/call/progress.js +1 -691
  250. package/dist/cjs/w/call/proof.js +1 -69
  251. package/dist/cjs/w/call/repository.js +1 -1097
  252. package/dist/cjs/w/call/resource.js +1 -119
  253. package/dist/cjs/w/call/reward.js +1 -688
  254. package/dist/cjs/w/call/service.js +1 -1991
  255. package/dist/cjs/w/call/treasury.js +1 -877
  256. package/dist/cjs/w/call/util.d.ts +1 -0
  257. package/dist/cjs/w/call/util.js +1 -624
  258. package/dist/cjs/w/common.d.ts +48 -68
  259. package/dist/cjs/w/common.js +1 -604
  260. package/dist/cjs/w/exception.d.ts +1 -0
  261. package/dist/cjs/w/exception.js +1 -582
  262. package/dist/cjs/w/index.js +1 -12
  263. package/dist/cjs/w/local/account.d.ts +0 -45
  264. package/dist/cjs/w/local/account.js +1 -746
  265. package/dist/cjs/w/local/cache.js +1 -191
  266. package/dist/cjs/w/local/config.d.ts +0 -3
  267. package/dist/cjs/w/local/config.js +1 -50
  268. package/dist/cjs/w/local/index.js +1 -233
  269. package/dist/cjs/w/local/local.js +1 -664
  270. package/dist/cjs/w/local/storage.d.ts +0 -20
  271. package/dist/cjs/w/local/storage.js +1 -222
  272. package/dist/cjs/w/local/token.d.ts +1 -4
  273. package/dist/cjs/w/local/token.js +1 -161
  274. package/dist/cjs/w/local/util.d.ts +0 -4
  275. package/dist/cjs/w/local/util.js +1 -50
  276. package/dist/cjs/w/local/wip.d.ts +0 -92
  277. package/dist/cjs/w/local/wip.js +1 -1202
  278. package/dist/cjs/w/messenger/crypto.d.ts +0 -186
  279. package/dist/cjs/w/messenger/crypto.js +1 -574
  280. package/dist/cjs/w/messenger/index.d.ts +0 -18
  281. package/dist/cjs/w/messenger/index.js +1 -28
  282. package/dist/cjs/w/messenger/messenger-api.d.ts +0 -177
  283. package/dist/cjs/w/messenger/messenger-api.js +1 -1503
  284. package/dist/cjs/w/messenger/messenger-manager.d.ts +0 -24
  285. package/dist/cjs/w/messenger/messenger-manager.js +1 -1065
  286. package/dist/cjs/w/messenger/messenger.d.ts +0 -206
  287. package/dist/cjs/w/messenger/messenger.js +1 -1439
  288. package/dist/cjs/w/messenger/server.d.ts +0 -94
  289. package/dist/cjs/w/messenger/server.js +1 -460
  290. package/dist/cjs/w/messenger/session.d.ts +0 -76
  291. package/dist/cjs/w/messenger/session.js +1 -768
  292. package/dist/cjs/w/messenger/storage.d.ts +0 -143
  293. package/dist/cjs/w/messenger/storage.js +1 -1256
  294. package/dist/cjs/w/messenger/templates/wts-html-template.d.ts +0 -31
  295. package/dist/cjs/w/messenger/templates/wts-html-template.js +1 -414
  296. package/dist/cjs/w/messenger/types.d.ts +7 -218
  297. package/dist/cjs/w/messenger/types.js +1 -98
  298. package/dist/cjs/w/messenger/utils.d.ts +0 -14
  299. package/dist/cjs/w/messenger/utils.js +1 -29
  300. package/dist/cjs/w/query/bult-in.d.ts +0 -11
  301. package/dist/cjs/w/query/bult-in.js +1 -107
  302. package/dist/cjs/w/query/event.d.ts +0 -7
  303. package/dist/cjs/w/query/event.js +1 -140
  304. package/dist/cjs/w/query/index.js +1 -8
  305. package/dist/cjs/w/query/object.d.ts +7 -51
  306. package/dist/cjs/w/query/object.js +1 -1636
  307. package/dist/cjs/w/query/received.d.ts +0 -6
  308. package/dist/cjs/w/query/received.js +1 -67
  309. package/dist/cjs/w/query/util.d.ts +1 -2
  310. package/dist/cjs/w/query/util.js +1 -54
  311. package/dist/cjs/w/util.d.ts +2 -5
  312. package/dist/cjs/w/util.js +1 -616
  313. package/dist/esm/bcs/bcs.d.ts +0 -8
  314. package/dist/esm/bcs/bcs.js +1 -278
  315. package/dist/esm/bcs/effects.js +1 -203
  316. package/dist/esm/bcs/index.js +1 -55
  317. package/dist/esm/bcs/pure.js +1 -39
  318. package/dist/esm/bcs/type-tag-serializer.js +1 -107
  319. package/dist/esm/bcs/types.d.ts +0 -49
  320. package/dist/esm/bcs/types.js +1 -6
  321. package/dist/esm/client/index.js +1 -7
  322. package/dist/esm/client/network.js +1 -24
  323. package/dist/esm/cryptography/index.js +1 -9
  324. package/dist/esm/cryptography/intent.d.ts +0 -3
  325. package/dist/esm/cryptography/intent.js +1 -20
  326. package/dist/esm/cryptography/keypair.d.ts +4 -38
  327. package/dist/esm/cryptography/keypair.js +1 -104
  328. package/dist/esm/cryptography/mnemonics.d.ts +0 -23
  329. package/dist/esm/cryptography/mnemonics.js +1 -46
  330. package/dist/esm/cryptography/publickey.d.ts +0 -42
  331. package/dist/esm/cryptography/publickey.js +1 -114
  332. package/dist/esm/cryptography/signature-scheme.js +1 -25
  333. package/dist/esm/cryptography/signature.d.ts +0 -11
  334. package/dist/esm/cryptography/signature.js +1 -50
  335. package/dist/esm/experimental/cache.js +1 -61
  336. package/dist/esm/experimental/client.js +1 -23
  337. package/dist/esm/experimental/core.d.ts +0 -2
  338. package/dist/esm/experimental/core.js +1 -85
  339. package/dist/esm/experimental/errors.js +1 -27
  340. package/dist/esm/experimental/index.js +1 -8
  341. package/dist/esm/experimental/persistent-storage.d.ts +0 -98
  342. package/dist/esm/experimental/persistent-storage.js +1 -337
  343. package/dist/esm/experimental/persistent-storage.test.d.ts +0 -4
  344. package/dist/esm/experimental/persistent-storage.test.js +1 -198
  345. package/dist/esm/experimental/transports/utils.js +1 -100
  346. package/dist/esm/experimental/types.d.ts +0 -6
  347. package/dist/esm/experimental/types.js +1 -5
  348. package/dist/esm/faucet/faucet.d.ts +0 -9
  349. package/dist/esm/faucet/faucet.js +1 -111
  350. package/dist/esm/faucet/index.js +1 -4
  351. package/dist/esm/grpc/client.js +1 -45
  352. package/dist/esm/grpc/core.js +1 -603
  353. package/dist/esm/grpc/index.js +1 -5
  354. package/dist/esm/grpc/proto/google/protobuf/any.d.ts +0 -151
  355. package/dist/esm/grpc/proto/google/protobuf/any.js +1 -168
  356. package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +0 -89
  357. package/dist/esm/grpc/proto/google/protobuf/duration.js +1 -106
  358. package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +0 -17
  359. package/dist/esm/grpc/proto/google/protobuf/empty.js +1 -49
  360. package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +0 -217
  361. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +1 -95
  362. package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +0 -112
  363. package/dist/esm/grpc/proto/google/protobuf/struct.js +1 -272
  364. package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +0 -127
  365. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +1 -150
  366. package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +0 -407
  367. package/dist/esm/grpc/proto/google/rpc/error_details.js +1 -343
  368. package/dist/esm/grpc/proto/google/rpc/status.d.ts +0 -34
  369. package/dist/esm/grpc/proto/google/rpc/status.js +1 -49
  370. package/dist/esm/grpc/proto/sui/rpc/v2/argument.d.ts +0 -48
  371. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +1 -83
  372. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.d.ts +0 -23
  373. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +1 -44
  374. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.d.ts +0 -20
  375. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +1 -37
  376. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.d.ts +0 -48
  377. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +1 -69
  378. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +0 -51
  379. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +1 -79
  380. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +0 -149
  381. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +1 -184
  382. package/dist/esm/grpc/proto/sui/rpc/v2/effects.d.ts +0 -257
  383. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +1 -370
  384. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.d.ts +0 -41
  385. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +1 -79
  386. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.d.ts +0 -12
  387. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +1 -29
  388. package/dist/esm/grpc/proto/sui/rpc/v2/event.d.ts +0 -63
  389. package/dist/esm/grpc/proto/sui/rpc/v2/event.js +1 -81
  390. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +0 -56
  391. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +1 -79
  392. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.d.ts +0 -623
  393. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +1 -886
  394. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +0 -29
  395. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +1 -55
  396. package/dist/esm/grpc/proto/sui/rpc/v2/input.d.ts +0 -75
  397. package/dist/esm/grpc/proto/sui/rpc/v2/input.js +1 -102
  398. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.d.ts +0 -50
  399. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +1 -76
  400. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +0 -52
  401. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +1 -68
  402. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.d.ts +0 -260
  403. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +1 -407
  404. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.d.ts +0 -429
  405. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +1 -608
  406. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +0 -30
  407. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +1 -45
  408. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.d.ts +0 -151
  409. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +1 -256
  410. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.d.ts +0 -18
  411. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +1 -31
  412. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.d.ts +0 -97
  413. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +1 -143
  414. package/dist/esm/grpc/proto/sui/rpc/v2/object.d.ts +0 -95
  415. package/dist/esm/grpc/proto/sui/rpc/v2/object.js +1 -109
  416. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.d.ts +0 -23
  417. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +1 -45
  418. package/dist/esm/grpc/proto/sui/rpc/v2/owner.d.ts +0 -42
  419. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +1 -75
  420. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.d.ts +0 -15
  421. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +1 -45
  422. package/dist/esm/grpc/proto/sui/rpc/v2/signature.d.ts +0 -447
  423. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +1 -584
  424. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +0 -31
  425. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +1 -52
  426. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +0 -16
  427. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +1 -26
  428. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +0 -54
  429. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +1 -84
  430. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.d.ts +0 -36
  431. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +1 -52
  432. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.d.ts +0 -518
  433. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +1 -659
  434. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +0 -36
  435. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +1 -36
  436. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.d.ts +0 -36
  437. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +1 -59
  438. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.d.ts +0 -538
  439. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +1 -756
  440. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.d.ts +0 -945
  441. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +1 -1245
  442. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +0 -18
  443. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +1 -31
  444. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +0 -118
  445. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +1 -193
  446. package/dist/esm/index.js +1 -33
  447. package/dist/esm/jsonRpc/client.d.ts +0 -140
  448. package/dist/esm/jsonRpc/client.js +1 -653
  449. package/dist/esm/jsonRpc/core.js +1 -590
  450. package/dist/esm/jsonRpc/errors.js +1 -41
  451. package/dist/esm/jsonRpc/http-transport.d.ts +0 -3
  452. package/dist/esm/jsonRpc/http-transport.js +1 -73
  453. package/dist/esm/jsonRpc/index.js +1 -6
  454. package/dist/esm/jsonRpc/json-rpc-resolver.js +1 -314
  455. package/dist/esm/jsonRpc/rpc-websocket-client.d.ts +0 -15
  456. package/dist/esm/jsonRpc/rpc-websocket-client.js +1 -159
  457. package/dist/esm/jsonRpc/types/chain.js +1 -4
  458. package/dist/esm/jsonRpc/types/changes.js +1 -4
  459. package/dist/esm/jsonRpc/types/coins.js +1 -4
  460. package/dist/esm/jsonRpc/types/common.js +1 -4
  461. package/dist/esm/jsonRpc/types/generated.d.ts +56 -542
  462. package/dist/esm/jsonRpc/types/generated.js +1 -4
  463. package/dist/esm/jsonRpc/types/index.js +1 -4
  464. package/dist/esm/jsonRpc/types/params.d.ts +0 -336
  465. package/dist/esm/jsonRpc/types/params.js +1 -4
  466. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +1 -63
  467. package/dist/esm/keypairs/ed25519/index.js +1 -5
  468. package/dist/esm/keypairs/ed25519/keypair.d.ts +0 -52
  469. package/dist/esm/keypairs/ed25519/keypair.js +1 -140
  470. package/dist/esm/keypairs/ed25519/publickey.d.ts +0 -19
  471. package/dist/esm/keypairs/ed25519/publickey.js +1 -72
  472. package/dist/esm/keypairs/index.js +1 -7
  473. package/dist/esm/keypairs/passkey/index.js +1 -5
  474. package/dist/esm/keypairs/passkey/keypair.d.ts +0 -80
  475. package/dist/esm/keypairs/passkey/keypair.js +1 -251
  476. package/dist/esm/keypairs/passkey/publickey.d.ts +0 -47
  477. package/dist/esm/keypairs/passkey/publickey.js +1 -170
  478. package/dist/esm/keypairs/passkey/types.d.ts +0 -6
  479. package/dist/esm/keypairs/passkey/types.js +1 -4
  480. package/dist/esm/keypairs/secp256k1/index.js +1 -5
  481. package/dist/esm/keypairs/secp256k1/keypair.d.ts +0 -51
  482. package/dist/esm/keypairs/secp256k1/keypair.js +1 -133
  483. package/dist/esm/keypairs/secp256k1/publickey.d.ts +0 -19
  484. package/dist/esm/keypairs/secp256k1/publickey.js +1 -73
  485. package/dist/esm/keypairs/secp256r1/index.js +1 -5
  486. package/dist/esm/keypairs/secp256r1/keypair.d.ts +0 -51
  487. package/dist/esm/keypairs/secp256r1/keypair.js +1 -130
  488. package/dist/esm/keypairs/secp256r1/publickey.d.ts +0 -19
  489. package/dist/esm/keypairs/secp256r1/publickey.js +1 -74
  490. package/dist/esm/multisig/index.js +1 -5
  491. package/dist/esm/multisig/publickey.d.ts +1 -36
  492. package/dist/esm/multisig/publickey.js +1 -243
  493. package/dist/esm/multisig/signer.d.ts +0 -1
  494. package/dist/esm/multisig/signer.js +1 -62
  495. package/dist/esm/transactions/Arguments.js +1 -12
  496. package/dist/esm/transactions/Commands.d.ts +0 -3
  497. package/dist/esm/transactions/Commands.js +1 -110
  498. package/dist/esm/transactions/Inputs.js +1 -55
  499. package/dist/esm/transactions/ObjectCache.js +1 -208
  500. package/dist/esm/transactions/Transaction.d.ts +0 -56
  501. package/dist/esm/transactions/Transaction.js +1 -646
  502. package/dist/esm/transactions/TransactionData.d.ts +0 -6
  503. package/dist/esm/transactions/TransactionData.js +1 -424
  504. package/dist/esm/transactions/__tests__/Transaction.test.js +1 -167
  505. package/dist/esm/transactions/__tests__/bcs.test.js +1 -200
  506. package/dist/esm/transactions/data/internal.js +1 -185
  507. package/dist/esm/transactions/data/v1.js +1 -474
  508. package/dist/esm/transactions/data/v2.js +1 -108
  509. package/dist/esm/transactions/executor/caching.d.ts +0 -4
  510. package/dist/esm/transactions/executor/caching.js +1 -72
  511. package/dist/esm/transactions/executor/parallel.d.ts +0 -11
  512. package/dist/esm/transactions/executor/parallel.js +1 -352
  513. package/dist/esm/transactions/executor/queue.js +1 -62
  514. package/dist/esm/transactions/executor/serial.d.ts +0 -1
  515. package/dist/esm/transactions/executor/serial.js +1 -102
  516. package/dist/esm/transactions/hash.d.ts +0 -6
  517. package/dist/esm/transactions/hash.js +1 -17
  518. package/dist/esm/transactions/index.d.ts +0 -1
  519. package/dist/esm/transactions/index.js +1 -15
  520. package/dist/esm/transactions/intents/CoinWithBalance.js +1 -148
  521. package/dist/esm/transactions/object.js +1 -90
  522. package/dist/esm/transactions/plugins/NamedPackagesPlugin.d.ts +0 -18
  523. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +1 -20
  524. package/dist/esm/transactions/pure.js +1 -39
  525. package/dist/esm/transactions/resolve.js +1 -72
  526. package/dist/esm/transactions/serializer.js +1 -170
  527. package/dist/esm/transactions/utils.js +1 -124
  528. package/dist/esm/utils/constants.js +1 -27
  529. package/dist/esm/utils/derived-objects.d.ts +0 -3
  530. package/dist/esm/utils/derived-objects.js +1 -14
  531. package/dist/esm/utils/dynamic-fields.js +1 -20
  532. package/dist/esm/utils/format.js +1 -15
  533. package/dist/esm/utils/index.js +1 -15
  534. package/dist/esm/utils/move-registry.d.ts +0 -4
  535. package/dist/esm/utils/move-registry.js +1 -41
  536. package/dist/esm/utils/sui-types.d.ts +0 -12
  537. package/dist/esm/utils/sui-types.js +1 -86
  538. package/dist/esm/utils/suins.js +1 -36
  539. package/dist/esm/verify/index.js +1 -5
  540. package/dist/esm/verify/verify.js +1 -91
  541. package/dist/esm/version.js +1 -6
  542. package/dist/esm/w/call/allocation.js +1 -369
  543. package/dist/esm/w/call/arb.js +1 -109
  544. package/dist/esm/w/call/arbitration.js +1 -1223
  545. package/dist/esm/w/call/base.js +1 -324
  546. package/dist/esm/w/call/contact.js +1 -350
  547. package/dist/esm/w/call/demand.js +1 -702
  548. package/dist/esm/w/call/entity.js +1 -180
  549. package/dist/esm/w/call/guard-ins.d.ts +0 -3
  550. package/dist/esm/w/call/guard-ins.js +1 -4387
  551. package/dist/esm/w/call/guard.d.ts +111 -27
  552. package/dist/esm/w/call/guard.js +1 -1154
  553. package/dist/esm/w/call/index.js +1 -27
  554. package/dist/esm/w/call/machine.js +1 -1146
  555. package/dist/esm/w/call/order.js +1 -348
  556. package/dist/esm/w/call/passport.js +1 -234
  557. package/dist/esm/w/call/payment.js +1 -192
  558. package/dist/esm/w/call/permission.d.ts +0 -20
  559. package/dist/esm/w/call/permission.js +1 -1227
  560. package/dist/esm/w/call/personal.js +1 -142
  561. package/dist/esm/w/call/progress.js +1 -691
  562. package/dist/esm/w/call/proof.js +1 -69
  563. package/dist/esm/w/call/repository.js +1 -1097
  564. package/dist/esm/w/call/resource.js +1 -119
  565. package/dist/esm/w/call/reward.js +1 -688
  566. package/dist/esm/w/call/service.js +1 -1991
  567. package/dist/esm/w/call/treasury.js +1 -877
  568. package/dist/esm/w/call/util.d.ts +1 -0
  569. package/dist/esm/w/call/util.js +1 -624
  570. package/dist/esm/w/common.d.ts +48 -68
  571. package/dist/esm/w/common.js +1 -604
  572. package/dist/esm/w/exception.d.ts +1 -0
  573. package/dist/esm/w/exception.js +1 -582
  574. package/dist/esm/w/index.js +1 -12
  575. package/dist/esm/w/local/account.d.ts +0 -45
  576. package/dist/esm/w/local/account.js +1 -746
  577. package/dist/esm/w/local/cache.js +1 -191
  578. package/dist/esm/w/local/config.d.ts +0 -3
  579. package/dist/esm/w/local/config.js +1 -50
  580. package/dist/esm/w/local/index.js +1 -233
  581. package/dist/esm/w/local/local.js +1 -664
  582. package/dist/esm/w/local/storage.d.ts +0 -20
  583. package/dist/esm/w/local/storage.js +1 -222
  584. package/dist/esm/w/local/token.d.ts +1 -4
  585. package/dist/esm/w/local/token.js +1 -161
  586. package/dist/esm/w/local/util.d.ts +0 -4
  587. package/dist/esm/w/local/util.js +1 -50
  588. package/dist/esm/w/local/wip.d.ts +0 -92
  589. package/dist/esm/w/local/wip.js +1 -1202
  590. package/dist/esm/w/messenger/crypto.d.ts +0 -186
  591. package/dist/esm/w/messenger/crypto.js +1 -574
  592. package/dist/esm/w/messenger/index.d.ts +0 -18
  593. package/dist/esm/w/messenger/index.js +1 -28
  594. package/dist/esm/w/messenger/messenger-api.d.ts +0 -177
  595. package/dist/esm/w/messenger/messenger-api.js +1 -1503
  596. package/dist/esm/w/messenger/messenger-manager.d.ts +0 -24
  597. package/dist/esm/w/messenger/messenger-manager.js +1 -1065
  598. package/dist/esm/w/messenger/messenger.d.ts +0 -206
  599. package/dist/esm/w/messenger/messenger.js +1 -1439
  600. package/dist/esm/w/messenger/server.d.ts +0 -94
  601. package/dist/esm/w/messenger/server.js +1 -460
  602. package/dist/esm/w/messenger/session.d.ts +0 -76
  603. package/dist/esm/w/messenger/session.js +1 -768
  604. package/dist/esm/w/messenger/storage.d.ts +0 -143
  605. package/dist/esm/w/messenger/storage.js +1 -1256
  606. package/dist/esm/w/messenger/templates/wts-html-template.d.ts +0 -31
  607. package/dist/esm/w/messenger/templates/wts-html-template.js +1 -414
  608. package/dist/esm/w/messenger/types.d.ts +7 -218
  609. package/dist/esm/w/messenger/types.js +1 -98
  610. package/dist/esm/w/messenger/utils.d.ts +0 -14
  611. package/dist/esm/w/messenger/utils.js +1 -29
  612. package/dist/esm/w/query/bult-in.d.ts +0 -11
  613. package/dist/esm/w/query/bult-in.js +1 -107
  614. package/dist/esm/w/query/event.d.ts +0 -7
  615. package/dist/esm/w/query/event.js +1 -140
  616. package/dist/esm/w/query/index.js +1 -8
  617. package/dist/esm/w/query/object.d.ts +7 -51
  618. package/dist/esm/w/query/object.js +1 -1636
  619. package/dist/esm/w/query/received.d.ts +0 -6
  620. package/dist/esm/w/query/received.js +1 -67
  621. package/dist/esm/w/query/util.d.ts +1 -2
  622. package/dist/esm/w/query/util.js +1 -54
  623. package/dist/esm/w/util.d.ts +2 -5
  624. package/dist/esm/w/util.js +1 -616
  625. package/package.json +5 -2
  626. package/dist/cjs/bcs/bcs.js.map +0 -1
  627. package/dist/cjs/bcs/effects.js.map +0 -1
  628. package/dist/cjs/bcs/index.js.map +0 -1
  629. package/dist/cjs/bcs/pure.js.map +0 -1
  630. package/dist/cjs/bcs/type-tag-serializer.js.map +0 -1
  631. package/dist/cjs/bcs/types.js.map +0 -1
  632. package/dist/cjs/client/index.js.map +0 -1
  633. package/dist/cjs/client/network.js.map +0 -1
  634. package/dist/cjs/cryptography/index.js.map +0 -1
  635. package/dist/cjs/cryptography/intent.js.map +0 -1
  636. package/dist/cjs/cryptography/keypair.js.map +0 -1
  637. package/dist/cjs/cryptography/mnemonics.js.map +0 -1
  638. package/dist/cjs/cryptography/publickey.js.map +0 -1
  639. package/dist/cjs/cryptography/signature-scheme.js.map +0 -1
  640. package/dist/cjs/cryptography/signature.js.map +0 -1
  641. package/dist/cjs/experimental/cache.js.map +0 -1
  642. package/dist/cjs/experimental/client.js.map +0 -1
  643. package/dist/cjs/experimental/core.js.map +0 -1
  644. package/dist/cjs/experimental/errors.js.map +0 -1
  645. package/dist/cjs/experimental/index.js.map +0 -1
  646. package/dist/cjs/experimental/persistent-storage.js.map +0 -1
  647. package/dist/cjs/experimental/persistent-storage.test.js.map +0 -1
  648. package/dist/cjs/experimental/transports/utils.js.map +0 -1
  649. package/dist/cjs/experimental/types.js.map +0 -1
  650. package/dist/cjs/faucet/faucet.js.map +0 -1
  651. package/dist/cjs/faucet/index.js.map +0 -1
  652. package/dist/cjs/grpc/client.js.map +0 -1
  653. package/dist/cjs/grpc/core.js.map +0 -1
  654. package/dist/cjs/grpc/index.js.map +0 -1
  655. package/dist/cjs/grpc/proto/google/protobuf/any.js.map +0 -1
  656. package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +0 -1
  657. package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +0 -1
  658. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +0 -1
  659. package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +0 -1
  660. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +0 -1
  661. package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +0 -1
  662. package/dist/cjs/grpc/proto/google/rpc/status.js.map +0 -1
  663. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js.map +0 -1
  664. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js.map +0 -1
  665. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js.map +0 -1
  666. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js.map +0 -1
  667. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +0 -1
  668. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +0 -1
  669. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js.map +0 -1
  670. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js.map +0 -1
  671. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js.map +0 -1
  672. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js.map +0 -1
  673. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js.map +0 -1
  674. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js.map +0 -1
  675. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +0 -1
  676. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js.map +0 -1
  677. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js.map +0 -1
  678. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +0 -1
  679. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js.map +0 -1
  680. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js.map +0 -1
  681. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +0 -1
  682. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js.map +0 -1
  683. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js.map +0 -1
  684. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js.map +0 -1
  685. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js.map +0 -1
  686. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js.map +0 -1
  687. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js.map +0 -1
  688. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js.map +0 -1
  689. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js.map +0 -1
  690. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js.map +0 -1
  691. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +0 -1
  692. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +0 -1
  693. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js.map +0 -1
  694. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js.map +0 -1
  695. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +0 -1
  696. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js.map +0 -1
  697. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js.map +0 -1
  698. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js.map +0 -1
  699. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +0 -1
  700. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +0 -1
  701. package/dist/cjs/index.js.map +0 -1
  702. package/dist/cjs/jsonRpc/client.js.map +0 -1
  703. package/dist/cjs/jsonRpc/core.js.map +0 -1
  704. package/dist/cjs/jsonRpc/errors.js.map +0 -1
  705. package/dist/cjs/jsonRpc/http-transport.js.map +0 -1
  706. package/dist/cjs/jsonRpc/index.js.map +0 -1
  707. package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +0 -1
  708. package/dist/cjs/jsonRpc/rpc-websocket-client.js.map +0 -1
  709. package/dist/cjs/jsonRpc/types/chain.js.map +0 -1
  710. package/dist/cjs/jsonRpc/types/changes.js.map +0 -1
  711. package/dist/cjs/jsonRpc/types/coins.js.map +0 -1
  712. package/dist/cjs/jsonRpc/types/common.js.map +0 -1
  713. package/dist/cjs/jsonRpc/types/generated.js.map +0 -1
  714. package/dist/cjs/jsonRpc/types/index.js.map +0 -1
  715. package/dist/cjs/jsonRpc/types/params.js.map +0 -1
  716. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +0 -1
  717. package/dist/cjs/keypairs/ed25519/index.js.map +0 -1
  718. package/dist/cjs/keypairs/ed25519/keypair.js.map +0 -1
  719. package/dist/cjs/keypairs/ed25519/publickey.js.map +0 -1
  720. package/dist/cjs/keypairs/index.js.map +0 -1
  721. package/dist/cjs/keypairs/passkey/index.js.map +0 -1
  722. package/dist/cjs/keypairs/passkey/keypair.js.map +0 -1
  723. package/dist/cjs/keypairs/passkey/publickey.js.map +0 -1
  724. package/dist/cjs/keypairs/passkey/types.js.map +0 -1
  725. package/dist/cjs/keypairs/secp256k1/index.js.map +0 -1
  726. package/dist/cjs/keypairs/secp256k1/keypair.js.map +0 -1
  727. package/dist/cjs/keypairs/secp256k1/publickey.js.map +0 -1
  728. package/dist/cjs/keypairs/secp256r1/index.js.map +0 -1
  729. package/dist/cjs/keypairs/secp256r1/keypair.js.map +0 -1
  730. package/dist/cjs/keypairs/secp256r1/publickey.js.map +0 -1
  731. package/dist/cjs/multisig/index.js.map +0 -1
  732. package/dist/cjs/multisig/publickey.js.map +0 -1
  733. package/dist/cjs/multisig/signer.js.map +0 -1
  734. package/dist/cjs/transactions/Arguments.js.map +0 -1
  735. package/dist/cjs/transactions/Commands.js.map +0 -1
  736. package/dist/cjs/transactions/Inputs.js.map +0 -1
  737. package/dist/cjs/transactions/ObjectCache.js.map +0 -1
  738. package/dist/cjs/transactions/Transaction.js.map +0 -1
  739. package/dist/cjs/transactions/TransactionData.js.map +0 -1
  740. package/dist/cjs/transactions/__tests__/Transaction.test.js.map +0 -1
  741. package/dist/cjs/transactions/__tests__/bcs.test.js.map +0 -1
  742. package/dist/cjs/transactions/data/internal.js.map +0 -1
  743. package/dist/cjs/transactions/data/v1.js.map +0 -1
  744. package/dist/cjs/transactions/data/v2.js.map +0 -1
  745. package/dist/cjs/transactions/executor/caching.js.map +0 -1
  746. package/dist/cjs/transactions/executor/parallel.js.map +0 -1
  747. package/dist/cjs/transactions/executor/queue.js.map +0 -1
  748. package/dist/cjs/transactions/executor/serial.js.map +0 -1
  749. package/dist/cjs/transactions/hash.js.map +0 -1
  750. package/dist/cjs/transactions/index.js.map +0 -1
  751. package/dist/cjs/transactions/intents/CoinWithBalance.js.map +0 -1
  752. package/dist/cjs/transactions/object.js.map +0 -1
  753. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +0 -1
  754. package/dist/cjs/transactions/pure.js.map +0 -1
  755. package/dist/cjs/transactions/resolve.js.map +0 -1
  756. package/dist/cjs/transactions/serializer.js.map +0 -1
  757. package/dist/cjs/transactions/utils.js.map +0 -1
  758. package/dist/cjs/utils/constants.js.map +0 -1
  759. package/dist/cjs/utils/derived-objects.js.map +0 -1
  760. package/dist/cjs/utils/dynamic-fields.js.map +0 -1
  761. package/dist/cjs/utils/format.js.map +0 -1
  762. package/dist/cjs/utils/index.js.map +0 -1
  763. package/dist/cjs/utils/move-registry.js.map +0 -1
  764. package/dist/cjs/utils/sui-types.js.map +0 -1
  765. package/dist/cjs/utils/suins.js.map +0 -1
  766. package/dist/cjs/verify/index.js.map +0 -1
  767. package/dist/cjs/verify/verify.js.map +0 -1
  768. package/dist/cjs/version.js.map +0 -1
  769. package/dist/cjs/w/call/allocation.js.map +0 -1
  770. package/dist/cjs/w/call/arb.js.map +0 -1
  771. package/dist/cjs/w/call/arbitration.js.map +0 -1
  772. package/dist/cjs/w/call/base.js.map +0 -1
  773. package/dist/cjs/w/call/contact.js.map +0 -1
  774. package/dist/cjs/w/call/demand.js.map +0 -1
  775. package/dist/cjs/w/call/entity.js.map +0 -1
  776. package/dist/cjs/w/call/guard-ins.js.map +0 -1
  777. package/dist/cjs/w/call/guard.js.map +0 -1
  778. package/dist/cjs/w/call/index.js.map +0 -1
  779. package/dist/cjs/w/call/machine.js.map +0 -1
  780. package/dist/cjs/w/call/order.js.map +0 -1
  781. package/dist/cjs/w/call/passport.js.map +0 -1
  782. package/dist/cjs/w/call/payment.js.map +0 -1
  783. package/dist/cjs/w/call/permission.js.map +0 -1
  784. package/dist/cjs/w/call/personal.js.map +0 -1
  785. package/dist/cjs/w/call/progress.js.map +0 -1
  786. package/dist/cjs/w/call/proof.js.map +0 -1
  787. package/dist/cjs/w/call/repository.js.map +0 -1
  788. package/dist/cjs/w/call/resource.js.map +0 -1
  789. package/dist/cjs/w/call/reward.js.map +0 -1
  790. package/dist/cjs/w/call/service.js.map +0 -1
  791. package/dist/cjs/w/call/treasury.js.map +0 -1
  792. package/dist/cjs/w/call/util.js.map +0 -1
  793. package/dist/cjs/w/common.js.map +0 -1
  794. package/dist/cjs/w/exception.js.map +0 -1
  795. package/dist/cjs/w/index.js.map +0 -1
  796. package/dist/cjs/w/local/account.js.map +0 -1
  797. package/dist/cjs/w/local/cache.js.map +0 -1
  798. package/dist/cjs/w/local/config.js.map +0 -1
  799. package/dist/cjs/w/local/index.js.map +0 -1
  800. package/dist/cjs/w/local/local.js.map +0 -1
  801. package/dist/cjs/w/local/storage.js.map +0 -1
  802. package/dist/cjs/w/local/token.js.map +0 -1
  803. package/dist/cjs/w/local/util.js.map +0 -1
  804. package/dist/cjs/w/local/wip.js.map +0 -1
  805. package/dist/cjs/w/messenger/crypto.js.map +0 -1
  806. package/dist/cjs/w/messenger/index.js.map +0 -1
  807. package/dist/cjs/w/messenger/messenger-api.js.map +0 -1
  808. package/dist/cjs/w/messenger/messenger-manager.js.map +0 -1
  809. package/dist/cjs/w/messenger/messenger.js.map +0 -1
  810. package/dist/cjs/w/messenger/server.js.map +0 -1
  811. package/dist/cjs/w/messenger/session.js.map +0 -1
  812. package/dist/cjs/w/messenger/storage.js.map +0 -1
  813. package/dist/cjs/w/messenger/templates/wts-html-template.js.map +0 -1
  814. package/dist/cjs/w/messenger/types.js.map +0 -1
  815. package/dist/cjs/w/messenger/utils.js.map +0 -1
  816. package/dist/cjs/w/query/bult-in.js.map +0 -1
  817. package/dist/cjs/w/query/event.js.map +0 -1
  818. package/dist/cjs/w/query/index.js.map +0 -1
  819. package/dist/cjs/w/query/object.js.map +0 -1
  820. package/dist/cjs/w/query/received.js.map +0 -1
  821. package/dist/cjs/w/query/util.js.map +0 -1
  822. package/dist/cjs/w/util.js.map +0 -1
  823. package/dist/esm/bcs/bcs.js.map +0 -1
  824. package/dist/esm/bcs/effects.js.map +0 -1
  825. package/dist/esm/bcs/index.js.map +0 -1
  826. package/dist/esm/bcs/pure.js.map +0 -1
  827. package/dist/esm/bcs/type-tag-serializer.js.map +0 -1
  828. package/dist/esm/bcs/types.js.map +0 -1
  829. package/dist/esm/client/index.js.map +0 -1
  830. package/dist/esm/client/network.js.map +0 -1
  831. package/dist/esm/cryptography/index.js.map +0 -1
  832. package/dist/esm/cryptography/intent.js.map +0 -1
  833. package/dist/esm/cryptography/keypair.js.map +0 -1
  834. package/dist/esm/cryptography/mnemonics.js.map +0 -1
  835. package/dist/esm/cryptography/publickey.js.map +0 -1
  836. package/dist/esm/cryptography/signature-scheme.js.map +0 -1
  837. package/dist/esm/cryptography/signature.js.map +0 -1
  838. package/dist/esm/experimental/cache.js.map +0 -1
  839. package/dist/esm/experimental/client.js.map +0 -1
  840. package/dist/esm/experimental/core.js.map +0 -1
  841. package/dist/esm/experimental/errors.js.map +0 -1
  842. package/dist/esm/experimental/index.js.map +0 -1
  843. package/dist/esm/experimental/persistent-storage.js.map +0 -1
  844. package/dist/esm/experimental/persistent-storage.test.js.map +0 -1
  845. package/dist/esm/experimental/transports/utils.js.map +0 -1
  846. package/dist/esm/experimental/types.js.map +0 -1
  847. package/dist/esm/faucet/faucet.js.map +0 -1
  848. package/dist/esm/faucet/index.js.map +0 -1
  849. package/dist/esm/grpc/client.js.map +0 -1
  850. package/dist/esm/grpc/core.js.map +0 -1
  851. package/dist/esm/grpc/index.js.map +0 -1
  852. package/dist/esm/grpc/proto/google/protobuf/any.js.map +0 -1
  853. package/dist/esm/grpc/proto/google/protobuf/duration.js.map +0 -1
  854. package/dist/esm/grpc/proto/google/protobuf/empty.js.map +0 -1
  855. package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +0 -1
  856. package/dist/esm/grpc/proto/google/protobuf/struct.js.map +0 -1
  857. package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +0 -1
  858. package/dist/esm/grpc/proto/google/rpc/error_details.js.map +0 -1
  859. package/dist/esm/grpc/proto/google/rpc/status.js.map +0 -1
  860. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js.map +0 -1
  861. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js.map +0 -1
  862. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js.map +0 -1
  863. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js.map +0 -1
  864. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +0 -1
  865. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +0 -1
  866. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js.map +0 -1
  867. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js.map +0 -1
  868. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js.map +0 -1
  869. package/dist/esm/grpc/proto/sui/rpc/v2/event.js.map +0 -1
  870. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js.map +0 -1
  871. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js.map +0 -1
  872. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +0 -1
  873. package/dist/esm/grpc/proto/sui/rpc/v2/input.js.map +0 -1
  874. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js.map +0 -1
  875. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +0 -1
  876. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js.map +0 -1
  877. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js.map +0 -1
  878. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +0 -1
  879. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js.map +0 -1
  880. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js.map +0 -1
  881. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js.map +0 -1
  882. package/dist/esm/grpc/proto/sui/rpc/v2/object.js.map +0 -1
  883. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js.map +0 -1
  884. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js.map +0 -1
  885. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js.map +0 -1
  886. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js.map +0 -1
  887. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js.map +0 -1
  888. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +0 -1
  889. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +0 -1
  890. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js.map +0 -1
  891. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js.map +0 -1
  892. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +0 -1
  893. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js.map +0 -1
  894. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js.map +0 -1
  895. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js.map +0 -1
  896. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +0 -1
  897. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +0 -1
  898. package/dist/esm/index.js.map +0 -1
  899. package/dist/esm/jsonRpc/client.js.map +0 -1
  900. package/dist/esm/jsonRpc/core.js.map +0 -1
  901. package/dist/esm/jsonRpc/errors.js.map +0 -1
  902. package/dist/esm/jsonRpc/http-transport.js.map +0 -1
  903. package/dist/esm/jsonRpc/index.js.map +0 -1
  904. package/dist/esm/jsonRpc/json-rpc-resolver.js.map +0 -1
  905. package/dist/esm/jsonRpc/rpc-websocket-client.js.map +0 -1
  906. package/dist/esm/jsonRpc/types/chain.js.map +0 -1
  907. package/dist/esm/jsonRpc/types/changes.js.map +0 -1
  908. package/dist/esm/jsonRpc/types/coins.js.map +0 -1
  909. package/dist/esm/jsonRpc/types/common.js.map +0 -1
  910. package/dist/esm/jsonRpc/types/generated.js.map +0 -1
  911. package/dist/esm/jsonRpc/types/index.js.map +0 -1
  912. package/dist/esm/jsonRpc/types/params.js.map +0 -1
  913. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +0 -1
  914. package/dist/esm/keypairs/ed25519/index.js.map +0 -1
  915. package/dist/esm/keypairs/ed25519/keypair.js.map +0 -1
  916. package/dist/esm/keypairs/ed25519/publickey.js.map +0 -1
  917. package/dist/esm/keypairs/index.js.map +0 -1
  918. package/dist/esm/keypairs/passkey/index.js.map +0 -1
  919. package/dist/esm/keypairs/passkey/keypair.js.map +0 -1
  920. package/dist/esm/keypairs/passkey/publickey.js.map +0 -1
  921. package/dist/esm/keypairs/passkey/types.js.map +0 -1
  922. package/dist/esm/keypairs/secp256k1/index.js.map +0 -1
  923. package/dist/esm/keypairs/secp256k1/keypair.js.map +0 -1
  924. package/dist/esm/keypairs/secp256k1/publickey.js.map +0 -1
  925. package/dist/esm/keypairs/secp256r1/index.js.map +0 -1
  926. package/dist/esm/keypairs/secp256r1/keypair.js.map +0 -1
  927. package/dist/esm/keypairs/secp256r1/publickey.js.map +0 -1
  928. package/dist/esm/multisig/index.js.map +0 -1
  929. package/dist/esm/multisig/publickey.js.map +0 -1
  930. package/dist/esm/multisig/signer.js.map +0 -1
  931. package/dist/esm/transactions/Arguments.js.map +0 -1
  932. package/dist/esm/transactions/Commands.js.map +0 -1
  933. package/dist/esm/transactions/Inputs.js.map +0 -1
  934. package/dist/esm/transactions/ObjectCache.js.map +0 -1
  935. package/dist/esm/transactions/Transaction.js.map +0 -1
  936. package/dist/esm/transactions/TransactionData.js.map +0 -1
  937. package/dist/esm/transactions/__tests__/Transaction.test.js.map +0 -1
  938. package/dist/esm/transactions/__tests__/bcs.test.js.map +0 -1
  939. package/dist/esm/transactions/data/internal.js.map +0 -1
  940. package/dist/esm/transactions/data/v1.js.map +0 -1
  941. package/dist/esm/transactions/data/v2.js.map +0 -1
  942. package/dist/esm/transactions/executor/caching.js.map +0 -1
  943. package/dist/esm/transactions/executor/parallel.js.map +0 -1
  944. package/dist/esm/transactions/executor/queue.js.map +0 -1
  945. package/dist/esm/transactions/executor/serial.js.map +0 -1
  946. package/dist/esm/transactions/hash.js.map +0 -1
  947. package/dist/esm/transactions/index.js.map +0 -1
  948. package/dist/esm/transactions/intents/CoinWithBalance.js.map +0 -1
  949. package/dist/esm/transactions/object.js.map +0 -1
  950. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js.map +0 -1
  951. package/dist/esm/transactions/pure.js.map +0 -1
  952. package/dist/esm/transactions/resolve.js.map +0 -1
  953. package/dist/esm/transactions/serializer.js.map +0 -1
  954. package/dist/esm/transactions/utils.js.map +0 -1
  955. package/dist/esm/utils/constants.js.map +0 -1
  956. package/dist/esm/utils/derived-objects.js.map +0 -1
  957. package/dist/esm/utils/dynamic-fields.js.map +0 -1
  958. package/dist/esm/utils/format.js.map +0 -1
  959. package/dist/esm/utils/index.js.map +0 -1
  960. package/dist/esm/utils/move-registry.js.map +0 -1
  961. package/dist/esm/utils/sui-types.js.map +0 -1
  962. package/dist/esm/utils/suins.js.map +0 -1
  963. package/dist/esm/verify/index.js.map +0 -1
  964. package/dist/esm/verify/verify.js.map +0 -1
  965. package/dist/esm/version.js.map +0 -1
  966. package/dist/esm/w/call/allocation.js.map +0 -1
  967. package/dist/esm/w/call/arb.js.map +0 -1
  968. package/dist/esm/w/call/arbitration.js.map +0 -1
  969. package/dist/esm/w/call/base.js.map +0 -1
  970. package/dist/esm/w/call/contact.js.map +0 -1
  971. package/dist/esm/w/call/demand.js.map +0 -1
  972. package/dist/esm/w/call/entity.js.map +0 -1
  973. package/dist/esm/w/call/guard-ins.js.map +0 -1
  974. package/dist/esm/w/call/guard.js.map +0 -1
  975. package/dist/esm/w/call/index.js.map +0 -1
  976. package/dist/esm/w/call/machine.js.map +0 -1
  977. package/dist/esm/w/call/order.js.map +0 -1
  978. package/dist/esm/w/call/passport.js.map +0 -1
  979. package/dist/esm/w/call/payment.js.map +0 -1
  980. package/dist/esm/w/call/permission.js.map +0 -1
  981. package/dist/esm/w/call/personal.js.map +0 -1
  982. package/dist/esm/w/call/progress.js.map +0 -1
  983. package/dist/esm/w/call/proof.js.map +0 -1
  984. package/dist/esm/w/call/repository.js.map +0 -1
  985. package/dist/esm/w/call/resource.js.map +0 -1
  986. package/dist/esm/w/call/reward.js.map +0 -1
  987. package/dist/esm/w/call/service.js.map +0 -1
  988. package/dist/esm/w/call/treasury.js.map +0 -1
  989. package/dist/esm/w/call/util.js.map +0 -1
  990. package/dist/esm/w/common.js.map +0 -1
  991. package/dist/esm/w/exception.js.map +0 -1
  992. package/dist/esm/w/index.js.map +0 -1
  993. package/dist/esm/w/local/account.js.map +0 -1
  994. package/dist/esm/w/local/cache.js.map +0 -1
  995. package/dist/esm/w/local/config.js.map +0 -1
  996. package/dist/esm/w/local/index.js.map +0 -1
  997. package/dist/esm/w/local/local.js.map +0 -1
  998. package/dist/esm/w/local/storage.js.map +0 -1
  999. package/dist/esm/w/local/token.js.map +0 -1
  1000. package/dist/esm/w/local/util.js.map +0 -1
  1001. package/dist/esm/w/local/wip.js.map +0 -1
  1002. package/dist/esm/w/messenger/crypto.js.map +0 -1
  1003. package/dist/esm/w/messenger/index.js.map +0 -1
  1004. package/dist/esm/w/messenger/messenger-api.js.map +0 -1
  1005. package/dist/esm/w/messenger/messenger-manager.js.map +0 -1
  1006. package/dist/esm/w/messenger/messenger.js.map +0 -1
  1007. package/dist/esm/w/messenger/server.js.map +0 -1
  1008. package/dist/esm/w/messenger/session.js.map +0 -1
  1009. package/dist/esm/w/messenger/storage.js.map +0 -1
  1010. package/dist/esm/w/messenger/templates/wts-html-template.js.map +0 -1
  1011. package/dist/esm/w/messenger/types.js.map +0 -1
  1012. package/dist/esm/w/messenger/utils.js.map +0 -1
  1013. package/dist/esm/w/query/bult-in.js.map +0 -1
  1014. package/dist/esm/w/query/event.js.map +0 -1
  1015. package/dist/esm/w/query/index.js.map +0 -1
  1016. package/dist/esm/w/query/object.js.map +0 -1
  1017. package/dist/esm/w/query/received.js.map +0 -1
  1018. package/dist/esm/w/query/util.js.map +0 -1
  1019. package/dist/esm/w/util.js.map +0 -1
@@ -1,768 +1 @@
1
- // Copyright (c) Wowok.
2
- // SPDX-License-Identifier: Apache-2.0
3
- /**
4
- * Messenger 会话管理模块
5
- *
6
- * 基于 Signal Protocol 的双棘轮算法实现端到端加密
7
- * 负责:
8
- * 1. 身份密钥管理(与 wowok 账户体系集成)
9
- * 2. 会话建立和维护
10
- * 3. 消息加密和解密
11
- */
12
- import { KeyHelper, SessionBuilder, SessionCipher, SignalProtocolAddress, } from "libsignal-protocol-typescript";
13
- import { SignalProtocolStorage } from "./storage.js";
14
- import { MessengerServerClient } from "./server.js";
15
- import { recoverXed25519FromX25519PrivateKey, arrayBufferToUint8Array, bytesToBase64, base64ToBytes, } from "./crypto.js";
16
- import { MessageType, DEFAULT_MESSENGER_CONFIG, MessengerError, MessengerErrorCode, DEFAULT_DEVICE_ID, } from "./types.js";
17
- // 动态导入 Account 以避免循环依赖
18
- // eslint-disable-next-line import/no-cycle
19
- async function getAccount() {
20
- // eslint-disable-next-line import/no-cycle
21
- const { Account } = await import("../local/account.js");
22
- return Account.Instance();
23
- }
24
- export class MessengerSession {
25
- store;
26
- serverClient;
27
- config;
28
- identity = null;
29
- constructor(userAddress, config) {
30
- this.store = new SignalProtocolStorage(userAddress);
31
- this.config = { ...DEFAULT_MESSENGER_CONFIG, ...config };
32
- this.serverClient = new MessengerServerClient(this.config);
33
- }
34
- /**
35
- * 获取或创建本地身份
36
- *
37
- * 从 wowok 账户的 ED25519 私钥确定性派生 X25519 密钥对,
38
- * 确保恢复钱包后加密身份不变。
39
- */
40
- async ensureIdentity(userAddress) {
41
- if (this.identity) {
42
- return this.identity;
43
- }
44
- // 尝试从存储加载
45
- const existingSignalIdentity = await this.store.getIdentityKeyPair();
46
- const existingRegId = await this.store.getLocalRegistrationId();
47
- if (existingSignalIdentity && existingRegId) {
48
- const x25519PrivateKey = new Uint8Array(existingSignalIdentity.privKey);
49
- const xed25519 = recoverXed25519FromX25519PrivateKey(x25519PrivateKey);
50
- this.identity = {
51
- xed25519,
52
- signalIdentity: existingSignalIdentity,
53
- registrationId: existingRegId,
54
- };
55
- return this.identity;
56
- }
57
- // 从 ED25519 私钥确定性派生 X25519 密钥对
58
- if (!userAddress) {
59
- throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "userAddress is required to derive identity");
60
- }
61
- // 从 Account 派生 X25519 密钥对
62
- const { privateKey, publicKey } = await (await getAccount()).deriveX25519KeyPair(userAddress);
63
- // 生成注册 ID(可以从公钥派生,确保确定性)
64
- const registrationId = this.deriveRegistrationId(publicKey);
65
- // 转换为 Signal Protocol 格式
66
- // Signal Protocol 要求公钥带 0x05 前缀(33字节),私钥32字节
67
- const prefixedPublicKey = new Uint8Array(33);
68
- prefixedPublicKey[0] = 0x05; // Signal Protocol 标准前缀
69
- prefixedPublicKey.set(publicKey, 1);
70
- const signalIdentity = {
71
- privKey: privateKey.slice().buffer,
72
- pubKey: prefixedPublicKey.slice().buffer,
73
- };
74
- await this.store.setIdentity(signalIdentity, registrationId);
75
- const xed25519 = recoverXed25519FromX25519PrivateKey(privateKey);
76
- this.identity = {
77
- xed25519,
78
- signalIdentity,
79
- registrationId,
80
- };
81
- return this.identity;
82
- }
83
- /**
84
- * 从公钥确定性派生注册 ID
85
- * 确保同一账户的注册 ID 始终相同
86
- */
87
- deriveRegistrationId(publicKey) {
88
- // 取公钥前 2 字节作为注册 ID(范围 0-65535)
89
- // 确保不为 0(Signal Protocol 要求)
90
- const id = (publicKey[0] << 8) | publicKey[1];
91
- return id === 0 ? 1 : id;
92
- }
93
- /**
94
- * 注册设备到服务器
95
- */
96
- async registerDevice(userAddress) {
97
- const identity = await this.ensureIdentity(userAddress);
98
- const signedPreKeyId = 1;
99
- let signedPreKey;
100
- let signedPreKeyPublicKey;
101
- let signedPreKeySignature;
102
- let isNewKey = false;
103
- // 【关键修复】使用带签名的存储方法
104
- const existingSignedPreKey = await this.store.loadSignedPreKeyWithSignature(signedPreKeyId);
105
- if (existingSignedPreKey) {
106
- signedPreKeyPublicKey = arrayBufferToUint8Array(existingSignedPreKey.pubKey);
107
- signedPreKeySignature = arrayBufferToUint8Array(existingSignedPreKey.signature);
108
- signedPreKey = {
109
- keyId: signedPreKeyId,
110
- keyPair: {
111
- pubKey: existingSignedPreKey.pubKey,
112
- privKey: existingSignedPreKey.privKey,
113
- },
114
- signature: existingSignedPreKey.signature,
115
- };
116
- }
117
- else {
118
- signedPreKey = await KeyHelper.generateSignedPreKey(identity.signalIdentity, signedPreKeyId);
119
- signedPreKeyPublicKey = arrayBufferToUint8Array(signedPreKey.keyPair.pubKey);
120
- signedPreKeySignature = arrayBufferToUint8Array(signedPreKey.signature);
121
- isNewKey = true;
122
- }
123
- // 生成 One-Time PreKeys(暂不保存)
124
- const oneTimePrekeys = await this.generatePreKeyBatch(this.config.prekey_count, userAddress);
125
- const prefixedIdentityKey = arrayBufferToUint8Array(identity.signalIdentity.pubKey);
126
- const account = await (await getAccount()).get(userAddress, false);
127
- if (!account?.pubkey) {
128
- throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, `Account not found for ${userAddress}`);
129
- }
130
- const timestamp = Date.now();
131
- const nonce = this.generateNonce();
132
- const message = `register:${account.pubkey}:${timestamp}:${nonce}`;
133
- const signResult = await (await getAccount()).signData(userAddress, message);
134
- const signature = Buffer.from(signResult.signature.slice(2), "hex");
135
- const registerRequest = {
136
- userAddress,
137
- deviceId: DEFAULT_DEVICE_ID,
138
- registrationId: identity.registrationId,
139
- identityKey: bytesToBase64(prefixedIdentityKey),
140
- signedPrekey: {
141
- keyId: signedPreKeyId,
142
- publicKey: bytesToBase64(signedPreKeyPublicKey),
143
- signature: bytesToBase64(signedPreKeySignature),
144
- },
145
- prekeys: oneTimePrekeys,
146
- publicKey: account.pubkey,
147
- signatureScheme: "ED25519",
148
- signature: bytesToBase64(signature),
149
- timestamp,
150
- nonce,
151
- };
152
- console.log(`[Session Debug] Sending register request to server...`);
153
- await this.serverClient.registerDevice(registerRequest);
154
- console.log(`[Session Debug] Server register request successful!`);
155
- console.log(`[Session Debug] Verifying registration complete...`);
156
- await this.verifyRegistrationComplete(userAddress);
157
- console.log(`[Session Debug] Registration verification complete!`);
158
- // 【关键修复】只有是新 key 时才保存到本地数据库(包含签名)
159
- if (isNewKey) {
160
- await this.store.storeSignedPreKeyWithSignature(signedPreKeyId, signedPreKey.keyPair, signedPreKeySignature.buffer.slice(0));
161
- }
162
- }
163
- /**
164
- * 验证注册是否完成
165
- * 轮询检查服务器是否已存在该用户
166
- */
167
- async verifyRegistrationComplete(userAddress, maxRetries = 10, retryDelay = 500) {
168
- for (let i = 0; i < maxRetries; i++) {
169
- try {
170
- const status = await this.serverClient.getPrekeyStatus(userAddress);
171
- // 如果成功获取状态,说明注册已完成
172
- console.log(`Registration verified for ${userAddress}, prekeys: ${status.currentCount}/${status.maxAllowed}`);
173
- return;
174
- }
175
- catch (error) {
176
- // 如果是 404,说明注册还没完成,继续等待
177
- if (error?.message?.includes("404") || error?.status === 404) {
178
- if (i < maxRetries - 1) {
179
- console.log(`Waiting for registration to complete... (${i + 1}/${maxRetries})`);
180
- await new Promise((resolve) => setTimeout(resolve, retryDelay));
181
- continue;
182
- }
183
- }
184
- // 其他错误,抛出
185
- throw error;
186
- }
187
- }
188
- throw new MessengerError(MessengerErrorCode.REGISTRATION_FAILED, `Registration verification failed after ${maxRetries} attempts`);
189
- }
190
- /**
191
- * 检查设备是否已在服务器上注册
192
- * 通过查询服务器上的预密钥状态来判断
193
- */
194
- async isDeviceRegistered(userAddress) {
195
- try {
196
- // 检查本地是否有 signedPreKey(使用带签名的方法)
197
- const signedPreKey = await this.store.loadSignedPreKeyWithSignature(1);
198
- if (!signedPreKey) {
199
- return false;
200
- }
201
- // 尝试从服务器获取预密钥状态
202
- const _status = await this.serverClient.getPrekeyStatus(userAddress);
203
- return true;
204
- }
205
- catch (error) {
206
- // 如果是 404,说明设备未注册
207
- if (error?.message?.includes("404") || error?.status === 404) {
208
- return false;
209
- }
210
- return false;
211
- }
212
- }
213
- /**
214
- * 生成预密钥批次(One-Time PreKeys)
215
- */
216
- async generatePreKeyBatch(count, userAddress) {
217
- if (count <= 0)
218
- return [];
219
- const meta = await this.store.getMeta();
220
- let nextPreKeyId = meta.nextPreKeyId || 1;
221
- const prekeys = [];
222
- for (let i = 0; i < count; i++) {
223
- const keyId = nextPreKeyId + i;
224
- const existingPreKey = await this.store.loadPreKey(keyId);
225
- if (existingPreKey) {
226
- const pubKeyBytes = new Uint8Array(existingPreKey.pubKey);
227
- const publicKeyBase64 = bytesToBase64(pubKeyBytes);
228
- const signResult = await (await getAccount()).signData(userAddress, pubKeyBytes);
229
- const signature = Buffer.from(signResult.signature.slice(2), "hex");
230
- prekeys.push({
231
- keyId,
232
- publicKey: publicKeyBase64,
233
- signature: bytesToBase64(signature),
234
- });
235
- continue;
236
- }
237
- const preKey = await KeyHelper.generatePreKey(keyId);
238
- const pubKeyBytes = new Uint8Array(preKey.keyPair.pubKey);
239
- const signResult = await (await getAccount()).signData(userAddress, pubKeyBytes);
240
- const signature = Buffer.from(signResult.signature.slice(2), "hex");
241
- await this.store.storePreKey(keyId, preKey.keyPair);
242
- prekeys.push({
243
- keyId,
244
- publicKey: bytesToBase64(pubKeyBytes),
245
- signature: bytesToBase64(signature),
246
- });
247
- }
248
- nextPreKeyId += count;
249
- await this.store.setMeta({ nextPreKeyId });
250
- return prekeys;
251
- }
252
- /**
253
- * 确保服务器上有足够可用的预密钥
254
- */
255
- async ensurePreKeys(userAddress, force = false) {
256
- const status = await this.serverClient.getPrekeyStatus(userAddress);
257
- if (!force && status.currentCount >= status.maxAllowed) {
258
- return;
259
- }
260
- const needCount = status.maxAllowed - status.currentCount;
261
- if (needCount <= 0) {
262
- return;
263
- }
264
- await this.ensureIdentity(userAddress);
265
- const prekeys = await this.generatePreKeyBatch(needCount, userAddress);
266
- if (prekeys.length === 0) {
267
- return;
268
- }
269
- const account = await (await getAccount()).get(userAddress, false);
270
- if (!account?.pubkey) {
271
- throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, `Account not found for ${userAddress}`);
272
- }
273
- const timestamp = Date.now();
274
- const nonce = this.generateNonce();
275
- const message = `upload_prekeys:${account.pubkey}:${timestamp}:${nonce}`;
276
- const signResult = await (await getAccount()).signData(userAddress, message);
277
- const signature = Buffer.from(signResult.signature.slice(2), "hex");
278
- await this.serverClient.uploadPreKeys({
279
- userAddress,
280
- prekeys,
281
- publicKey: account.pubkey,
282
- signatureScheme: "ED25519",
283
- signature: bytesToBase64(signature),
284
- timestamp,
285
- nonce,
286
- });
287
- }
288
- /**
289
- * 生成随机 nonce
290
- */
291
- generateNonce() {
292
- const array = new Uint8Array(16);
293
- crypto.getRandomValues(array);
294
- return Array.from(array, (b) => b.toString(16).padStart(2, "0")).join("");
295
- }
296
- /**
297
- * 建立与对方的会话
298
- */
299
- async establishSession(myAddress, peerAddress, peerDeviceId = DEFAULT_DEVICE_ID, remoteBundle) {
300
- const protocolAddress = new SignalProtocolAddress(peerAddress, peerDeviceId);
301
- const existingSession = await this.store.loadSession(protocolAddress.toString());
302
- if (existingSession) {
303
- return;
304
- }
305
- if (!remoteBundle) {
306
- const account = await (await getAccount()).get(myAddress, false);
307
- if (!account?.pubkey) {
308
- throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, `Account not found for ${myAddress}`);
309
- }
310
- const timestamp = Date.now();
311
- const nonce = this.generateNonce();
312
- const publicKeyWithFlag = account.pubkey;
313
- const message = `get_bundle:${myAddress}:${timestamp}:${nonce}`;
314
- const signResult = await (await getAccount()).signData(myAddress, message);
315
- const signature = Buffer.from(signResult.signature.slice(2), "hex");
316
- remoteBundle = await this.serverClient.fetchRemoteBundle(peerAddress, myAddress, publicKeyWithFlag, {
317
- signatureScheme: "ED25519",
318
- signature: bytesToBase64(new Uint8Array(signature)),
319
- timestamp,
320
- nonce,
321
- }, peerDeviceId);
322
- }
323
- const oneTimePreKey = remoteBundle.oneTimePrekey;
324
- const signedPreKey = remoteBundle.signedPrekey;
325
- if (!signedPreKey) {
326
- throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, `No signed prekey available for ${peerAddress}`);
327
- }
328
- const identityKeyBytes = base64ToBytes(remoteBundle.identityKey);
329
- const originalIdentityKeyWithPrefix = new Uint8Array(identityKeyBytes);
330
- const signedPreKeyPublicBytes = base64ToBytes(signedPreKey.publicKey);
331
- const signedPreKeySignatureBytes = base64ToBytes(signedPreKey.signature);
332
- const originalSignedPreKeyWithPrefix = new Uint8Array(signedPreKeyPublicBytes);
333
- let oneTimePreKeyData = undefined;
334
- if (oneTimePreKey) {
335
- const oneTimePreKeyPublicBytes = base64ToBytes(oneTimePreKey.publicKey);
336
- const originalOneTimePreKeyWithPrefix = new Uint8Array(oneTimePreKeyPublicBytes);
337
- oneTimePreKeyData = {
338
- keyId: oneTimePreKey.keyId,
339
- publicKey: originalOneTimePreKeyWithPrefix.buffer.slice(originalOneTimePreKeyWithPrefix.byteOffset, originalOneTimePreKeyWithPrefix.byteOffset +
340
- originalOneTimePreKeyWithPrefix.byteLength),
341
- };
342
- }
343
- const device = {
344
- registrationId: remoteBundle.registrationId,
345
- identityKey: originalIdentityKeyWithPrefix.buffer.slice(originalIdentityKeyWithPrefix.byteOffset, originalIdentityKeyWithPrefix.byteOffset +
346
- originalIdentityKeyWithPrefix.byteLength),
347
- signedPreKey: {
348
- keyId: signedPreKey.keyId,
349
- publicKey: originalSignedPreKeyWithPrefix.buffer.slice(originalSignedPreKeyWithPrefix.byteOffset, originalSignedPreKeyWithPrefix.byteOffset +
350
- originalSignedPreKeyWithPrefix.byteLength),
351
- signature: new Uint8Array(signedPreKeySignatureBytes).buffer.slice(signedPreKeySignatureBytes.byteOffset, signedPreKeySignatureBytes.byteOffset +
352
- signedPreKeySignatureBytes.byteLength),
353
- },
354
- preKey: oneTimePreKeyData,
355
- };
356
- const builder = new SessionBuilder(this.store, protocolAddress);
357
- await builder.processPreKey(device);
358
- await this.store.saveIdentity(protocolAddress.toString(), device.identityKey);
359
- // 【关键改进】将会话从默认key复制到发送会话key
360
- const defaultSessionKey = protocolAddress.toString();
361
- const sendSessionKey = `send:${peerAddress}.${peerDeviceId}`;
362
- const sessionData = await this.store.loadSession(defaultSessionKey);
363
- if (sessionData) {
364
- await this.store.storeSession(sendSessionKey, sessionData);
365
- console.log(`[Session] 会话已保存到发送key: ${sendSessionKey}`);
366
- }
367
- }
368
- /**
369
- * 加密消息
370
- * 【改进】使用发送会话key,与接收会话分离
371
- */
372
- async encryptMessage(myAddress, peerAddress, plaintext, peerDeviceId = DEFAULT_DEVICE_ID) {
373
- const protocolAddress = new SignalProtocolAddress(peerAddress, peerDeviceId);
374
- // Signal Protocol使用的默认key格式
375
- const defaultSessionKey = protocolAddress.toString();
376
- // 【关键改进】使用发送会话key
377
- const sendSessionKey = `send:${peerAddress}.${peerDeviceId}`;
378
- const recvSessionKey = `recv:${peerAddress}.${peerDeviceId}`;
379
- // 【关键】首先检查默认key(Signal Protocol使用的格式)
380
- let existingDefaultSession = await this.store.loadSession(defaultSessionKey);
381
- // 检查是否存在发送会话或接收会话
382
- let existingSendSession = await this.store.loadSession(sendSessionKey);
383
- const existingRecvSession = await this.store.loadSession(recvSessionKey);
384
- // 【关键逻辑1】如果存在接收会话但没有默认会话,复制接收会话到默认key
385
- // 这样SessionCipher可以找到会话
386
- if (!existingDefaultSession && existingRecvSession) {
387
- console.log(`[Session] 复制接收会话到默认key: ${peerAddress}`);
388
- await this.store.storeSession(defaultSessionKey, existingRecvSession);
389
- existingDefaultSession = existingRecvSession;
390
- }
391
- // 【关键逻辑2】如果存在接收会话但没有发送会话,复制接收会话作为发送会话
392
- // 这确保双方使用相同的密钥材料
393
- if (!existingSendSession && existingRecvSession) {
394
- console.log(`[Session] 复制接收会话到发送会话: ${peerAddress}`);
395
- await this.store.storeSession(sendSessionKey, existingRecvSession);
396
- existingSendSession = existingRecvSession;
397
- }
398
- let existingSession = existingDefaultSession || existingSendSession;
399
- let isNewSession = !existingSession;
400
- let retryCount = 0;
401
- const maxRetries = 5; // 【用户要求】加大容错窗口,让消息可以重试更多次
402
- while (retryCount <= maxRetries) {
403
- try {
404
- if (isNewSession) {
405
- console.log(`[Session] 建立新会话 (尝试 ${retryCount + 1}/${maxRetries + 1})`);
406
- const account = await (await getAccount()).get(myAddress, false);
407
- if (!account?.pubkey) {
408
- throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, `Account not found for ${myAddress}`);
409
- }
410
- const timestamp = Date.now();
411
- const nonce = this.generateNonce();
412
- const publicKeyWithFlag = account.pubkey;
413
- const message = `get_bundle:${myAddress}:${timestamp}:${nonce}`;
414
- const signResult = await (await getAccount()).signData(myAddress, message);
415
- const signature = Buffer.from(signResult.signature.slice(2), "hex");
416
- const remoteBundle = await this.serverClient.fetchRemoteBundle(peerAddress, myAddress, publicKeyWithFlag, {
417
- signatureScheme: "ED25519",
418
- signature: bytesToBase64(new Uint8Array(signature)),
419
- timestamp,
420
- nonce,
421
- }, peerDeviceId);
422
- await this.establishSession(myAddress, peerAddress, peerDeviceId, remoteBundle);
423
- }
424
- const cipher = new SessionCipher(this.store, protocolAddress);
425
- const encoder = new TextEncoder();
426
- const cipherMessage = await cipher.encrypt(encoder.encode(plaintext).buffer);
427
- let bodyBuffer;
428
- if (typeof cipherMessage.body === "string") {
429
- const bodyBytes = Buffer.from(cipherMessage.body, "binary");
430
- bodyBuffer = new Uint8Array(bodyBytes).buffer;
431
- }
432
- else if (cipherMessage.body) {
433
- bodyBuffer = cipherMessage.body;
434
- }
435
- else {
436
- throw new MessengerError(MessengerErrorCode.ENCRYPTION_FAILED, "Cipher message body is empty");
437
- }
438
- return {
439
- type: cipherMessage.type,
440
- body: bodyBuffer,
441
- registrationId: cipherMessage.registrationId,
442
- };
443
- }
444
- catch (error) {
445
- console.error(`[Session] 加密失败 (尝试 ${retryCount + 1}/${maxRetries + 1}):`, error);
446
- if (retryCount >= maxRetries) {
447
- throw error;
448
- }
449
- console.log(`[Session] 尝试删除旧会话并重新建立...`);
450
- try {
451
- if (existingSession) {
452
- // 【关键】删除所有相关的会话key
453
- await this.store.removeSession(defaultSessionKey);
454
- await this.store.removeSession(sendSessionKey);
455
- await this.store.removeSession(recvSessionKey);
456
- existingSession = undefined;
457
- }
458
- isNewSession = true;
459
- retryCount++;
460
- await new Promise((resolve) => setTimeout(resolve, 100));
461
- }
462
- catch (rebuildError) {
463
- console.error(`[Session] 重新建立会话失败:`, rebuildError);
464
- throw error;
465
- }
466
- }
467
- }
468
- throw new MessengerError(MessengerErrorCode.ENCRYPTION_FAILED, "Encryption failed after multiple attempts");
469
- }
470
- /**
471
- * 解密消息
472
- */
473
- async decryptMessage(myAddress, peerAddress, ciphertext, msgType, peerDeviceId = DEFAULT_DEVICE_ID) {
474
- const protocolAddress = new SignalProtocolAddress(peerAddress, peerDeviceId);
475
- const sessionKey = protocolAddress.toString();
476
- let existingSession = await this.store.loadSession(sessionKey);
477
- const decoder = new TextDecoder();
478
- let ciphertextBinary = "";
479
- const ciphertextArray = new Uint8Array(ciphertext);
480
- for (let i = 0; i < ciphertextArray.length; i++) {
481
- ciphertextBinary += String.fromCharCode(ciphertextArray[i]);
482
- }
483
- let retryCount = 0;
484
- const maxRetries = 5; // 【用户要求】加大容错窗口,让消息可以重试更多次
485
- // 【新增】如果是 WHISPER_MESSAGE 且没有现有会话,直接抛出可重试错误
486
- if (msgType !== MessageType.PREKEY_MESSAGE && !existingSession) {
487
- console.log(`[Session] 收到 WHISPER_MESSAGE 但无现有会话,需要等待 PREKEY_MESSAGE`);
488
- throw new Error("收到 WHISPER_MESSAGE 但无现有会话,需要等待 PREKEY_MESSAGE");
489
- }
490
- while (retryCount <= maxRetries) {
491
- try {
492
- const cipher = new SessionCipher(this.store, protocolAddress);
493
- let plaintextBuffer;
494
- if (msgType === MessageType.PREKEY_MESSAGE) {
495
- console.log(`[Session] 收到 PREKEY_MESSAGE,尝试解密 (尝试 ${retryCount + 1}/${maxRetries + 1})`);
496
- try {
497
- // 【用户要求】先用尝试解密(真解密可能推动会话密钥变更,极度重要!)
498
- plaintextBuffer =
499
- await cipher.decryptPreKeyWhisperMessage(ciphertextBinary, "binary");
500
- console.log(`[Session] PREKEY_MESSAGE 解密成功!`);
501
- return decoder.decode(plaintextBuffer);
502
- }
503
- catch (decryptError) {
504
- console.log(`[Session] 直接解密 PREKEY_MESSAGE 失败: ${decryptError instanceof Error ? decryptError.message : String(decryptError)}`);
505
- // 如果解密失败,再处理 PREKEY 竞争的情况(但只在第一次尝试时处理)
506
- if (existingSession && retryCount === 0) {
507
- // 【用户要求】PREKEY 竞争时,双方始终优先以小地址发送的消息为最终依据
508
- const myAddr = myAddress.toLowerCase();
509
- const peerAddr = peerAddress.toLowerCase();
510
- if (myAddr < peerAddr) {
511
- // 我的地址较小,保留我的会话!不处理这个 PREKEY_MESSAGE,稍后重试
512
- console.log(`[Session] 我的地址较小 (${myAddr} < ${peerAddr}),保留我的会话,稍后重试`);
513
- throw new Error("PREKEY 竞争:我的地址较小,保留我的会话");
514
- }
515
- else {
516
- // 我的地址较大,删除我的会话,用对方的 PREKEY_MESSAGE 建立新会话
517
- console.log(`[Session] 我的地址较大 (${myAddr} > ${peerAddr}),删除我的会话,用对方的 PREKEY_MESSAGE 建立新会话`);
518
- await this.store.removeSession(sessionKey);
519
- existingSession = undefined;
520
- // 现在删除了会话,重新尝试解密
521
- console.log(`[Session] 已删除旧会话,重新尝试解密...`);
522
- plaintextBuffer =
523
- await cipher.decryptPreKeyWhisperMessage(ciphertextBinary, "binary");
524
- console.log(`[Session] PREKEY_MESSAGE 解密成功,新会话已建立`);
525
- return decoder.decode(plaintextBuffer);
526
- }
527
- }
528
- else {
529
- // 没有现有会话,或者不是第一次尝试,重新抛出解密错误
530
- throw decryptError;
531
- }
532
- }
533
- }
534
- else {
535
- plaintextBuffer = await cipher.decryptWhisperMessage(ciphertextBinary, "binary");
536
- }
537
- return decoder.decode(plaintextBuffer);
538
- }
539
- catch (error) {
540
- console.error(`[Session Debug] 解密失败 (尝试 ${retryCount + 1}/${maxRetries + 1}):`);
541
- console.error(` 错误类型: ${error instanceof Error ? error.constructor.name : typeof error}`);
542
- console.error(` 错误消息: ${error instanceof Error ? error.message : String(error)}`);
543
- if (error instanceof Error && error.stack) {
544
- console.error(` 堆栈: ${error.stack.split("\n")[0]}`);
545
- }
546
- console.error(` 上下文:`);
547
- console.error(` - myAddress: ${myAddress}`);
548
- console.error(` - peerAddress: ${peerAddress}`);
549
- console.error(` - msgType: ${msgType} (${msgType === MessageType.PREKEY_MESSAGE ? "PREKEY" : "WHISPER"})`);
550
- console.error(` - sessionKey: ${sessionKey}`);
551
- console.error(` - existingSession: ${existingSession ? "存在" : "不存在"}`);
552
- console.error(` - ciphertext.length: ${ciphertext.byteLength}`);
553
- const identityKey = await this.store.getIdentityKeyPair();
554
- const regId = await this.store.getLocalRegistrationId();
555
- console.error(` - identityKey: ${identityKey ? "存在" : "缺失"}`);
556
- console.error(` - registrationId: ${regId}`);
557
- if (retryCount >= maxRetries) {
558
- throw error;
559
- }
560
- console.log(`[Session] 尝试重新建立会话...`);
561
- try {
562
- if (existingSession) {
563
- console.log(`[Session] 删除旧会话`);
564
- await this.store.removeSession(sessionKey);
565
- existingSession = undefined;
566
- }
567
- if (msgType === MessageType.PREKEY_MESSAGE) {
568
- console.log(`[Session] 收到的是 PREKEY_MESSAGE,等待发送方的 PreKey 即可重建会话`);
569
- }
570
- else {
571
- console.log(`[Session] 收到的是 WHISPER_MESSAGE,需要让对方重新发送 PREKEY_MESSAGE`);
572
- }
573
- retryCount++;
574
- await new Promise((resolve) => setTimeout(resolve, 100));
575
- }
576
- catch (rebuildError) {
577
- console.error(`[Session] 重新建立会话失败:`, rebuildError);
578
- throw error;
579
- }
580
- }
581
- }
582
- throw new MessengerError(MessengerErrorCode.DECRYPTION_FAILED, "Decryption failed after multiple attempts");
583
- }
584
- /**
585
- * 获取本地身份公钥
586
- */
587
- async getIdentityKey() {
588
- const identity = await this.ensureIdentity();
589
- return bytesToBase64(arrayBufferToUint8Array(identity.signalIdentity.pubKey));
590
- }
591
- /**
592
- * 获取注册 ID
593
- */
594
- async getRegistrationId() {
595
- const identity = await this.ensureIdentity();
596
- return identity.registrationId;
597
- }
598
- }
599
- export class SessionStateManager {
600
- store;
601
- constructor(store) {
602
- this.store = store;
603
- }
604
- /**
605
- * 保存会话快照
606
- */
607
- async snapshotSession(sessionKey) {
608
- const sessionData = await this.store.loadSession(sessionKey);
609
- return {
610
- sessionData: sessionData || null,
611
- timestamp: Date.now(),
612
- };
613
- }
614
- /**
615
- * 回滚会话状态
616
- */
617
- async rollbackSession(sessionKey, snapshot) {
618
- if (snapshot.sessionData) {
619
- await this.store.storeSession(sessionKey, snapshot.sessionData);
620
- console.log(`[SessionState] 回滚会话: ${sessionKey}`);
621
- }
622
- else {
623
- await this.store.removeSession(sessionKey);
624
- console.log(`[SessionState] 清除会话: ${sessionKey}`);
625
- }
626
- }
627
- /**
628
- * 提交会话状态(保留新会话)
629
- */
630
- async commitSession(_sessionKey) {
631
- // 新会话已经在 decrypt 过程中保存到存储
632
- // 这里可以添加额外的确认逻辑
633
- console.log(`[SessionState] 提交新会话`);
634
- }
635
- }
636
- export class DecryptionEngine {
637
- sessionManager;
638
- store;
639
- constructor(store) {
640
- this.store = store;
641
- this.sessionManager = new SessionStateManager(store);
642
- }
643
- /**
644
- * 【核心改进】获取接收会话key
645
- * 使用 recv: 前缀区分接收会话和发送会话
646
- */
647
- getRecvSessionKey(peerAddress, deviceId) {
648
- return `recv:${peerAddress}.${deviceId}`;
649
- }
650
- /**
651
- * 【核心改进】获取发送会话key
652
- * 使用 send: 前缀区分发送会话和接收会话
653
- */
654
- getSendSessionKey(peerAddress, deviceId) {
655
- return `send:${peerAddress}.${deviceId}`;
656
- }
657
- /**
658
- * 统一解密入口
659
- * 【改进】使用方向区分的sessionKey管理双向会话
660
- */
661
- async decryptMessage(myAddress, peerAddress, ciphertext, msgType, peerDeviceId = DEFAULT_DEVICE_ID) {
662
- // 【关键改进】使用接收会话key
663
- const recvSessionKey = this.getRecvSessionKey(peerAddress, peerDeviceId);
664
- // 创建protocolAddress用于Signal Protocol
665
- const protocolAddress = new SignalProtocolAddress(peerAddress, peerDeviceId);
666
- // 1. 保存会话快照(用于回滚)
667
- const snapshot = await this.sessionManager.snapshotSession(recvSessionKey);
668
- try {
669
- if (msgType === MessageType.PREKEY_MESSAGE) {
670
- return await this.handlePreKeyMessage(myAddress, peerAddress, ciphertext, protocolAddress, recvSessionKey, snapshot);
671
- }
672
- else {
673
- return await this.handleWhisperMessage(myAddress, peerAddress, ciphertext, protocolAddress, recvSessionKey, snapshot);
674
- }
675
- }
676
- catch (error) {
677
- // 发生错误,回滚会话
678
- await this.sessionManager.rollbackSession(recvSessionKey, snapshot);
679
- return {
680
- success: false,
681
- sessionUpdated: false,
682
- sessionRolledBack: true,
683
- messageType: msgType === MessageType.PREKEY_MESSAGE
684
- ? "PREKEY"
685
- : "WHISPER",
686
- error: error instanceof Error ? error.message : String(error),
687
- };
688
- }
689
- }
690
- /**
691
- * 处理 PREKEY_MESSAGE
692
- * 【核心改进】无论大小地址,都保存接收会话
693
- * 小地址优先原则只影响发送会话,不影响接收会话
694
- */
695
- async handlePreKeyMessage(myAddress, peerAddress, ciphertext, protocolAddress, recvSessionKey, snapshot) {
696
- console.log(`[Decrypt] 处理 PREKEY_MESSAGE from ${peerAddress}`);
697
- const cipher = new SessionCipher(this.store, protocolAddress);
698
- const decoder = new TextDecoder();
699
- // 尝试解密(这会可能建立新会话)
700
- const ciphertextBinary = this.arrayBufferToBinary(ciphertext);
701
- const plaintextBuffer = await cipher.decryptPreKeyWhisperMessage(ciphertextBinary, "binary");
702
- const plaintext = decoder.decode(plaintextBuffer);
703
- console.log(`[Decrypt] PREKEY_MESSAGE 解密成功`);
704
- // 【核心改进】无论大小地址,都保存接收会话
705
- // 因为PREKEY_MESSAGE意味着对方想要建立会话,我们应该接受
706
- await this.sessionManager.commitSession(recvSessionKey);
707
- const myAddr = myAddress.toLowerCase();
708
- const peerAddr = peerAddress.toLowerCase();
709
- if (myAddr < peerAddr) {
710
- // 我是小地址,我的发送会话优先
711
- // 但接收会话仍然保存(用于解密对方的消息)
712
- console.log(`[Decrypt] 小地址(${myAddr})保存接收会话用于解密,发送会话保持不变`);
713
- }
714
- else {
715
- // 我是大地址,完全接受对方的会话
716
- console.log(`[Decrypt] 大地址(${myAddr})接受新会话`);
717
- }
718
- return {
719
- success: true,
720
- plaintext,
721
- sessionUpdated: true,
722
- sessionRolledBack: false,
723
- messageType: "PREKEY",
724
- };
725
- }
726
- /**
727
- * 处理 WHISPER_MESSAGE
728
- * 【改进】使用接收会话key查找会话
729
- */
730
- async handleWhisperMessage(_myAddress, peerAddress, ciphertext, protocolAddress, recvSessionKey, snapshot) {
731
- console.log(`[Decrypt] 处理 WHISPER_MESSAGE from ${peerAddress}`);
732
- // 【改进】检查接收会话是否存在
733
- const existingSession = await this.store.loadSession(recvSessionKey);
734
- if (!existingSession) {
735
- console.log(`[Decrypt] 无接收会话,WHISPER_MESSAGE 需要等待 PREKEY`);
736
- await this.sessionManager.rollbackSession(recvSessionKey, snapshot);
737
- return {
738
- success: false,
739
- sessionUpdated: false,
740
- sessionRolledBack: false,
741
- messageType: "WHISPER",
742
- error: "NO_SESSION",
743
- };
744
- }
745
- const cipher = new SessionCipher(this.store, protocolAddress);
746
- const decoder = new TextDecoder();
747
- // 尝试解密
748
- const ciphertextBinary = this.arrayBufferToBinary(ciphertext);
749
- const plaintextBuffer = await cipher.decryptWhisperMessage(ciphertextBinary, "binary");
750
- console.log(`[Decrypt] WHISPER_MESSAGE 解密成功`);
751
- return {
752
- success: true,
753
- plaintext: decoder.decode(plaintextBuffer),
754
- sessionUpdated: true,
755
- sessionRolledBack: false,
756
- messageType: "WHISPER",
757
- };
758
- }
759
- arrayBufferToBinary(buffer) {
760
- const array = new Uint8Array(buffer);
761
- let binary = "";
762
- for (let i = 0; i < array.length; i++) {
763
- binary += String.fromCharCode(array[i]);
764
- }
765
- return binary;
766
- }
767
- }
768
- //# sourceMappingURL=session.js.map
1
+ import{KeyHelper,SessionBuilder,SessionCipher,SignalProtocolAddress}from'libsignal-protocol-typescript';import{SignalProtocolStorage}from'./storage.js';import{MessengerServerClient}from'./server.js';import{recoverXed25519FromX25519PrivateKey,arrayBufferToUint8Array,bytesToBase64,base64ToBytes}from'./crypto.js';import{MessageType,DEFAULT_MESSENGER_CONFIG,MessengerError,MessengerErrorCode,DEFAULT_DEVICE_ID}from'./types.js';async function getAccount(){const {Account:a}=await import('../local/account.js');return a['Instance']();}export class MessengerSession{['store'];['serverClient'];['config'];['identity']=null;constructor(a,b){this['store']=new SignalProtocolStorage(a),this['config']={...DEFAULT_MESSENGER_CONFIG,...b},this['serverClient']=new MessengerServerClient(this['config']);}async['ensureIdentity'](a){if(this['identity'])return this['identity'];const b=await this['store']['getIdentityKeyPair'](),c=await this['store']['getLocalRegistrationId']();if(b&&c){const j=new Uint8Array(b['privKey']),k=recoverXed25519FromX25519PrivateKey(j);return this['identity']={'xed25519':k,'signalIdentity':b,'registrationId':c},this['identity'];}if(!a)throw new MessengerError(MessengerErrorCode['IDENTITY_NOT_FOUND'],'userAddress\x20is\x20required\x20to\x20derive\x20identity');const {privateKey:d,publicKey:e}=await(await getAccount())['deriveX25519KeyPair'](a),f=this['deriveRegistrationId'](e),g=new Uint8Array(0x21);g[0x0]=0x5,g['set'](e,0x1);const h={'privKey':d['slice']()['buffer'],'pubKey':g['slice']()['buffer']};await this['store']['setIdentity'](h,f);const i=recoverXed25519FromX25519PrivateKey(d);return this['identity']={'xed25519':i,'signalIdentity':h,'registrationId':f},this['identity'];}['deriveRegistrationId'](a){const b=a[0x0]<<0x8|a[0x1];return b===0x0?0x1:b;}async['registerDevice'](a){const b=await this['ensureIdentity'](a),c=0x1;let d,e,f,g=![];const h=await this['store']['loadSignedPreKeyWithSignature'](c);h?(e=arrayBufferToUint8Array(h['pubKey']),f=arrayBufferToUint8Array(h['signature']),d={'keyId':c,'keyPair':{'pubKey':h['pubKey'],'privKey':h['privKey']},'signature':h['signature']}):(d=await KeyHelper['generateSignedPreKey'](b['signalIdentity'],c),e=arrayBufferToUint8Array(d['keyPair']['pubKey']),f=arrayBufferToUint8Array(d['signature']),g=!![]);const i=await this['generatePreKeyBatch'](this['config']['prekey_count'],a),j=arrayBufferToUint8Array(b['signalIdentity']['pubKey']),k=await(await getAccount())['get'](a,![]);if(!k?.['pubkey'])throw new MessengerError(MessengerErrorCode['IDENTITY_NOT_FOUND'],'Account\x20not\x20found\x20for\x20'+a);const l=Date['now'](),m=this['generateNonce'](),n='register:'+k['pubkey']+':'+l+':'+m,o=await(await getAccount())['signData'](a,n),p=Buffer['from'](o['signature']['slice'](0x2),'hex'),q={'userAddress':a,'deviceId':DEFAULT_DEVICE_ID,'registrationId':b['registrationId'],'identityKey':bytesToBase64(j),'signedPrekey':{'keyId':c,'publicKey':bytesToBase64(e),'signature':bytesToBase64(f)},'prekeys':i,'publicKey':k['pubkey'],'signatureScheme':'ED25519','signature':bytesToBase64(p),'timestamp':l,'nonce':m};console['log']('[Session\x20Debug]\x20Sending\x20register\x20request\x20to\x20server...'),await this['serverClient']['registerDevice'](q),console['log']('[Session\x20Debug]\x20Server\x20register\x20request\x20successful!'),console['log']('[Session\x20Debug]\x20Verifying\x20registration\x20complete...'),await this['verifyRegistrationComplete'](a),console['log']('[Session\x20Debug]\x20Registration\x20verification\x20complete!'),g&&await this['store']['storeSignedPreKeyWithSignature'](c,d['keyPair'],f['buffer']['slice'](0x0));}async['verifyRegistrationComplete'](a,b=0xa,c=0x1f4){for(let d=0x0;d<b;d++){try{const e=await this['serverClient']['getPrekeyStatus'](a);console['log']('Registration\x20verified\x20for\x20'+a+',\x20prekeys:\x20'+e['currentCount']+'/'+e['maxAllowed']);return;}catch(f){if(f?.['message']?.['includes']('404')||f?.['status']===0x194){if(d<b-0x1){console['log']('Waiting\x20for\x20registration\x20to\x20complete...\x20('+(d+0x1)+'/'+b+')'),await new Promise(g=>setTimeout(g,c));continue;}}throw f;}}throw new MessengerError(MessengerErrorCode['REGISTRATION_FAILED'],'Registration\x20verification\x20failed\x20after\x20'+b+'\x20attempts');}async['isDeviceRegistered'](a){try{const b=await this['store']['loadSignedPreKeyWithSignature'](0x1);if(!b)return![];const c=await this['serverClient']['getPrekeyStatus'](a);return!![];}catch(d){if(d?.['message']?.['includes']('404')||d?.['status']===0x194)return![];return![];}}async['generatePreKeyBatch'](a,b){if(a<=0x0)return[];const c=await this['store']['getMeta']();let d=c['nextPreKeyId']||0x1;const e=[];for(let f=0x0;f<a;f++){const g=d+f,h=await this['store']['loadPreKey'](g);if(h){const n=new Uint8Array(h['pubKey']),o=bytesToBase64(n),p=await(await getAccount())['signData'](b,n),q=Buffer['from'](p['signature']['slice'](0x2),'hex');e['push']({'keyId':g,'publicKey':o,'signature':bytesToBase64(q)});continue;}const j=await KeyHelper['generatePreKey'](g),k=new Uint8Array(j['keyPair']['pubKey']),l=await(await getAccount())['signData'](b,k),m=Buffer['from'](l['signature']['slice'](0x2),'hex');await this['store']['storePreKey'](g,j['keyPair']),e['push']({'keyId':g,'publicKey':bytesToBase64(k),'signature':bytesToBase64(m)});}return d+=a,await this['store']['setMeta']({'nextPreKeyId':d}),e;}async['ensurePreKeys'](a,b=![]){const c=await this['serverClient']['getPrekeyStatus'](a);if(!b&&c['currentCount']>=c['maxAllowed'])return;const d=c['maxAllowed']-c['currentCount'];if(d<=0x0)return;await this['ensureIdentity'](a);const e=await this['generatePreKeyBatch'](d,a);if(e['length']===0x0)return;const f=await(await getAccount())['get'](a,![]);if(!f?.['pubkey'])throw new MessengerError(MessengerErrorCode['IDENTITY_NOT_FOUND'],'Account\x20not\x20found\x20for\x20'+a);const g=Date['now'](),h=this['generateNonce'](),i='upload_prekeys:'+f['pubkey']+':'+g+':'+h,j=await(await getAccount())['signData'](a,i),k=Buffer['from'](j['signature']['slice'](0x2),'hex');await this['serverClient']['uploadPreKeys']({'userAddress':a,'prekeys':e,'publicKey':f['pubkey'],'signatureScheme':'ED25519','signature':bytesToBase64(k),'timestamp':g,'nonce':h});}['generateNonce'](){const a=new Uint8Array(0x10);return crypto['getRandomValues'](a),Array['from'](a,c=>c['toString'](0x10)['padStart'](0x2,'0'))['join']('');}async['establishSession'](a,b,c=DEFAULT_DEVICE_ID,d){const e=new SignalProtocolAddress(b,c),f=await this['store']['loadSession'](e['toString']());if(f)return;if(!d){const t=await(await getAccount())['get'](a,![]);if(!t?.['pubkey'])throw new MessengerError(MessengerErrorCode['IDENTITY_NOT_FOUND'],'Account\x20not\x20found\x20for\x20'+a);const u=Date['now'](),v=this['generateNonce'](),w=t['pubkey'],x='get_bundle:'+a+':'+u+':'+v,y=await(await getAccount())['signData'](a,x),z=Buffer['from'](y['signature']['slice'](0x2),'hex');d=await this['serverClient']['fetchRemoteBundle'](b,a,w,{'signatureScheme':'ED25519','signature':bytesToBase64(new Uint8Array(z)),'timestamp':u,'nonce':v},c);}const g=d['oneTimePrekey'],h=d['signedPrekey'];if(!h)throw new MessengerError(MessengerErrorCode['IDENTITY_NOT_FOUND'],'No\x20signed\x20prekey\x20available\x20for\x20'+b);const i=base64ToBytes(d['identityKey']),j=new Uint8Array(i),k=base64ToBytes(h['publicKey']),l=base64ToBytes(h['signature']),m=new Uint8Array(k);let n=undefined;if(g){const A=base64ToBytes(g['publicKey']),B=new Uint8Array(A);n={'keyId':g['keyId'],'publicKey':B['buffer']['slice'](B['byteOffset'],B['byteOffset']+B['byteLength'])};}const o={'registrationId':d['registrationId'],'identityKey':j['buffer']['slice'](j['byteOffset'],j['byteOffset']+j['byteLength']),'signedPreKey':{'keyId':h['keyId'],'publicKey':m['buffer']['slice'](m['byteOffset'],m['byteOffset']+m['byteLength']),'signature':new Uint8Array(l)['buffer']['slice'](l['byteOffset'],l['byteOffset']+l['byteLength'])},'preKey':n},p=new SessionBuilder(this['store'],e);await p['processPreKey'](o),await this['store']['saveIdentity'](e['toString'](),o['identityKey']);const q=e['toString'](),r='send:'+b+'.'+c,s=await this['store']['loadSession'](q);s&&(await this['store']['storeSession'](r,s),console['log']('[Session]\x20会话已保存到发送key:\x20'+r));}async['encryptMessage'](a,b,c,d=DEFAULT_DEVICE_ID){const e=new SignalProtocolAddress(b,d),f=e['toString'](),g='send:'+b+'.'+d,h='recv:'+b+'.'+d;let i=await this['store']['loadSession'](f),j=await this['store']['loadSession'](g);const k=await this['store']['loadSession'](h);!i&&k&&(console['log']('[Session]\x20复制接收会话到默认key:\x20'+b),await this['store']['storeSession'](f,k),i=k);!j&&k&&(console['log']('[Session]\x20复制接收会话到发送会话:\x20'+b),await this['store']['storeSession'](g,k),j=k);let l=i||j,m=!l,n=0x0;const o=0x5;while(n<=o){try{if(m){console['log']('[Session]\x20建立新会话\x20(尝试\x20'+(n+0x1)+'/'+(o+0x1)+')');const t=await(await getAccount())['get'](a,![]);if(!t?.['pubkey'])throw new MessengerError(MessengerErrorCode['IDENTITY_NOT_FOUND'],'Account\x20not\x20found\x20for\x20'+a);const u=Date['now'](),v=this['generateNonce'](),w=t['pubkey'],x='get_bundle:'+a+':'+u+':'+v,y=await(await getAccount())['signData'](a,x),z=Buffer['from'](y['signature']['slice'](0x2),'hex'),A=await this['serverClient']['fetchRemoteBundle'](b,a,w,{'signatureScheme':'ED25519','signature':bytesToBase64(new Uint8Array(z)),'timestamp':u,'nonce':v},d);await this['establishSession'](a,b,d,A);}const p=new SessionCipher(this['store'],e),q=new TextEncoder(),r=await p['encrypt'](q['encode'](c)['buffer']);let s;if(typeof r['body']==='string'){const B=Buffer['from'](r['body'],'binary');s=new Uint8Array(B)['buffer'];}else{if(r['body'])s=r['body'];else throw new MessengerError(MessengerErrorCode['ENCRYPTION_FAILED'],'Cipher\x20message\x20body\x20is\x20empty');}return{'type':r['type'],'body':s,'registrationId':r['registrationId']};}catch(C){console['error']('[Session]\x20加密失败\x20(尝试\x20'+(n+0x1)+'/'+(o+0x1)+'):',C);if(n>=o)throw C;console['log']('[Session]\x20尝试删除旧会话并重新建立...');try{l&&(await this['store']['removeSession'](f),await this['store']['removeSession'](g),await this['store']['removeSession'](h),l=undefined),m=!![],n++,await new Promise(D=>setTimeout(D,0x64));}catch(D){console['error']('[Session]\x20重新建立会话失败:',D);throw C;}}}throw new MessengerError(MessengerErrorCode['ENCRYPTION_FAILED'],'Encryption\x20failed\x20after\x20multiple\x20attempts');}async['decryptMessage'](a,b,c,d,e=DEFAULT_DEVICE_ID){const f=new SignalProtocolAddress(b,e),g=f['toString']();let h=await this['store']['loadSession'](g);const j=new TextDecoder();let k='';const l=new Uint8Array(c);for(let o=0x0;o<l['length'];o++){k+=String['fromCharCode'](l[o]);}let m=0x0;const n=0x5;if(d!==MessageType['PREKEY_MESSAGE']&&!h){console['log']('[Session]\x20收到\x20WHISPER_MESSAGE\x20但无现有会话,需要等待\x20PREKEY_MESSAGE');throw new Error('收到\x20WHISPER_MESSAGE\x20但无现有会话,需要等待\x20PREKEY_MESSAGE');}while(m<=n){try{const p=new SessionCipher(this['store'],f);let q;if(d===MessageType['PREKEY_MESSAGE']){console['log']('[Session]\x20收到\x20PREKEY_MESSAGE,尝试解密\x20(尝试\x20'+(m+0x1)+'/'+(n+0x1)+')');try{return q=await p['decryptPreKeyWhisperMessage'](k,'binary'),console['log']('[Session]\x20PREKEY_MESSAGE\x20解密成功!'),j['decode'](q);}catch(r){console['log']('[Session]\x20直接解密\x20PREKEY_MESSAGE\x20失败:\x20'+(r instanceof Error?r['message']:String(r)));if(h&&m===0x0){const s=a['toLowerCase'](),t=b['toLowerCase']();if(s<t){console['log']('[Session]\x20我的地址较小\x20('+s+'\x20<\x20'+t+'),保留我的会话,稍后重试');throw new Error('PREKEY\x20竞争:我的地址较小,保留我的会话');}else return console['log']('[Session]\x20我的地址较大\x20('+s+'\x20>\x20'+t+'),删除我的会话,用对方的\x20PREKEY_MESSAGE\x20建立新会话'),await this['store']['removeSession'](g),h=undefined,console['log']('[Session]\x20已删除旧会话,重新尝试解密...'),q=await p['decryptPreKeyWhisperMessage'](k,'binary'),console['log']('[Session]\x20PREKEY_MESSAGE\x20解密成功,新会话已建立'),j['decode'](q);}else throw r;}}else q=await p['decryptWhisperMessage'](k,'binary');return j['decode'](q);}catch(u){console['error']('[Session\x20Debug]\x20解密失败\x20(尝试\x20'+(m+0x1)+'/'+(n+0x1)+'):'),console['error']('\x20\x20错误类型:\x20'+(u instanceof Error?u['constructor']['name']:typeof u)),console['error']('\x20\x20错误消息:\x20'+(u instanceof Error?u['message']:String(u)));u instanceof Error&&u['stack']&&console['error']('\x20\x20堆栈:\x20'+u['stack']['split']('\x0a')[0x0]);console['error']('\x20\x20上下文:'),console['error']('\x20\x20\x20\x20-\x20myAddress:\x20'+a),console['error']('\x20\x20\x20\x20-\x20peerAddress:\x20'+b),console['error']('\x20\x20\x20\x20-\x20msgType:\x20'+d+'\x20('+(d===MessageType['PREKEY_MESSAGE']?'PREKEY':'WHISPER')+')'),console['error']('\x20\x20\x20\x20-\x20sessionKey:\x20'+g),console['error']('\x20\x20\x20\x20-\x20existingSession:\x20'+(h?'存在':'不存在')),console['error']('\x20\x20\x20\x20-\x20ciphertext.length:\x20'+c['byteLength']);const v=await this['store']['getIdentityKeyPair'](),w=await this['store']['getLocalRegistrationId']();console['error']('\x20\x20\x20\x20-\x20identityKey:\x20'+(v?'存在':'缺失')),console['error']('\x20\x20\x20\x20-\x20registrationId:\x20'+w);if(m>=n)throw u;console['log']('[Session]\x20尝试重新建立会话...');try{h&&(console['log']('[Session]\x20删除旧会话'),await this['store']['removeSession'](g),h=undefined),d===MessageType['PREKEY_MESSAGE']?console['log']('[Session]\x20收到的是\x20PREKEY_MESSAGE,等待发送方的\x20PreKey\x20即可重建会话'):console['log']('[Session]\x20收到的是\x20WHISPER_MESSAGE,需要让对方重新发送\x20PREKEY_MESSAGE'),m++,await new Promise(x=>setTimeout(x,0x64));}catch(x){console['error']('[Session]\x20重新建立会话失败:',x);throw u;}}}throw new MessengerError(MessengerErrorCode['DECRYPTION_FAILED'],'Decryption\x20failed\x20after\x20multiple\x20attempts');}async['getIdentityKey'](){const a=await this['ensureIdentity']();return bytesToBase64(arrayBufferToUint8Array(a['signalIdentity']['pubKey']));}async['getRegistrationId'](){const a=await this['ensureIdentity']();return a['registrationId'];}}export class SessionStateManager{['store'];constructor(a){this['store']=a;}async['snapshotSession'](a){const b=await this['store']['loadSession'](a);return{'sessionData':b||null,'timestamp':Date['now']()};}async['rollbackSession'](a,b){b['sessionData']?(await this['store']['storeSession'](a,b['sessionData']),console['log']('[SessionState]\x20回滚会话:\x20'+a)):(await this['store']['removeSession'](a),console['log']('[SessionState]\x20清除会话:\x20'+a));}async['commitSession'](a){console['log']('[SessionState]\x20提交新会话');}}export class DecryptionEngine{['sessionManager'];['store'];constructor(a){this['store']=a,this['sessionManager']=new SessionStateManager(a);}['getRecvSessionKey'](a,b){return'recv:'+a+'.'+b;}['getSendSessionKey'](a,b){return'send:'+a+'.'+b;}async['decryptMessage'](a,b,c,d,e=DEFAULT_DEVICE_ID){const f=this['getRecvSessionKey'](b,e),g=new SignalProtocolAddress(b,e),h=await this['sessionManager']['snapshotSession'](f);try{return d===MessageType['PREKEY_MESSAGE']?await this['handlePreKeyMessage'](a,b,c,g,f,h):await this['handleWhisperMessage'](a,b,c,g,f,h);}catch(i){return await this['sessionManager']['rollbackSession'](f,h),{'success':![],'sessionUpdated':![],'sessionRolledBack':!![],'messageType':d===MessageType['PREKEY_MESSAGE']?'PREKEY':'WHISPER','error':i instanceof Error?i['message']:String(i)};}}async['handlePreKeyMessage'](a,b,c,d,e,f){console['log']('[Decrypt]\x20处理\x20PREKEY_MESSAGE\x20from\x20'+b);const g=new SessionCipher(this['store'],d),h=new TextDecoder(),i=this['arrayBufferToBinary'](c),j=await g['decryptPreKeyWhisperMessage'](i,'binary'),k=h['decode'](j);console['log']('[Decrypt]\x20PREKEY_MESSAGE\x20解密成功'),await this['sessionManager']['commitSession'](e);const l=a['toLowerCase'](),m=b['toLowerCase']();return l<m?console['log']('[Decrypt]\x20小地址('+l+')保存接收会话用于解密,发送会话保持不变'):console['log']('[Decrypt]\x20大地址('+l+')接受新会话'),{'success':!![],'plaintext':k,'sessionUpdated':!![],'sessionRolledBack':![],'messageType':'PREKEY'};}async['handleWhisperMessage'](a,b,c,d,e,f){console['log']('[Decrypt]\x20处理\x20WHISPER_MESSAGE\x20from\x20'+b);const g=await this['store']['loadSession'](e);if(!g)return console['log']('[Decrypt]\x20无接收会话,WHISPER_MESSAGE\x20需要等待\x20PREKEY'),await this['sessionManager']['rollbackSession'](e,f),{'success':![],'sessionUpdated':![],'sessionRolledBack':![],'messageType':'WHISPER','error':'NO_SESSION'};const h=new SessionCipher(this['store'],d),i=new TextDecoder(),j=this['arrayBufferToBinary'](c),k=await h['decryptWhisperMessage'](j,'binary');return console['log']('[Decrypt]\x20WHISPER_MESSAGE\x20解密成功'),{'success':!![],'plaintext':i['decode'](k),'sessionUpdated':!![],'sessionRolledBack':![],'messageType':'WHISPER'};}['arrayBufferToBinary'](a){const b=new Uint8Array(a);let c='';for(let d=0x0;d<b['length'];d++){c+=String['fromCharCode'](b[d]);}return c;}}