wowok 2.1.38 → 2.1.40
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.
- package/dist/cjs/bcs/bcs.d.ts +0 -8
- package/dist/cjs/bcs/bcs.js +0 -25
- package/dist/cjs/bcs/effects.js +0 -4
- package/dist/cjs/bcs/index.js +0 -4
- package/dist/cjs/bcs/pure.js +0 -3
- package/dist/cjs/bcs/type-tag-serializer.js +0 -3
- package/dist/cjs/bcs/types.d.ts +0 -49
- package/dist/cjs/bcs/types.js +0 -3
- package/dist/cjs/client/index.js +0 -3
- package/dist/cjs/client/network.js +0 -9
- package/dist/cjs/cryptography/index.js +0 -3
- package/dist/cjs/cryptography/intent.d.ts +0 -3
- package/dist/cjs/cryptography/intent.js +0 -6
- package/dist/cjs/cryptography/keypair.d.ts +4 -38
- package/dist/cjs/cryptography/keypair.js +2 -32
- package/dist/cjs/cryptography/mnemonics.d.ts +0 -23
- package/dist/cjs/cryptography/mnemonics.js +0 -26
- package/dist/cjs/cryptography/publickey.d.ts +0 -42
- package/dist/cjs/cryptography/publickey.js +0 -34
- package/dist/cjs/cryptography/signature-scheme.js +0 -3
- package/dist/cjs/cryptography/signature.d.ts +0 -11
- package/dist/cjs/cryptography/signature.js +0 -9
- package/dist/cjs/experimental/cache.js +0 -3
- package/dist/cjs/experimental/client.js +0 -4
- package/dist/cjs/experimental/core.d.ts +0 -2
- package/dist/cjs/experimental/core.js +0 -5
- package/dist/cjs/experimental/errors.js +0 -3
- package/dist/cjs/experimental/index.js +0 -3
- package/dist/cjs/experimental/persistent-storage.d.ts +0 -98
- package/dist/cjs/experimental/persistent-storage.js +2 -119
- package/dist/cjs/experimental/persistent-storage.test.d.ts +0 -4
- package/dist/cjs/experimental/persistent-storage.test.js +2 -56
- package/dist/cjs/experimental/transports/utils.js +0 -4
- package/dist/cjs/experimental/types.d.ts +0 -6
- package/dist/cjs/experimental/types.js +0 -4
- package/dist/cjs/faucet/faucet.d.ts +0 -9
- package/dist/cjs/faucet/faucet.js +0 -12
- package/dist/cjs/faucet/index.js +0 -3
- package/dist/cjs/grpc/client.js +0 -3
- package/dist/cjs/grpc/core.js +0 -16
- package/dist/cjs/grpc/index.js +0 -3
- package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +0 -151
- package/dist/cjs/grpc/proto/google/protobuf/any.js +2 -64
- package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +0 -89
- package/dist/cjs/grpc/proto/google/protobuf/duration.js +3 -51
- package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +0 -17
- package/dist/cjs/grpc/proto/google/protobuf/empty.js +0 -42
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +0 -217
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +2 -50
- package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +0 -112
- package/dist/cjs/grpc/proto/google/protobuf/struct.js +5 -86
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +0 -127
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +3 -62
- package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +0 -407
- package/dist/cjs/grpc/proto/google/rpc/error_details.js +29 -107
- package/dist/cjs/grpc/proto/google/rpc/status.d.ts +0 -34
- package/dist/cjs/grpc/proto/google/rpc/status.js +3 -29
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.d.ts +0 -48
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +3 -40
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.d.ts +0 -23
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +3 -18
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.d.ts +0 -20
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +2 -17
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.d.ts +0 -48
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +4 -19
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +0 -51
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +6 -25
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +0 -149
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +16 -56
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.d.ts +0 -257
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +27 -126
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.d.ts +0 -41
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +8 -23
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.d.ts +0 -12
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +0 -23
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.d.ts +0 -63
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +6 -25
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +0 -56
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +5 -20
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.d.ts +0 -623
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +36 -441
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +0 -29
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +8 -23
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.d.ts +0 -75
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +6 -47
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.d.ts +0 -50
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +6 -25
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +0 -52
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +0 -29
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.d.ts +0 -260
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +25 -103
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.d.ts +0 -429
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +41 -202
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +0 -30
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +0 -18
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.d.ts +0 -151
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +15 -65
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.d.ts +0 -18
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +0 -12
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.d.ts +0 -97
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +8 -42
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.d.ts +0 -95
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +12 -31
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.d.ts +0 -23
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +4 -19
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.d.ts +0 -42
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +3 -39
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.d.ts +0 -15
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +6 -21
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.d.ts +0 -447
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +39 -122
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +0 -31
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +0 -42
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +0 -16
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +0 -11
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +0 -54
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +4 -26
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.d.ts +0 -36
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +0 -21
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.d.ts +0 -518
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +42 -197
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +0 -36
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +0 -21
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.d.ts +0 -36
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +2 -24
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.d.ts +0 -538
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +115 -162
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.d.ts +0 -945
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +98 -393
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +0 -18
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +0 -12
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +0 -118
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +5 -54
- package/dist/cjs/index.js +0 -11
- package/dist/cjs/jsonRpc/client.d.ts +0 -140
- package/dist/cjs/jsonRpc/client.js +0 -137
- package/dist/cjs/jsonRpc/core.js +0 -3
- package/dist/cjs/jsonRpc/errors.js +0 -3
- package/dist/cjs/jsonRpc/http-transport.d.ts +0 -3
- package/dist/cjs/jsonRpc/http-transport.js +0 -3
- package/dist/cjs/jsonRpc/index.js +0 -3
- package/dist/cjs/jsonRpc/json-rpc-resolver.js +0 -18
- package/dist/cjs/jsonRpc/rpc-websocket-client.d.ts +0 -15
- package/dist/cjs/jsonRpc/rpc-websocket-client.js +0 -4
- package/dist/cjs/jsonRpc/types/chain.js +0 -3
- package/dist/cjs/jsonRpc/types/changes.js +0 -3
- package/dist/cjs/jsonRpc/types/coins.js +0 -3
- package/dist/cjs/jsonRpc/types/common.js +0 -3
- package/dist/cjs/jsonRpc/types/generated.d.ts +56 -542
- package/dist/cjs/jsonRpc/types/generated.js +0 -3
- package/dist/cjs/jsonRpc/types/index.js +0 -3
- package/dist/cjs/jsonRpc/types/params.d.ts +0 -336
- package/dist/cjs/jsonRpc/types/params.js +0 -3
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +1 -6
- package/dist/cjs/keypairs/ed25519/index.js +0 -3
- package/dist/cjs/keypairs/ed25519/keypair.d.ts +0 -52
- package/dist/cjs/keypairs/ed25519/keypair.js +0 -50
- package/dist/cjs/keypairs/ed25519/publickey.d.ts +0 -19
- package/dist/cjs/keypairs/ed25519/publickey.js +0 -22
- package/dist/cjs/keypairs/index.js +0 -3
- package/dist/cjs/keypairs/passkey/index.js +0 -3
- package/dist/cjs/keypairs/passkey/keypair.d.ts +0 -80
- package/dist/cjs/keypairs/passkey/keypair.js +1 -97
- package/dist/cjs/keypairs/passkey/publickey.d.ts +0 -47
- package/dist/cjs/keypairs/passkey/publickey.js +8 -61
- package/dist/cjs/keypairs/passkey/types.d.ts +0 -6
- package/dist/cjs/keypairs/passkey/types.js +0 -3
- package/dist/cjs/keypairs/secp256k1/index.js +0 -3
- package/dist/cjs/keypairs/secp256k1/keypair.d.ts +0 -51
- package/dist/cjs/keypairs/secp256k1/keypair.js +0 -51
- package/dist/cjs/keypairs/secp256k1/publickey.d.ts +0 -19
- package/dist/cjs/keypairs/secp256k1/publickey.js +0 -22
- package/dist/cjs/keypairs/secp256r1/index.js +0 -3
- package/dist/cjs/keypairs/secp256r1/keypair.d.ts +0 -51
- package/dist/cjs/keypairs/secp256r1/keypair.js +0 -52
- package/dist/cjs/keypairs/secp256r1/publickey.d.ts +0 -19
- package/dist/cjs/keypairs/secp256r1/publickey.js +0 -22
- package/dist/cjs/multisig/index.js +0 -3
- package/dist/cjs/multisig/publickey.d.ts +1 -36
- package/dist/cjs/multisig/publickey.js +1 -43
- package/dist/cjs/multisig/signer.d.ts +0 -1
- package/dist/cjs/multisig/signer.js +0 -4
- package/dist/cjs/transactions/Arguments.js +0 -3
- package/dist/cjs/transactions/Commands.d.ts +0 -3
- package/dist/cjs/transactions/Commands.js +0 -8
- package/dist/cjs/transactions/Inputs.js +0 -3
- package/dist/cjs/transactions/ObjectCache.js +0 -3
- package/dist/cjs/transactions/Transaction.d.ts +0 -56
- package/dist/cjs/transactions/Transaction.js +0 -72
- package/dist/cjs/transactions/TransactionData.d.ts +0 -6
- package/dist/cjs/transactions/TransactionData.js +0 -15
- package/dist/cjs/transactions/__tests__/Transaction.test.js +0 -7
- package/dist/cjs/transactions/__tests__/bcs.test.js +0 -18
- package/dist/cjs/transactions/data/internal.js +0 -16
- package/dist/cjs/transactions/data/v1.js +0 -5
- package/dist/cjs/transactions/data/v2.js +0 -11
- package/dist/cjs/transactions/executor/caching.d.ts +0 -4
- package/dist/cjs/transactions/executor/caching.js +0 -7
- package/dist/cjs/transactions/executor/parallel.d.ts +0 -11
- package/dist/cjs/transactions/executor/parallel.js +0 -5
- package/dist/cjs/transactions/executor/queue.js +0 -3
- package/dist/cjs/transactions/executor/serial.d.ts +0 -1
- package/dist/cjs/transactions/executor/serial.js +0 -3
- package/dist/cjs/transactions/hash.d.ts +0 -6
- package/dist/cjs/transactions/hash.js +0 -9
- package/dist/cjs/transactions/index.d.ts +0 -1
- package/dist/cjs/transactions/index.js +0 -3
- package/dist/cjs/transactions/intents/CoinWithBalance.js +0 -3
- package/dist/cjs/transactions/object.js +0 -3
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.d.ts +0 -18
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +0 -9
- package/dist/cjs/transactions/pure.js +0 -3
- package/dist/cjs/transactions/resolve.js +0 -3
- package/dist/cjs/transactions/serializer.js +0 -3
- package/dist/cjs/transactions/utils.js +0 -3
- package/dist/cjs/utils/constants.js +0 -9
- package/dist/cjs/utils/derived-objects.d.ts +0 -3
- package/dist/cjs/utils/derived-objects.js +0 -6
- package/dist/cjs/utils/dynamic-fields.js +0 -3
- package/dist/cjs/utils/format.js +0 -4
- package/dist/cjs/utils/index.js +2 -9
- package/dist/cjs/utils/move-registry.d.ts +0 -4
- package/dist/cjs/utils/move-registry.js +1 -18
- package/dist/cjs/utils/sui-types.d.ts +0 -12
- package/dist/cjs/utils/sui-types.js +0 -20
- package/dist/cjs/utils/suins.js +0 -3
- package/dist/cjs/verify/index.js +0 -4
- package/dist/cjs/verify/verify.js +0 -4
- package/dist/cjs/version.js +0 -4
- package/dist/cjs/w/call/allocation.js +2 -26
- package/dist/cjs/w/call/arb.js +1 -7
- package/dist/cjs/w/call/arbitration.js +1 -32
- package/dist/cjs/w/call/base.js +3 -34
- package/dist/cjs/w/call/contact.js +1 -6
- package/dist/cjs/w/call/demand.js +2 -23
- package/dist/cjs/w/call/entity.js +0 -7
- package/dist/cjs/w/call/guard-ins.d.ts +0 -3
- package/dist/cjs/w/call/guard-ins.js +116 -54
- package/dist/cjs/w/call/guard.d.ts +0 -27
- package/dist/cjs/w/call/guard.js +3 -109
- package/dist/cjs/w/call/index.js +0 -5
- package/dist/cjs/w/call/machine.js +1 -20
- package/dist/cjs/w/call/order.js +1 -12
- package/dist/cjs/w/call/passport.js +0 -14
- package/dist/cjs/w/call/payment.js +0 -14
- package/dist/cjs/w/call/permission.d.ts +0 -20
- package/dist/cjs/w/call/permission.js +0 -65
- package/dist/cjs/w/call/personal.js +0 -3
- package/dist/cjs/w/call/progress.js +1 -14
- package/dist/cjs/w/call/proof.js +0 -3
- package/dist/cjs/w/call/repository.js +3 -76
- package/dist/cjs/w/call/resource.js +1 -12
- package/dist/cjs/w/call/reward.js +7 -20
- package/dist/cjs/w/call/service.js +4 -35
- package/dist/cjs/w/call/treasury.js +15 -19
- package/dist/cjs/w/call/util.js +5 -63
- package/dist/cjs/w/common.d.ts +48 -68
- package/dist/cjs/w/common.js +0 -33
- package/dist/cjs/w/exception.d.ts +1 -0
- package/dist/cjs/w/exception.js +105 -69
- package/dist/cjs/w/index.js +0 -4
- package/dist/cjs/w/local/account.d.ts +0 -45
- package/dist/cjs/w/local/account.js +12 -102
- package/dist/cjs/w/local/cache.js +0 -30
- package/dist/cjs/w/local/config.d.ts +0 -3
- package/dist/cjs/w/local/config.js +0 -7
- package/dist/cjs/w/local/index.js +0 -5
- package/dist/cjs/w/local/local.js +17 -107
- package/dist/cjs/w/local/storage.d.ts +0 -20
- package/dist/cjs/w/local/storage.js +0 -37
- package/dist/cjs/w/local/token.d.ts +1 -4
- package/dist/cjs/w/local/token.js +0 -30
- package/dist/cjs/w/local/util.d.ts +0 -4
- package/dist/cjs/w/local/util.js +0 -24
- package/dist/cjs/w/local/wip.d.ts +0 -92
- package/dist/cjs/w/local/wip.js +31 -351
- package/dist/cjs/w/messenger/crypto.d.ts +0 -186
- package/dist/cjs/w/messenger/crypto.js +2 -196
- package/dist/cjs/w/messenger/index.d.ts +0 -18
- package/dist/cjs/w/messenger/index.js +0 -24
- package/dist/cjs/w/messenger/messenger-api.d.ts +0 -177
- package/dist/cjs/w/messenger/messenger-api.js +5 -354
- package/dist/cjs/w/messenger/messenger-manager.d.ts +0 -24
- package/dist/cjs/w/messenger/messenger-manager.js +1 -63
- package/dist/cjs/w/messenger/messenger.d.ts +0 -206
- package/dist/cjs/w/messenger/messenger.js +14 -360
- package/dist/cjs/w/messenger/server.d.ts +0 -94
- package/dist/cjs/w/messenger/server.js +0 -117
- package/dist/cjs/w/messenger/session.d.ts +0 -76
- package/dist/cjs/w/messenger/session.js +3 -143
- package/dist/cjs/w/messenger/storage.d.ts +0 -143
- package/dist/cjs/w/messenger/storage.js +0 -233
- package/dist/cjs/w/messenger/templates/wts-html-template.d.ts +0 -31
- package/dist/cjs/w/messenger/templates/wts-html-template.js +0 -43
- package/dist/cjs/w/messenger/types.d.ts +7 -218
- package/dist/cjs/w/messenger/types.js +14 -36
- package/dist/cjs/w/messenger/utils.d.ts +0 -14
- package/dist/cjs/w/messenger/utils.js +0 -17
- package/dist/cjs/w/query/bult-in.d.ts +0 -11
- package/dist/cjs/w/query/bult-in.js +1 -13
- package/dist/cjs/w/query/event.d.ts +0 -7
- package/dist/cjs/w/query/event.js +0 -3
- package/dist/cjs/w/query/index.js +0 -3
- package/dist/cjs/w/query/object.d.ts +7 -51
- package/dist/cjs/w/query/object.js +7 -93
- package/dist/cjs/w/query/received.d.ts +0 -6
- package/dist/cjs/w/query/received.js +0 -5
- package/dist/cjs/w/query/util.d.ts +1 -2
- package/dist/cjs/w/query/util.js +1 -6
- package/dist/cjs/w/util.d.ts +2 -5
- package/dist/cjs/w/util.js +2 -31
- package/dist/esm/bcs/bcs.d.ts +0 -8
- package/dist/esm/bcs/bcs.js +0 -25
- package/dist/esm/bcs/effects.js +0 -4
- package/dist/esm/bcs/index.js +0 -4
- package/dist/esm/bcs/pure.js +0 -3
- package/dist/esm/bcs/type-tag-serializer.js +0 -3
- package/dist/esm/bcs/types.d.ts +0 -49
- package/dist/esm/bcs/types.js +0 -3
- package/dist/esm/client/index.js +0 -3
- package/dist/esm/client/network.js +0 -9
- package/dist/esm/cryptography/index.js +0 -3
- package/dist/esm/cryptography/intent.d.ts +0 -3
- package/dist/esm/cryptography/intent.js +0 -6
- package/dist/esm/cryptography/keypair.d.ts +4 -38
- package/dist/esm/cryptography/keypair.js +2 -32
- package/dist/esm/cryptography/mnemonics.d.ts +0 -23
- package/dist/esm/cryptography/mnemonics.js +0 -26
- package/dist/esm/cryptography/publickey.d.ts +0 -42
- package/dist/esm/cryptography/publickey.js +0 -34
- package/dist/esm/cryptography/signature-scheme.js +0 -3
- package/dist/esm/cryptography/signature.d.ts +0 -11
- package/dist/esm/cryptography/signature.js +0 -9
- package/dist/esm/experimental/cache.js +0 -3
- package/dist/esm/experimental/client.js +0 -4
- package/dist/esm/experimental/core.d.ts +0 -2
- package/dist/esm/experimental/core.js +0 -5
- package/dist/esm/experimental/errors.js +0 -3
- package/dist/esm/experimental/index.js +0 -3
- package/dist/esm/experimental/persistent-storage.d.ts +0 -98
- package/dist/esm/experimental/persistent-storage.js +2 -119
- package/dist/esm/experimental/persistent-storage.test.d.ts +0 -4
- package/dist/esm/experimental/persistent-storage.test.js +2 -56
- package/dist/esm/experimental/transports/utils.js +0 -4
- package/dist/esm/experimental/types.d.ts +0 -6
- package/dist/esm/experimental/types.js +0 -4
- package/dist/esm/faucet/faucet.d.ts +0 -9
- package/dist/esm/faucet/faucet.js +0 -12
- package/dist/esm/faucet/index.js +0 -3
- package/dist/esm/grpc/client.js +0 -3
- package/dist/esm/grpc/core.js +0 -16
- package/dist/esm/grpc/index.js +0 -3
- package/dist/esm/grpc/proto/google/protobuf/any.d.ts +0 -151
- package/dist/esm/grpc/proto/google/protobuf/any.js +2 -64
- package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +0 -89
- package/dist/esm/grpc/proto/google/protobuf/duration.js +3 -51
- package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +0 -17
- package/dist/esm/grpc/proto/google/protobuf/empty.js +0 -42
- package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +0 -217
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js +2 -50
- package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +0 -112
- package/dist/esm/grpc/proto/google/protobuf/struct.js +5 -86
- package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +0 -127
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js +3 -62
- package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +0 -407
- package/dist/esm/grpc/proto/google/rpc/error_details.js +29 -107
- package/dist/esm/grpc/proto/google/rpc/status.d.ts +0 -34
- package/dist/esm/grpc/proto/google/rpc/status.js +3 -29
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.d.ts +0 -48
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +3 -40
- package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.d.ts +0 -23
- package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +3 -18
- package/dist/esm/grpc/proto/sui/rpc/v2/bcs.d.ts +0 -20
- package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +2 -17
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.d.ts +0 -48
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +4 -19
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +0 -51
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +6 -25
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +0 -149
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +16 -56
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.d.ts +0 -257
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +27 -126
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.d.ts +0 -41
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +8 -23
- package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.d.ts +0 -12
- package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +0 -23
- package/dist/esm/grpc/proto/sui/rpc/v2/event.d.ts +0 -63
- package/dist/esm/grpc/proto/sui/rpc/v2/event.js +6 -25
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +0 -56
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +5 -20
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.d.ts +0 -623
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +36 -441
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +0 -29
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +8 -23
- package/dist/esm/grpc/proto/sui/rpc/v2/input.d.ts +0 -75
- package/dist/esm/grpc/proto/sui/rpc/v2/input.js +6 -47
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.d.ts +0 -50
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +6 -25
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +0 -52
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +0 -29
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.d.ts +0 -260
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +25 -103
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.d.ts +0 -429
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +41 -202
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +0 -30
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +0 -18
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.d.ts +0 -151
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +15 -65
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.d.ts +0 -18
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +0 -12
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.d.ts +0 -97
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +8 -42
- package/dist/esm/grpc/proto/sui/rpc/v2/object.d.ts +0 -95
- package/dist/esm/grpc/proto/sui/rpc/v2/object.js +12 -31
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.d.ts +0 -23
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +4 -19
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.d.ts +0 -42
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +3 -39
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.d.ts +0 -15
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +6 -21
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.d.ts +0 -447
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +39 -122
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +0 -31
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +0 -42
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +0 -16
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +0 -11
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +0 -54
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +4 -26
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.d.ts +0 -36
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +0 -21
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.d.ts +0 -518
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +42 -197
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +0 -36
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +0 -21
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.d.ts +0 -36
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +2 -24
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.d.ts +0 -538
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +115 -162
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.d.ts +0 -945
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +98 -393
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +0 -18
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +0 -12
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +0 -118
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +5 -54
- package/dist/esm/index.js +0 -11
- package/dist/esm/jsonRpc/client.d.ts +0 -140
- package/dist/esm/jsonRpc/client.js +0 -137
- package/dist/esm/jsonRpc/core.js +0 -3
- package/dist/esm/jsonRpc/errors.js +0 -3
- package/dist/esm/jsonRpc/http-transport.d.ts +0 -3
- package/dist/esm/jsonRpc/http-transport.js +0 -3
- package/dist/esm/jsonRpc/index.js +0 -3
- package/dist/esm/jsonRpc/json-rpc-resolver.js +0 -18
- package/dist/esm/jsonRpc/rpc-websocket-client.d.ts +0 -15
- package/dist/esm/jsonRpc/rpc-websocket-client.js +0 -4
- package/dist/esm/jsonRpc/types/chain.js +0 -3
- package/dist/esm/jsonRpc/types/changes.js +0 -3
- package/dist/esm/jsonRpc/types/coins.js +0 -3
- package/dist/esm/jsonRpc/types/common.js +0 -3
- package/dist/esm/jsonRpc/types/generated.d.ts +56 -542
- package/dist/esm/jsonRpc/types/generated.js +0 -3
- package/dist/esm/jsonRpc/types/index.js +0 -3
- package/dist/esm/jsonRpc/types/params.d.ts +0 -336
- package/dist/esm/jsonRpc/types/params.js +0 -3
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +1 -6
- package/dist/esm/keypairs/ed25519/index.js +0 -3
- package/dist/esm/keypairs/ed25519/keypair.d.ts +0 -52
- package/dist/esm/keypairs/ed25519/keypair.js +0 -50
- package/dist/esm/keypairs/ed25519/publickey.d.ts +0 -19
- package/dist/esm/keypairs/ed25519/publickey.js +0 -22
- package/dist/esm/keypairs/index.js +0 -3
- package/dist/esm/keypairs/passkey/index.js +0 -3
- package/dist/esm/keypairs/passkey/keypair.d.ts +0 -80
- package/dist/esm/keypairs/passkey/keypair.js +1 -97
- package/dist/esm/keypairs/passkey/publickey.d.ts +0 -47
- package/dist/esm/keypairs/passkey/publickey.js +8 -61
- package/dist/esm/keypairs/passkey/types.d.ts +0 -6
- package/dist/esm/keypairs/passkey/types.js +0 -3
- package/dist/esm/keypairs/secp256k1/index.js +0 -3
- package/dist/esm/keypairs/secp256k1/keypair.d.ts +0 -51
- package/dist/esm/keypairs/secp256k1/keypair.js +0 -51
- package/dist/esm/keypairs/secp256k1/publickey.d.ts +0 -19
- package/dist/esm/keypairs/secp256k1/publickey.js +0 -22
- package/dist/esm/keypairs/secp256r1/index.js +0 -3
- package/dist/esm/keypairs/secp256r1/keypair.d.ts +0 -51
- package/dist/esm/keypairs/secp256r1/keypair.js +0 -52
- package/dist/esm/keypairs/secp256r1/publickey.d.ts +0 -19
- package/dist/esm/keypairs/secp256r1/publickey.js +0 -22
- package/dist/esm/multisig/index.js +0 -3
- package/dist/esm/multisig/publickey.d.ts +1 -36
- package/dist/esm/multisig/publickey.js +1 -43
- package/dist/esm/multisig/signer.d.ts +0 -1
- package/dist/esm/multisig/signer.js +0 -4
- package/dist/esm/transactions/Arguments.js +0 -3
- package/dist/esm/transactions/Commands.d.ts +0 -3
- package/dist/esm/transactions/Commands.js +0 -8
- package/dist/esm/transactions/Inputs.js +0 -3
- package/dist/esm/transactions/ObjectCache.js +0 -3
- package/dist/esm/transactions/Transaction.d.ts +0 -56
- package/dist/esm/transactions/Transaction.js +0 -72
- package/dist/esm/transactions/TransactionData.d.ts +0 -6
- package/dist/esm/transactions/TransactionData.js +0 -15
- package/dist/esm/transactions/__tests__/Transaction.test.js +0 -7
- package/dist/esm/transactions/__tests__/bcs.test.js +0 -18
- package/dist/esm/transactions/data/internal.js +0 -16
- package/dist/esm/transactions/data/v1.js +0 -5
- package/dist/esm/transactions/data/v2.js +0 -11
- package/dist/esm/transactions/executor/caching.d.ts +0 -4
- package/dist/esm/transactions/executor/caching.js +0 -7
- package/dist/esm/transactions/executor/parallel.d.ts +0 -11
- package/dist/esm/transactions/executor/parallel.js +0 -5
- package/dist/esm/transactions/executor/queue.js +0 -3
- package/dist/esm/transactions/executor/serial.d.ts +0 -1
- package/dist/esm/transactions/executor/serial.js +0 -3
- package/dist/esm/transactions/hash.d.ts +0 -6
- package/dist/esm/transactions/hash.js +0 -9
- package/dist/esm/transactions/index.d.ts +0 -1
- package/dist/esm/transactions/index.js +0 -3
- package/dist/esm/transactions/intents/CoinWithBalance.js +0 -3
- package/dist/esm/transactions/object.js +0 -3
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.d.ts +0 -18
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +0 -9
- package/dist/esm/transactions/pure.js +0 -3
- package/dist/esm/transactions/resolve.js +0 -3
- package/dist/esm/transactions/serializer.js +0 -3
- package/dist/esm/transactions/utils.js +0 -3
- package/dist/esm/utils/constants.js +0 -9
- package/dist/esm/utils/derived-objects.d.ts +0 -3
- package/dist/esm/utils/derived-objects.js +0 -6
- package/dist/esm/utils/dynamic-fields.js +0 -3
- package/dist/esm/utils/format.js +0 -4
- package/dist/esm/utils/index.js +2 -9
- package/dist/esm/utils/move-registry.d.ts +0 -4
- package/dist/esm/utils/move-registry.js +1 -18
- package/dist/esm/utils/sui-types.d.ts +0 -12
- package/dist/esm/utils/sui-types.js +0 -20
- package/dist/esm/utils/suins.js +0 -3
- package/dist/esm/verify/index.js +0 -4
- package/dist/esm/verify/verify.js +0 -4
- package/dist/esm/version.js +0 -4
- package/dist/esm/w/call/allocation.js +2 -26
- package/dist/esm/w/call/arb.js +1 -7
- package/dist/esm/w/call/arbitration.js +1 -32
- package/dist/esm/w/call/base.js +3 -34
- package/dist/esm/w/call/contact.js +1 -6
- package/dist/esm/w/call/demand.js +2 -23
- package/dist/esm/w/call/entity.js +0 -7
- package/dist/esm/w/call/guard-ins.d.ts +0 -3
- package/dist/esm/w/call/guard-ins.js +116 -54
- package/dist/esm/w/call/guard.d.ts +0 -27
- package/dist/esm/w/call/guard.js +3 -109
- package/dist/esm/w/call/index.js +0 -5
- package/dist/esm/w/call/machine.js +1 -20
- package/dist/esm/w/call/order.js +1 -12
- package/dist/esm/w/call/passport.js +0 -14
- package/dist/esm/w/call/payment.js +0 -14
- package/dist/esm/w/call/permission.d.ts +0 -20
- package/dist/esm/w/call/permission.js +0 -65
- package/dist/esm/w/call/personal.js +0 -3
- package/dist/esm/w/call/progress.js +1 -14
- package/dist/esm/w/call/proof.js +0 -3
- package/dist/esm/w/call/repository.js +3 -76
- package/dist/esm/w/call/resource.js +1 -12
- package/dist/esm/w/call/reward.js +7 -20
- package/dist/esm/w/call/service.js +4 -35
- package/dist/esm/w/call/treasury.js +15 -19
- package/dist/esm/w/call/util.js +5 -63
- package/dist/esm/w/common.d.ts +48 -68
- package/dist/esm/w/common.js +0 -33
- package/dist/esm/w/exception.d.ts +1 -0
- package/dist/esm/w/exception.js +105 -69
- package/dist/esm/w/index.js +0 -4
- package/dist/esm/w/local/account.d.ts +0 -45
- package/dist/esm/w/local/account.js +12 -102
- package/dist/esm/w/local/cache.js +0 -30
- package/dist/esm/w/local/config.d.ts +0 -3
- package/dist/esm/w/local/config.js +0 -7
- package/dist/esm/w/local/index.js +0 -5
- package/dist/esm/w/local/local.js +17 -107
- package/dist/esm/w/local/storage.d.ts +0 -20
- package/dist/esm/w/local/storage.js +0 -37
- package/dist/esm/w/local/token.d.ts +1 -4
- package/dist/esm/w/local/token.js +0 -30
- package/dist/esm/w/local/util.d.ts +0 -4
- package/dist/esm/w/local/util.js +0 -24
- package/dist/esm/w/local/wip.d.ts +0 -92
- package/dist/esm/w/local/wip.js +31 -351
- package/dist/esm/w/messenger/crypto.d.ts +0 -186
- package/dist/esm/w/messenger/crypto.js +2 -196
- package/dist/esm/w/messenger/index.d.ts +0 -18
- package/dist/esm/w/messenger/index.js +0 -24
- package/dist/esm/w/messenger/messenger-api.d.ts +0 -177
- package/dist/esm/w/messenger/messenger-api.js +5 -354
- package/dist/esm/w/messenger/messenger-manager.d.ts +0 -24
- package/dist/esm/w/messenger/messenger-manager.js +1 -63
- package/dist/esm/w/messenger/messenger.d.ts +0 -206
- package/dist/esm/w/messenger/messenger.js +14 -360
- package/dist/esm/w/messenger/server.d.ts +0 -94
- package/dist/esm/w/messenger/server.js +0 -117
- package/dist/esm/w/messenger/session.d.ts +0 -76
- package/dist/esm/w/messenger/session.js +3 -143
- package/dist/esm/w/messenger/storage.d.ts +0 -143
- package/dist/esm/w/messenger/storage.js +0 -233
- package/dist/esm/w/messenger/templates/wts-html-template.d.ts +0 -31
- package/dist/esm/w/messenger/templates/wts-html-template.js +0 -43
- package/dist/esm/w/messenger/types.d.ts +7 -218
- package/dist/esm/w/messenger/types.js +14 -36
- package/dist/esm/w/messenger/utils.d.ts +0 -14
- package/dist/esm/w/messenger/utils.js +0 -17
- package/dist/esm/w/query/bult-in.d.ts +0 -11
- package/dist/esm/w/query/bult-in.js +1 -13
- package/dist/esm/w/query/event.d.ts +0 -7
- package/dist/esm/w/query/event.js +0 -3
- package/dist/esm/w/query/index.js +0 -3
- package/dist/esm/w/query/object.d.ts +7 -51
- package/dist/esm/w/query/object.js +7 -93
- package/dist/esm/w/query/received.d.ts +0 -6
- package/dist/esm/w/query/received.js +0 -5
- package/dist/esm/w/query/util.d.ts +1 -2
- package/dist/esm/w/query/util.js +1 -6
- package/dist/esm/w/util.d.ts +2 -5
- package/dist/esm/w/util.js +2 -31
- package/package.json +1 -1
- package/dist/cjs/bcs/bcs.js.map +0 -1
- package/dist/cjs/bcs/effects.js.map +0 -1
- package/dist/cjs/bcs/index.js.map +0 -1
- package/dist/cjs/bcs/pure.js.map +0 -1
- package/dist/cjs/bcs/type-tag-serializer.js.map +0 -1
- package/dist/cjs/bcs/types.js.map +0 -1
- package/dist/cjs/client/index.js.map +0 -1
- package/dist/cjs/client/network.js.map +0 -1
- package/dist/cjs/cryptography/index.js.map +0 -1
- package/dist/cjs/cryptography/intent.js.map +0 -1
- package/dist/cjs/cryptography/keypair.js.map +0 -1
- package/dist/cjs/cryptography/mnemonics.js.map +0 -1
- package/dist/cjs/cryptography/publickey.js.map +0 -1
- package/dist/cjs/cryptography/signature-scheme.js.map +0 -1
- package/dist/cjs/cryptography/signature.js.map +0 -1
- package/dist/cjs/experimental/cache.js.map +0 -1
- package/dist/cjs/experimental/client.js.map +0 -1
- package/dist/cjs/experimental/core.js.map +0 -1
- package/dist/cjs/experimental/errors.js.map +0 -1
- package/dist/cjs/experimental/index.js.map +0 -1
- package/dist/cjs/experimental/persistent-storage.js.map +0 -1
- package/dist/cjs/experimental/persistent-storage.test.js.map +0 -1
- package/dist/cjs/experimental/transports/utils.js.map +0 -1
- package/dist/cjs/experimental/types.js.map +0 -1
- package/dist/cjs/faucet/faucet.js.map +0 -1
- package/dist/cjs/faucet/index.js.map +0 -1
- package/dist/cjs/grpc/client.js.map +0 -1
- package/dist/cjs/grpc/core.js.map +0 -1
- package/dist/cjs/grpc/index.js.map +0 -1
- package/dist/cjs/grpc/proto/google/protobuf/any.js.map +0 -1
- package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +0 -1
- package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +0 -1
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +0 -1
- package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +0 -1
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +0 -1
- package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +0 -1
- package/dist/cjs/grpc/proto/google/rpc/status.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/jsonRpc/client.js.map +0 -1
- package/dist/cjs/jsonRpc/core.js.map +0 -1
- package/dist/cjs/jsonRpc/errors.js.map +0 -1
- package/dist/cjs/jsonRpc/http-transport.js.map +0 -1
- package/dist/cjs/jsonRpc/index.js.map +0 -1
- package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +0 -1
- package/dist/cjs/jsonRpc/rpc-websocket-client.js.map +0 -1
- package/dist/cjs/jsonRpc/types/chain.js.map +0 -1
- package/dist/cjs/jsonRpc/types/changes.js.map +0 -1
- package/dist/cjs/jsonRpc/types/coins.js.map +0 -1
- package/dist/cjs/jsonRpc/types/common.js.map +0 -1
- package/dist/cjs/jsonRpc/types/generated.js.map +0 -1
- package/dist/cjs/jsonRpc/types/index.js.map +0 -1
- package/dist/cjs/jsonRpc/types/params.js.map +0 -1
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +0 -1
- package/dist/cjs/keypairs/ed25519/index.js.map +0 -1
- package/dist/cjs/keypairs/ed25519/keypair.js.map +0 -1
- package/dist/cjs/keypairs/ed25519/publickey.js.map +0 -1
- package/dist/cjs/keypairs/index.js.map +0 -1
- package/dist/cjs/keypairs/passkey/index.js.map +0 -1
- package/dist/cjs/keypairs/passkey/keypair.js.map +0 -1
- package/dist/cjs/keypairs/passkey/publickey.js.map +0 -1
- package/dist/cjs/keypairs/passkey/types.js.map +0 -1
- package/dist/cjs/keypairs/secp256k1/index.js.map +0 -1
- package/dist/cjs/keypairs/secp256k1/keypair.js.map +0 -1
- package/dist/cjs/keypairs/secp256k1/publickey.js.map +0 -1
- package/dist/cjs/keypairs/secp256r1/index.js.map +0 -1
- package/dist/cjs/keypairs/secp256r1/keypair.js.map +0 -1
- package/dist/cjs/keypairs/secp256r1/publickey.js.map +0 -1
- package/dist/cjs/multisig/index.js.map +0 -1
- package/dist/cjs/multisig/publickey.js.map +0 -1
- package/dist/cjs/multisig/signer.js.map +0 -1
- package/dist/cjs/transactions/Arguments.js.map +0 -1
- package/dist/cjs/transactions/Commands.js.map +0 -1
- package/dist/cjs/transactions/Inputs.js.map +0 -1
- package/dist/cjs/transactions/ObjectCache.js.map +0 -1
- package/dist/cjs/transactions/Transaction.js.map +0 -1
- package/dist/cjs/transactions/TransactionData.js.map +0 -1
- package/dist/cjs/transactions/__tests__/Transaction.test.js.map +0 -1
- package/dist/cjs/transactions/__tests__/bcs.test.js.map +0 -1
- package/dist/cjs/transactions/data/internal.js.map +0 -1
- package/dist/cjs/transactions/data/v1.js.map +0 -1
- package/dist/cjs/transactions/data/v2.js.map +0 -1
- package/dist/cjs/transactions/executor/caching.js.map +0 -1
- package/dist/cjs/transactions/executor/parallel.js.map +0 -1
- package/dist/cjs/transactions/executor/queue.js.map +0 -1
- package/dist/cjs/transactions/executor/serial.js.map +0 -1
- package/dist/cjs/transactions/hash.js.map +0 -1
- package/dist/cjs/transactions/index.js.map +0 -1
- package/dist/cjs/transactions/intents/CoinWithBalance.js.map +0 -1
- package/dist/cjs/transactions/object.js.map +0 -1
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +0 -1
- package/dist/cjs/transactions/pure.js.map +0 -1
- package/dist/cjs/transactions/resolve.js.map +0 -1
- package/dist/cjs/transactions/serializer.js.map +0 -1
- package/dist/cjs/transactions/utils.js.map +0 -1
- package/dist/cjs/utils/constants.js.map +0 -1
- package/dist/cjs/utils/derived-objects.js.map +0 -1
- package/dist/cjs/utils/dynamic-fields.js.map +0 -1
- package/dist/cjs/utils/format.js.map +0 -1
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/move-registry.js.map +0 -1
- package/dist/cjs/utils/sui-types.js.map +0 -1
- package/dist/cjs/utils/suins.js.map +0 -1
- package/dist/cjs/verify/index.js.map +0 -1
- package/dist/cjs/verify/verify.js.map +0 -1
- package/dist/cjs/version.js.map +0 -1
- package/dist/cjs/w/call/allocation.js.map +0 -1
- package/dist/cjs/w/call/arb.js.map +0 -1
- package/dist/cjs/w/call/arbitration.js.map +0 -1
- package/dist/cjs/w/call/base.js.map +0 -1
- package/dist/cjs/w/call/contact.js.map +0 -1
- package/dist/cjs/w/call/demand.js.map +0 -1
- package/dist/cjs/w/call/entity.js.map +0 -1
- package/dist/cjs/w/call/guard-ins.js.map +0 -1
- package/dist/cjs/w/call/guard.js.map +0 -1
- package/dist/cjs/w/call/index.js.map +0 -1
- package/dist/cjs/w/call/machine.js.map +0 -1
- package/dist/cjs/w/call/order.js.map +0 -1
- package/dist/cjs/w/call/passport.js.map +0 -1
- package/dist/cjs/w/call/payment.js.map +0 -1
- package/dist/cjs/w/call/permission.js.map +0 -1
- package/dist/cjs/w/call/personal.js.map +0 -1
- package/dist/cjs/w/call/progress.js.map +0 -1
- package/dist/cjs/w/call/proof.js.map +0 -1
- package/dist/cjs/w/call/repository.js.map +0 -1
- package/dist/cjs/w/call/resource.js.map +0 -1
- package/dist/cjs/w/call/reward.js.map +0 -1
- package/dist/cjs/w/call/service.js.map +0 -1
- package/dist/cjs/w/call/treasury.js.map +0 -1
- package/dist/cjs/w/call/util.js.map +0 -1
- package/dist/cjs/w/common.js.map +0 -1
- package/dist/cjs/w/exception.js.map +0 -1
- package/dist/cjs/w/index.js.map +0 -1
- package/dist/cjs/w/local/account.js.map +0 -1
- package/dist/cjs/w/local/cache.js.map +0 -1
- package/dist/cjs/w/local/config.js.map +0 -1
- package/dist/cjs/w/local/index.js.map +0 -1
- package/dist/cjs/w/local/local.js.map +0 -1
- package/dist/cjs/w/local/storage.js.map +0 -1
- package/dist/cjs/w/local/token.js.map +0 -1
- package/dist/cjs/w/local/util.js.map +0 -1
- package/dist/cjs/w/local/wip.js.map +0 -1
- package/dist/cjs/w/messenger/crypto.js.map +0 -1
- package/dist/cjs/w/messenger/index.js.map +0 -1
- package/dist/cjs/w/messenger/messenger-api.js.map +0 -1
- package/dist/cjs/w/messenger/messenger-manager.js.map +0 -1
- package/dist/cjs/w/messenger/messenger.js.map +0 -1
- package/dist/cjs/w/messenger/server.js.map +0 -1
- package/dist/cjs/w/messenger/session.js.map +0 -1
- package/dist/cjs/w/messenger/storage.js.map +0 -1
- package/dist/cjs/w/messenger/templates/wts-html-template.js.map +0 -1
- package/dist/cjs/w/messenger/types.js.map +0 -1
- package/dist/cjs/w/messenger/utils.js.map +0 -1
- package/dist/cjs/w/query/bult-in.js.map +0 -1
- package/dist/cjs/w/query/event.js.map +0 -1
- package/dist/cjs/w/query/index.js.map +0 -1
- package/dist/cjs/w/query/object.js.map +0 -1
- package/dist/cjs/w/query/received.js.map +0 -1
- package/dist/cjs/w/query/util.js.map +0 -1
- package/dist/cjs/w/util.js.map +0 -1
- package/dist/esm/bcs/bcs.js.map +0 -1
- package/dist/esm/bcs/effects.js.map +0 -1
- package/dist/esm/bcs/index.js.map +0 -1
- package/dist/esm/bcs/pure.js.map +0 -1
- package/dist/esm/bcs/type-tag-serializer.js.map +0 -1
- package/dist/esm/bcs/types.js.map +0 -1
- package/dist/esm/client/index.js.map +0 -1
- package/dist/esm/client/network.js.map +0 -1
- package/dist/esm/cryptography/index.js.map +0 -1
- package/dist/esm/cryptography/intent.js.map +0 -1
- package/dist/esm/cryptography/keypair.js.map +0 -1
- package/dist/esm/cryptography/mnemonics.js.map +0 -1
- package/dist/esm/cryptography/publickey.js.map +0 -1
- package/dist/esm/cryptography/signature-scheme.js.map +0 -1
- package/dist/esm/cryptography/signature.js.map +0 -1
- package/dist/esm/experimental/cache.js.map +0 -1
- package/dist/esm/experimental/client.js.map +0 -1
- package/dist/esm/experimental/core.js.map +0 -1
- package/dist/esm/experimental/errors.js.map +0 -1
- package/dist/esm/experimental/index.js.map +0 -1
- package/dist/esm/experimental/persistent-storage.js.map +0 -1
- package/dist/esm/experimental/persistent-storage.test.js.map +0 -1
- package/dist/esm/experimental/transports/utils.js.map +0 -1
- package/dist/esm/experimental/types.js.map +0 -1
- package/dist/esm/faucet/faucet.js.map +0 -1
- package/dist/esm/faucet/index.js.map +0 -1
- package/dist/esm/grpc/client.js.map +0 -1
- package/dist/esm/grpc/core.js.map +0 -1
- package/dist/esm/grpc/index.js.map +0 -1
- package/dist/esm/grpc/proto/google/protobuf/any.js.map +0 -1
- package/dist/esm/grpc/proto/google/protobuf/duration.js.map +0 -1
- package/dist/esm/grpc/proto/google/protobuf/empty.js.map +0 -1
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +0 -1
- package/dist/esm/grpc/proto/google/protobuf/struct.js.map +0 -1
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +0 -1
- package/dist/esm/grpc/proto/google/rpc/error_details.js.map +0 -1
- package/dist/esm/grpc/proto/google/rpc/status.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/event.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/input.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/object.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/jsonRpc/client.js.map +0 -1
- package/dist/esm/jsonRpc/core.js.map +0 -1
- package/dist/esm/jsonRpc/errors.js.map +0 -1
- package/dist/esm/jsonRpc/http-transport.js.map +0 -1
- package/dist/esm/jsonRpc/index.js.map +0 -1
- package/dist/esm/jsonRpc/json-rpc-resolver.js.map +0 -1
- package/dist/esm/jsonRpc/rpc-websocket-client.js.map +0 -1
- package/dist/esm/jsonRpc/types/chain.js.map +0 -1
- package/dist/esm/jsonRpc/types/changes.js.map +0 -1
- package/dist/esm/jsonRpc/types/coins.js.map +0 -1
- package/dist/esm/jsonRpc/types/common.js.map +0 -1
- package/dist/esm/jsonRpc/types/generated.js.map +0 -1
- package/dist/esm/jsonRpc/types/index.js.map +0 -1
- package/dist/esm/jsonRpc/types/params.js.map +0 -1
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +0 -1
- package/dist/esm/keypairs/ed25519/index.js.map +0 -1
- package/dist/esm/keypairs/ed25519/keypair.js.map +0 -1
- package/dist/esm/keypairs/ed25519/publickey.js.map +0 -1
- package/dist/esm/keypairs/index.js.map +0 -1
- package/dist/esm/keypairs/passkey/index.js.map +0 -1
- package/dist/esm/keypairs/passkey/keypair.js.map +0 -1
- package/dist/esm/keypairs/passkey/publickey.js.map +0 -1
- package/dist/esm/keypairs/passkey/types.js.map +0 -1
- package/dist/esm/keypairs/secp256k1/index.js.map +0 -1
- package/dist/esm/keypairs/secp256k1/keypair.js.map +0 -1
- package/dist/esm/keypairs/secp256k1/publickey.js.map +0 -1
- package/dist/esm/keypairs/secp256r1/index.js.map +0 -1
- package/dist/esm/keypairs/secp256r1/keypair.js.map +0 -1
- package/dist/esm/keypairs/secp256r1/publickey.js.map +0 -1
- package/dist/esm/multisig/index.js.map +0 -1
- package/dist/esm/multisig/publickey.js.map +0 -1
- package/dist/esm/multisig/signer.js.map +0 -1
- package/dist/esm/transactions/Arguments.js.map +0 -1
- package/dist/esm/transactions/Commands.js.map +0 -1
- package/dist/esm/transactions/Inputs.js.map +0 -1
- package/dist/esm/transactions/ObjectCache.js.map +0 -1
- package/dist/esm/transactions/Transaction.js.map +0 -1
- package/dist/esm/transactions/TransactionData.js.map +0 -1
- package/dist/esm/transactions/__tests__/Transaction.test.js.map +0 -1
- package/dist/esm/transactions/__tests__/bcs.test.js.map +0 -1
- package/dist/esm/transactions/data/internal.js.map +0 -1
- package/dist/esm/transactions/data/v1.js.map +0 -1
- package/dist/esm/transactions/data/v2.js.map +0 -1
- package/dist/esm/transactions/executor/caching.js.map +0 -1
- package/dist/esm/transactions/executor/parallel.js.map +0 -1
- package/dist/esm/transactions/executor/queue.js.map +0 -1
- package/dist/esm/transactions/executor/serial.js.map +0 -1
- package/dist/esm/transactions/hash.js.map +0 -1
- package/dist/esm/transactions/index.js.map +0 -1
- package/dist/esm/transactions/intents/CoinWithBalance.js.map +0 -1
- package/dist/esm/transactions/object.js.map +0 -1
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.js.map +0 -1
- package/dist/esm/transactions/pure.js.map +0 -1
- package/dist/esm/transactions/resolve.js.map +0 -1
- package/dist/esm/transactions/serializer.js.map +0 -1
- package/dist/esm/transactions/utils.js.map +0 -1
- package/dist/esm/utils/constants.js.map +0 -1
- package/dist/esm/utils/derived-objects.js.map +0 -1
- package/dist/esm/utils/dynamic-fields.js.map +0 -1
- package/dist/esm/utils/format.js.map +0 -1
- package/dist/esm/utils/index.js.map +0 -1
- package/dist/esm/utils/move-registry.js.map +0 -1
- package/dist/esm/utils/sui-types.js.map +0 -1
- package/dist/esm/utils/suins.js.map +0 -1
- package/dist/esm/verify/index.js.map +0 -1
- package/dist/esm/verify/verify.js.map +0 -1
- package/dist/esm/version.js.map +0 -1
- package/dist/esm/w/call/allocation.js.map +0 -1
- package/dist/esm/w/call/arb.js.map +0 -1
- package/dist/esm/w/call/arbitration.js.map +0 -1
- package/dist/esm/w/call/base.js.map +0 -1
- package/dist/esm/w/call/contact.js.map +0 -1
- package/dist/esm/w/call/demand.js.map +0 -1
- package/dist/esm/w/call/entity.js.map +0 -1
- package/dist/esm/w/call/guard-ins.js.map +0 -1
- package/dist/esm/w/call/guard.js.map +0 -1
- package/dist/esm/w/call/index.js.map +0 -1
- package/dist/esm/w/call/machine.js.map +0 -1
- package/dist/esm/w/call/order.js.map +0 -1
- package/dist/esm/w/call/passport.js.map +0 -1
- package/dist/esm/w/call/payment.js.map +0 -1
- package/dist/esm/w/call/permission.js.map +0 -1
- package/dist/esm/w/call/personal.js.map +0 -1
- package/dist/esm/w/call/progress.js.map +0 -1
- package/dist/esm/w/call/proof.js.map +0 -1
- package/dist/esm/w/call/repository.js.map +0 -1
- package/dist/esm/w/call/resource.js.map +0 -1
- package/dist/esm/w/call/reward.js.map +0 -1
- package/dist/esm/w/call/service.js.map +0 -1
- package/dist/esm/w/call/treasury.js.map +0 -1
- package/dist/esm/w/call/util.js.map +0 -1
- package/dist/esm/w/common.js.map +0 -1
- package/dist/esm/w/exception.js.map +0 -1
- package/dist/esm/w/index.js.map +0 -1
- package/dist/esm/w/local/account.js.map +0 -1
- package/dist/esm/w/local/cache.js.map +0 -1
- package/dist/esm/w/local/config.js.map +0 -1
- package/dist/esm/w/local/index.js.map +0 -1
- package/dist/esm/w/local/local.js.map +0 -1
- package/dist/esm/w/local/storage.js.map +0 -1
- package/dist/esm/w/local/token.js.map +0 -1
- package/dist/esm/w/local/util.js.map +0 -1
- package/dist/esm/w/local/wip.js.map +0 -1
- package/dist/esm/w/messenger/crypto.js.map +0 -1
- package/dist/esm/w/messenger/index.js.map +0 -1
- package/dist/esm/w/messenger/messenger-api.js.map +0 -1
- package/dist/esm/w/messenger/messenger-manager.js.map +0 -1
- package/dist/esm/w/messenger/messenger.js.map +0 -1
- package/dist/esm/w/messenger/server.js.map +0 -1
- package/dist/esm/w/messenger/session.js.map +0 -1
- package/dist/esm/w/messenger/storage.js.map +0 -1
- package/dist/esm/w/messenger/templates/wts-html-template.js.map +0 -1
- package/dist/esm/w/messenger/types.js.map +0 -1
- package/dist/esm/w/messenger/utils.js.map +0 -1
- package/dist/esm/w/query/bult-in.js.map +0 -1
- package/dist/esm/w/query/event.js.map +0 -1
- package/dist/esm/w/query/index.js.map +0 -1
- package/dist/esm/w/query/object.js.map +0 -1
- package/dist/esm/w/query/received.js.map +0 -1
- package/dist/esm/w/query/util.js.map +0 -1
- package/dist/esm/w/util.js.map +0 -1
|
@@ -1,23 +1,6 @@
|
|
|
1
|
-
// Copyright (c) Wowok.
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
/**
|
|
4
|
-
* Messenger 核心模块
|
|
5
|
-
*
|
|
6
|
-
* 提供完整的端到端加密消息功能:
|
|
7
|
-
* 1. 发送加密消息(集成 Merkle Tree 时序证明)
|
|
8
|
-
* 2. 接收并解密消息
|
|
9
|
-
* 3. 链上证明提交(使用 proof.ts)
|
|
10
|
-
* 4. 会话状态同步
|
|
11
|
-
*
|
|
12
|
-
* 三重信任模型:
|
|
13
|
-
* - 身份信任:wowok 账户 Ed25519 签名
|
|
14
|
-
* - 加密信任:Signal Protocol 双棘轮
|
|
15
|
-
* - 时序信任:Merkle Tree + 服务器签名 + 链上证明
|
|
16
|
-
*/
|
|
17
1
|
import { createHash } from "crypto";
|
|
18
2
|
import * as fs from "fs";
|
|
19
3
|
import * as path from "path";
|
|
20
|
-
// eslint-disable-next-line import/no-cycle
|
|
21
4
|
import { MessengerSession, DecryptionEngine } from "./session.js";
|
|
22
5
|
import { MessengerServerClient } from "./server.js";
|
|
23
6
|
import { MessageStorage, SessionStateStorage } from "./storage.js";
|
|
@@ -25,9 +8,7 @@ import { hashPlaintext, verifyMessage, bytesToBase64 } from "./crypto.js";
|
|
|
25
8
|
import { canonicalizeJson } from "./utils.js";
|
|
26
9
|
import { DEFAULT_MESSENGER_CONFIG, MessengerError, MessengerErrorCode, MessageDirection, MessageStatus, WTS_FILE_BYTES_LIMIT, NORMAL_MESSAGE_BYTES_LIMIT, CHAIN_PROOF_TYPE, } from "./types.js";
|
|
27
10
|
import { isValidWowAddress } from "../../utils/sui-types.js";
|
|
28
|
-
// 动态获取 Account 实例的辅助函数
|
|
29
11
|
async function getAccount() {
|
|
30
|
-
// eslint-disable-next-line import/no-cycle
|
|
31
12
|
const { Account } = await import("../local/account.js");
|
|
32
13
|
return Account.Instance();
|
|
33
14
|
}
|
|
@@ -45,11 +26,8 @@ export class Messenger {
|
|
|
45
26
|
messageStorage;
|
|
46
27
|
sessionStateStorage;
|
|
47
28
|
decryptionEngine;
|
|
48
|
-
// 【新增】等待解密的消息池(用于 Skip Keys 机制)
|
|
49
29
|
waitingMessages = new Map();
|
|
50
|
-
// 【新增】解密失败的消息(用于用户决策重发)
|
|
51
30
|
failedMessages = new Map();
|
|
52
|
-
// 【新增】重试计数器(3秒×3次机制)
|
|
53
31
|
waitingMessageRetries = new Map();
|
|
54
32
|
constructor(userAddress, config) {
|
|
55
33
|
this.userAddress = userAddress;
|
|
@@ -58,24 +36,16 @@ export class Messenger {
|
|
|
58
36
|
this.serverClient = new MessengerServerClient(this.config);
|
|
59
37
|
this.messageStorage = new MessageStorage(userAddress);
|
|
60
38
|
this.sessionStateStorage = new SessionStateStorage(userAddress);
|
|
61
|
-
this.decryptionEngine = new DecryptionEngine(this.session["store"]);
|
|
39
|
+
this.decryptionEngine = new DecryptionEngine(this.session["store"]);
|
|
62
40
|
this.currentMessageInterval =
|
|
63
41
|
this.config.message_poll_default_interval_ms ?? 6 * 60 * 1000;
|
|
64
42
|
}
|
|
65
|
-
/**
|
|
66
|
-
* 获取用户地址
|
|
67
|
-
* @returns 用户地址
|
|
68
|
-
*/
|
|
69
43
|
getUserAddress() {
|
|
70
44
|
if (!this.userAddress) {
|
|
71
45
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
72
46
|
}
|
|
73
47
|
return this.userAddress;
|
|
74
48
|
}
|
|
75
|
-
/**
|
|
76
|
-
* 获取用户公钥
|
|
77
|
-
* @returns 公钥(带标志位)
|
|
78
|
-
*/
|
|
79
49
|
async getPublicKey() {
|
|
80
50
|
if (!this.userAddress) {
|
|
81
51
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -83,22 +53,12 @@ export class Messenger {
|
|
|
83
53
|
const account = await (await getAccount()).get(this.userAddress, false);
|
|
84
54
|
return account?.pubkey || "";
|
|
85
55
|
}
|
|
86
|
-
/**
|
|
87
|
-
* 验证Guard消息格式
|
|
88
|
-
* @param guardAddress Guard地址
|
|
89
|
-
* @param passportAddress Passport地址
|
|
90
|
-
* @returns 是否为有效的Guard消息
|
|
91
|
-
*/
|
|
92
56
|
isValidGuardMessage(guardAddress, passportAddress) {
|
|
93
57
|
return Boolean(guardAddress &&
|
|
94
58
|
passportAddress &&
|
|
95
59
|
isValidWowAddress(guardAddress) &&
|
|
96
60
|
isValidWowAddress(passportAddress));
|
|
97
61
|
}
|
|
98
|
-
/**
|
|
99
|
-
* 生成签名参数
|
|
100
|
-
* 用于需要签名验证的 API 调用
|
|
101
|
-
*/
|
|
102
62
|
async generateSignatureParams(operation) {
|
|
103
63
|
if (!this.userAddress) {
|
|
104
64
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -111,7 +71,7 @@ export class Messenger {
|
|
|
111
71
|
const keypair = Ed25519Keypair.fromSecretKey(account.secret);
|
|
112
72
|
const publicKey = keypair.getPublicKey();
|
|
113
73
|
const publicKeyWithFlag = publicKey.toWPublicKey();
|
|
114
|
-
const timestamp = Date.now();
|
|
74
|
+
const timestamp = Date.now();
|
|
115
75
|
const nonce = this.generateNonce();
|
|
116
76
|
const message = `${operation}:${publicKeyWithFlag}:${timestamp}:${nonce}`;
|
|
117
77
|
const signature = await keypair.sign(new TextEncoder().encode(message));
|
|
@@ -122,54 +82,26 @@ export class Messenger {
|
|
|
122
82
|
nonce,
|
|
123
83
|
};
|
|
124
84
|
}
|
|
125
|
-
/**
|
|
126
|
-
* 生成随机 nonce
|
|
127
|
-
*/
|
|
128
85
|
generateNonce() {
|
|
129
86
|
const array = new Uint8Array(16);
|
|
130
87
|
crypto.getRandomValues(array);
|
|
131
88
|
return Array.from(array, (b) => b.toString(16).padStart(2, "0")).join("");
|
|
132
89
|
}
|
|
133
|
-
/**
|
|
134
|
-
* 初始化 Messenger
|
|
135
|
-
* 1. 确保本地身份
|
|
136
|
-
* 2. 注册设备到服务器
|
|
137
|
-
* 3. 上传预密钥
|
|
138
|
-
* 4. 检查预密钥状态(如低于阈值则补充)
|
|
139
|
-
* 5. 启动合并的polling timer
|
|
140
|
-
*/
|
|
141
90
|
async initialize() {
|
|
142
91
|
if (!this.userAddress) {
|
|
143
92
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
144
93
|
}
|
|
145
|
-
// 确保身份
|
|
146
94
|
await this.session.ensureIdentity(this.userAddress);
|
|
147
|
-
// 【更新】每次都注册/更新设备!
|
|
148
|
-
// Signal Protocol 最佳实践:每次初始化都可以更新预键
|
|
149
|
-
// - 已有会话不受影响(使用双棘轮动态密钥)
|
|
150
|
-
// - 新会话使用新的预键(确保本地和服务器一致)
|
|
151
|
-
//console.log(`[Messenger] Registering/updating device...`);
|
|
152
95
|
await this.session.registerDevice(this.userAddress);
|
|
153
96
|
await this.session.ensurePreKeys(this.userAddress);
|
|
154
|
-
// 初始化时检查预密钥状态
|
|
155
97
|
await this.checkAndRefillPrekeys();
|
|
156
|
-
// 启动合并的polling timer
|
|
157
98
|
this.startPollingTimer();
|
|
158
99
|
}
|
|
159
|
-
/**
|
|
160
|
-
* 检查并补充预密钥
|
|
161
|
-
*
|
|
162
|
-
* 逻辑:如果服务器预密钥未满,自动补充到最大容量
|
|
163
|
-
*/
|
|
164
100
|
async checkAndRefillPrekeys() {
|
|
165
101
|
if (!this.userAddress)
|
|
166
102
|
return;
|
|
167
|
-
// 直接调用 ensurePreKeys,它会查询服务器状态并按需补充
|
|
168
103
|
await this.session.ensurePreKeys(this.userAddress, false);
|
|
169
104
|
}
|
|
170
|
-
/**
|
|
171
|
-
* 启动合并的polling timer
|
|
172
|
-
*/
|
|
173
105
|
startPollingTimer() {
|
|
174
106
|
if (this.pollingTimer) {
|
|
175
107
|
clearTimeout(this.pollingTimer);
|
|
@@ -177,9 +109,6 @@ export class Messenger {
|
|
|
177
109
|
this.isPollingRunning = true;
|
|
178
110
|
this.scheduleNextPoll();
|
|
179
111
|
}
|
|
180
|
-
/**
|
|
181
|
-
* 停止polling timer
|
|
182
|
-
*/
|
|
183
112
|
stopPollingTimer() {
|
|
184
113
|
this.isPollingRunning = false;
|
|
185
114
|
if (this.pollingTimer) {
|
|
@@ -187,9 +116,6 @@ export class Messenger {
|
|
|
187
116
|
this.pollingTimer = null;
|
|
188
117
|
}
|
|
189
118
|
}
|
|
190
|
-
/**
|
|
191
|
-
* 安排下一次poll
|
|
192
|
-
*/
|
|
193
119
|
scheduleNextPoll() {
|
|
194
120
|
if (!this.isPollingRunning)
|
|
195
121
|
return;
|
|
@@ -204,26 +130,17 @@ export class Messenger {
|
|
|
204
130
|
});
|
|
205
131
|
}, interval);
|
|
206
132
|
}
|
|
207
|
-
/**
|
|
208
|
-
* 获取下次poll的间隔时间
|
|
209
|
-
* 【优化】增加3秒快速模式(有待解密消息时)
|
|
210
|
-
*/
|
|
211
133
|
getNextPollInterval() {
|
|
212
|
-
// 如果有等待解密的消息,使用3秒快速轮询
|
|
213
134
|
if (this.waitingMessages.size > 0) {
|
|
214
135
|
return this.config.message_poll_waiting_interval_ms ?? 3 * 1000;
|
|
215
136
|
}
|
|
216
137
|
return this.currentMessageInterval;
|
|
217
138
|
}
|
|
218
|
-
/**
|
|
219
|
-
* 执行一次poll(拉取消息和检查prekey状态)
|
|
220
|
-
*/
|
|
221
139
|
async poll() {
|
|
222
140
|
if (!this.userAddress)
|
|
223
141
|
return;
|
|
224
142
|
try {
|
|
225
143
|
const response = await this.pullMessages();
|
|
226
|
-
// 处理消息
|
|
227
144
|
if (response.messages.length > 0) {
|
|
228
145
|
this.messageConsecutiveEmptyPulls = 0;
|
|
229
146
|
this.currentMessageInterval =
|
|
@@ -242,7 +159,6 @@ export class Messenger {
|
|
|
242
159
|
this.messageConsecutiveEmptyPulls = 0;
|
|
243
160
|
}
|
|
244
161
|
}
|
|
245
|
-
// 处理prekey状态
|
|
246
162
|
if (response.prekey_status) {
|
|
247
163
|
const prekeyStatus = response.prekey_status;
|
|
248
164
|
if (prekeyStatus.shouldRefill) {
|
|
@@ -262,9 +178,6 @@ export class Messenger {
|
|
|
262
178
|
console.error("[Polling] Poll error:", error);
|
|
263
179
|
}
|
|
264
180
|
}
|
|
265
|
-
/**
|
|
266
|
-
* 触发快速poll(发送消息后调用)
|
|
267
|
-
*/
|
|
268
181
|
triggerFastPoll() {
|
|
269
182
|
this.currentMessageInterval =
|
|
270
183
|
this.config.message_poll_fast_interval_ms ?? 6 * 1000;
|
|
@@ -276,15 +189,6 @@ export class Messenger {
|
|
|
276
189
|
this.scheduleNextPoll();
|
|
277
190
|
}
|
|
278
191
|
}
|
|
279
|
-
/**
|
|
280
|
-
* 发送加密消息
|
|
281
|
-
*
|
|
282
|
-
* 流程:
|
|
283
|
-
* 1. 使用 Signal Protocol 加密消息
|
|
284
|
-
* 2. 发送到服务器
|
|
285
|
-
* 3. 接收服务器返回的 Merkle 证明数据
|
|
286
|
-
* 4. 本地存储消息
|
|
287
|
-
*/
|
|
288
192
|
async sendMessage(recipientAddress, plaintext, options) {
|
|
289
193
|
if (!this.userAddress) {
|
|
290
194
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -292,24 +196,15 @@ export class Messenger {
|
|
|
292
196
|
const createdAt = Date.now();
|
|
293
197
|
const timestamp = Date.now();
|
|
294
198
|
const nonce = this.generateNonce();
|
|
295
|
-
// 检查普通消息大小限制(10KB)
|
|
296
199
|
const plaintextBytes = new TextEncoder().encode(plaintext).length;
|
|
297
200
|
if (plaintextBytes > NORMAL_MESSAGE_BYTES_LIMIT) {
|
|
298
201
|
throw new MessengerError(MessengerErrorCode.INVALID_INPUT, `Message size (${plaintextBytes} bytes) exceeds maximum allowed size (${NORMAL_MESSAGE_BYTES_LIMIT} bytes). Consider using sendZipFile for large content.`);
|
|
299
202
|
}
|
|
300
|
-
// 【关键修复】发送前先拉取对方发送的最新消息
|
|
301
|
-
// 确保 lastReceivedLeafIndex 包含所有已解密的消息
|
|
302
203
|
await this.pullMessages();
|
|
303
|
-
// 【新增】获取最后收到的消息序号(用于消息确认)
|
|
304
204
|
const lastReceivedLeafIndex = this.messageStorage.getLastReceivedLeafIndex(this.userAddress, recipientAddress);
|
|
305
|
-
// 1. 加密消息(明文就是原始消息内容)
|
|
306
205
|
const encrypted = await this.session.encryptMessage(this.userAddress, recipientAddress, plaintext);
|
|
307
206
|
const ciphertext = Buffer.from(new Uint8Array(encrypted.body)).toString("base64");
|
|
308
|
-
// 2. 计算明文哈希(用于 Merkle Tree 证明)
|
|
309
|
-
// 【更新】包含 lastReceivedLeafIndex 在哈希计算中
|
|
310
207
|
const plaintextHash = hashPlaintext(plaintext, createdAt, options?.guardAddress, options?.passportAddress, lastReceivedLeafIndex);
|
|
311
|
-
// 3. 签名消息
|
|
312
|
-
// 注意: guard_address 和 passport_address 始终包含在签名中(可能为空字符串),防止参数篡改
|
|
313
208
|
const account = await (await getAccount()).get(this.userAddress, false);
|
|
314
209
|
if (!account) {
|
|
315
210
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User account not found");
|
|
@@ -317,15 +212,12 @@ export class Messenger {
|
|
|
317
212
|
const publicKey = account.pubkey;
|
|
318
213
|
const guardAddr = options?.guardAddress || "";
|
|
319
214
|
const passportAddr = options?.passportAddress || "";
|
|
320
|
-
// 统一发送模式(合并 send 和 send_force)
|
|
321
|
-
// 统一签名格式: send_message:{sender}:{recipient}:{guard_address}:{passport_address}:{plaintext_hash}:{last_received_leaf_index}:{public_key}:{timestamp}:{nonce}:{force}
|
|
322
215
|
const lastReceivedStr = lastReceivedLeafIndex >= 0 ? lastReceivedLeafIndex.toString() : "";
|
|
323
216
|
const forceStr = options?.force ? "true" : "false";
|
|
324
217
|
const signMessage = `send_message:${this.userAddress}:${recipientAddress}:${guardAddr}:${passportAddr}:${plaintextHash}:${lastReceivedStr}:${publicKey}:${timestamp}:${nonce}:${forceStr}`;
|
|
325
218
|
const signResult = await (await getAccount()).signData(this.userAddress, signMessage);
|
|
326
219
|
const signatureBuffer = Buffer.from(signResult.signature.slice(2), "hex");
|
|
327
220
|
const signatureBase64 = bytesToBase64(new Uint8Array(signatureBuffer));
|
|
328
|
-
// 使用统一的 sendMessage API
|
|
329
221
|
const response = await this.serverClient.sendMessage({
|
|
330
222
|
sender: signResult.publicKey,
|
|
331
223
|
recipient: recipientAddress,
|
|
@@ -340,12 +232,10 @@ export class Messenger {
|
|
|
340
232
|
guardAddress: options?.guardAddress,
|
|
341
233
|
passportAddress: options?.passportAddress,
|
|
342
234
|
force: options?.force,
|
|
343
|
-
// 【修复】只有当 lastReceivedLeafIndex >= 0 时才发送,否则发送 undefined
|
|
344
235
|
lastReceivedLeafIndex: lastReceivedLeafIndex >= 0
|
|
345
236
|
? lastReceivedLeafIndex
|
|
346
237
|
: undefined,
|
|
347
238
|
});
|
|
348
|
-
// 4. 保存到本地存储
|
|
349
239
|
const message = {
|
|
350
240
|
messageId: response.messageId,
|
|
351
241
|
fromAddress: this.userAddress,
|
|
@@ -354,7 +244,7 @@ export class Messenger {
|
|
|
354
244
|
plaintext,
|
|
355
245
|
guardAddress: options?.guardAddress,
|
|
356
246
|
passportAddress: options?.passportAddress,
|
|
357
|
-
lastReceivedLeafIndex,
|
|
247
|
+
lastReceivedLeafIndex,
|
|
358
248
|
direction: MessageDirection.SENT,
|
|
359
249
|
status: response.status === "confirmed"
|
|
360
250
|
? MessageStatus.CONFIRMED
|
|
@@ -369,7 +259,6 @@ export class Messenger {
|
|
|
369
259
|
message.serverSignature = response.merkleData.serverSignature;
|
|
370
260
|
message.serverTimestamp = response.merkleData.serverTimestamp;
|
|
371
261
|
message.serverPublicKey = response.merkleData.serverPublicKey;
|
|
372
|
-
// 更新会话状态
|
|
373
262
|
this.sessionStateStorage.updateSessionState(this.userAddress, recipientAddress, {
|
|
374
263
|
currentRoot: response.merkleData.newRoot,
|
|
375
264
|
prevRoot: response.merkleData.prevRoot,
|
|
@@ -378,15 +267,11 @@ export class Messenger {
|
|
|
378
267
|
});
|
|
379
268
|
}
|
|
380
269
|
this.messageStorage.saveMessage(message);
|
|
381
|
-
// 方案B:处理服务器返回的其他已验证消息的 Merkle 数据
|
|
382
|
-
// 这些消息可能之前因为发送方离线而没有收到 Merkle 数据
|
|
383
270
|
if (response.pendingMerkleData) {
|
|
384
271
|
for (const [msgId, merkleData] of Object.entries(response.pendingMerkleData)) {
|
|
385
|
-
// 检查本地是否已有该消息
|
|
386
272
|
const existingMsg = this.messageStorage.getMessage(msgId);
|
|
387
273
|
if (existingMsg &&
|
|
388
274
|
existingMsg.status === MessageStatus.PENDING) {
|
|
389
|
-
// 更新消息的 Merkle 数据
|
|
390
275
|
this.messageStorage.updateMessageStatus(msgId, MessageStatus.CONFIRMED, {
|
|
391
276
|
leafIndex: merkleData.leafIndex,
|
|
392
277
|
newRoot: merkleData.newRoot,
|
|
@@ -394,9 +279,6 @@ export class Messenger {
|
|
|
394
279
|
serverTimestamp: merkleData.serverTimestamp,
|
|
395
280
|
serverPublicKey: merkleData.serverPublicKey,
|
|
396
281
|
});
|
|
397
|
-
/*console.log(
|
|
398
|
-
`Updated pending message ${msgId} with merkle data from pendingMerkleData`,
|
|
399
|
-
);*/
|
|
400
282
|
}
|
|
401
283
|
}
|
|
402
284
|
}
|
|
@@ -409,22 +291,11 @@ export class Messenger {
|
|
|
409
291
|
lastReceivedLeafIndex: lastReceivedLeafIndex >= 0 ? lastReceivedLeafIndex : undefined,
|
|
410
292
|
};
|
|
411
293
|
}
|
|
412
|
-
/**
|
|
413
|
-
* 拉取消息
|
|
414
|
-
*
|
|
415
|
-
* 流程:
|
|
416
|
-
* 1. 从服务器拉取消息
|
|
417
|
-
* 2. 解密消息(Signal Protocol)
|
|
418
|
-
* 3. 验证 Merkle 证明
|
|
419
|
-
* 4. 本地存储并确认消息
|
|
420
|
-
*/
|
|
421
294
|
async pullMessages(limit) {
|
|
422
295
|
if (!this.userAddress) {
|
|
423
296
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
424
297
|
}
|
|
425
|
-
|
|
426
|
-
// 签名格式: fetch_messages:{address}:{limit}:{timestamp}:{nonce}
|
|
427
|
-
const timestamp = Date.now(); //@ 使用ms时间戳
|
|
298
|
+
const timestamp = Date.now();
|
|
428
299
|
const nonce = this.generateNonce();
|
|
429
300
|
const message = `fetch_messages:${this.userAddress}:${limit || 100}:${timestamp}:${nonce}`;
|
|
430
301
|
const account = await (await getAccount()).get(this.userAddress, false);
|
|
@@ -437,12 +308,7 @@ export class Messenger {
|
|
|
437
308
|
timestamp,
|
|
438
309
|
nonce,
|
|
439
310
|
};
|
|
440
|
-
// 2. 拉取消息(带签名验证)
|
|
441
311
|
const response = await this.serverClient.pullMessages(this.userAddress, publicKey, signatureParams, limit);
|
|
442
|
-
/*console.log(`[Messenger] 服务器返回 ${response.messages.length} 条消息`);
|
|
443
|
-
if (response.messages.length > 0) {
|
|
444
|
-
console.log(`[Messenger] 消息 IDs: ${response.messages.map(m => m.id).join(', ')}`);
|
|
445
|
-
}*/
|
|
446
312
|
if (response.messages.length === 0) {
|
|
447
313
|
return {
|
|
448
314
|
messages: [],
|
|
@@ -451,70 +317,53 @@ export class Messenger {
|
|
|
451
317
|
}
|
|
452
318
|
const decryptedMessages = [];
|
|
453
319
|
const acknowledgedIds = [];
|
|
454
|
-
// 按 clientTimestamp 排序消息(发送方本地时间)
|
|
455
320
|
const sortedMessages = [...response.messages].sort(function (a, b) {
|
|
456
321
|
return (a.clientTimestamp || 0) - (b.clientTimestamp || 0);
|
|
457
322
|
});
|
|
458
|
-
// 【优化】首先尝试处理 waitingMessages 池中的消息
|
|
459
323
|
await this.processWaitingMessages(decryptedMessages, acknowledgedIds);
|
|
460
|
-
// 处理新拉取的消息(已排序)
|
|
461
324
|
for (const serverMsg of sortedMessages) {
|
|
462
|
-
// 检查是否已在 waitingMessages 池中
|
|
463
325
|
if (this.waitingMessages.has(serverMsg.id)) {
|
|
464
326
|
acknowledgedIds.push(serverMsg.id);
|
|
465
327
|
continue;
|
|
466
328
|
}
|
|
467
|
-
// 检查是否已在 failedMessages 中
|
|
468
329
|
if (this.failedMessages.has(serverMsg.id)) {
|
|
469
330
|
acknowledgedIds.push(serverMsg.id);
|
|
470
331
|
continue;
|
|
471
332
|
}
|
|
472
|
-
// 检查消息是否已经在本地存储
|
|
473
333
|
const existingMessage = this.messageStorage.getMessage(serverMsg.id);
|
|
474
334
|
if (existingMessage) {
|
|
475
|
-
// 消息已存在,直接确认
|
|
476
335
|
acknowledgedIds.push(serverMsg.id);
|
|
477
336
|
continue;
|
|
478
337
|
}
|
|
479
|
-
// 尝试解密消息
|
|
480
338
|
const decryptResult = await this.tryDecryptMessage(serverMsg);
|
|
481
339
|
if (decryptResult.success &&
|
|
482
340
|
decryptResult.message &&
|
|
483
341
|
decryptResult.decryptedData) {
|
|
484
|
-
// 解密成功,保存并添加到结果
|
|
485
342
|
this.messageStorage.saveMessage(decryptResult.message);
|
|
486
343
|
decryptedMessages.push(decryptResult.decryptedData);
|
|
487
344
|
acknowledgedIds.push(serverMsg.id);
|
|
488
|
-
// 从 waitingMessages 中移除(如果存在)
|
|
489
345
|
this.waitingMessages.delete(serverMsg.id);
|
|
490
346
|
}
|
|
491
347
|
else if (decryptResult.shouldRetry) {
|
|
492
|
-
// 需要重试(Skip Keys 机制),加入等待池
|
|
493
348
|
console.warn(`[Messenger] 消息 ${serverMsg.id} 解密失败,加入等待池: ${decryptResult.error}`);
|
|
494
349
|
this.waitingMessages.set(serverMsg.id, serverMsg);
|
|
495
|
-
// 不解密成功,不加入 acknowledgedIds,下次继续尝试
|
|
496
350
|
}
|
|
497
351
|
else {
|
|
498
|
-
// 永久失败,保存失败状态
|
|
499
352
|
console.error(`[Messenger] 消息 ${serverMsg.id} 解密永久失败: ${decryptResult.error}`);
|
|
500
353
|
this.failedMessages.set(serverMsg.id, {
|
|
501
354
|
message: serverMsg,
|
|
502
355
|
error: decryptResult.error || "Unknown error",
|
|
503
356
|
});
|
|
504
|
-
// 保存失败状态到存储
|
|
505
357
|
await this.saveFailedMessage(serverMsg, decryptResult.error || "Unknown error");
|
|
506
358
|
acknowledgedIds.push(serverMsg.id);
|
|
507
359
|
}
|
|
508
360
|
}
|
|
509
|
-
// 【优化】重新调度轮询(如果有等待消息,会切换到3秒快速模式)
|
|
510
361
|
if (this.waitingMessages.size > 0 && this.isPollingRunning) {
|
|
511
362
|
this.reschedulePolling();
|
|
512
363
|
}
|
|
513
|
-
// 5. 确认已处理的消息(带签名)
|
|
514
364
|
if (acknowledgedIds.length > 0 && this.userAddress) {
|
|
515
|
-
const ackTimestamp = Date.now();
|
|
365
|
+
const ackTimestamp = Date.now();
|
|
516
366
|
const ackNonce = this.generateNonce();
|
|
517
|
-
// 签名消息格式: ack_messages:{user}:{message_ids}:{public_key}:{timestamp}:{nonce}
|
|
518
367
|
const account = await (await getAccount()).get(this.userAddress, false);
|
|
519
368
|
if (account?.pubkey) {
|
|
520
369
|
const ackMessage = `ack_messages:${this.userAddress}:${acknowledgedIds.join(",")}:${account.pubkey}:${ackTimestamp}:${ackNonce}`;
|
|
@@ -530,17 +379,11 @@ export class Messenger {
|
|
|
530
379
|
});
|
|
531
380
|
}
|
|
532
381
|
}
|
|
533
|
-
// 6. 补充预密钥(poll方法会根据prekey_status来决定是否补充)
|
|
534
382
|
return {
|
|
535
383
|
messages: decryptedMessages,
|
|
536
384
|
prekey_status: response.prekey_status,
|
|
537
385
|
};
|
|
538
386
|
}
|
|
539
|
-
/**
|
|
540
|
-
* 获取最后发送的消息序号
|
|
541
|
-
* @param peerAddress 对方地址
|
|
542
|
-
* @returns 最后发送的消息 leafIndex,如果没有发送过返回 -1
|
|
543
|
-
*/
|
|
544
387
|
getLastSentLeafIndex(peerAddress) {
|
|
545
388
|
if (!this.userAddress)
|
|
546
389
|
return -1;
|
|
@@ -551,43 +394,26 @@ export class Messenger {
|
|
|
551
394
|
return -1;
|
|
552
395
|
return Math.max(...sentMessages.map((m) => m.leafIndex));
|
|
553
396
|
}
|
|
554
|
-
/**
|
|
555
|
-
* 获取会话历史消息
|
|
556
|
-
*/
|
|
557
397
|
getSessionMessages(peerAddress) {
|
|
558
398
|
if (!this.userAddress) {
|
|
559
399
|
return [];
|
|
560
400
|
}
|
|
561
401
|
return this.messageStorage.getMessagesBySession(this.userAddress, peerAddress);
|
|
562
402
|
}
|
|
563
|
-
/**
|
|
564
|
-
* 获取会话当前状态
|
|
565
|
-
*/
|
|
566
403
|
getSessionState(peerAddress) {
|
|
567
404
|
if (!this.userAddress) {
|
|
568
405
|
return undefined;
|
|
569
406
|
}
|
|
570
407
|
return this.sessionStateStorage.getSessionState(this.userAddress, peerAddress);
|
|
571
408
|
}
|
|
572
|
-
/**
|
|
573
|
-
* 提交链上证明
|
|
574
|
-
*
|
|
575
|
-
* 使用 proof.ts 将 Merkle Root 提交到链上,获得时间证明
|
|
576
|
-
*
|
|
577
|
-
* @param env CallEnv 环境
|
|
578
|
-
* @param peerAddress 对方地址
|
|
579
|
-
* @param description 证明描述
|
|
580
|
-
*/
|
|
581
409
|
async submitChainProof(env, peerAddress, description) {
|
|
582
410
|
if (!this.userAddress) {
|
|
583
411
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
584
412
|
}
|
|
585
|
-
// 获取当前会话状态
|
|
586
413
|
const sessionState = this.sessionStateStorage.getSessionState(this.userAddress, peerAddress);
|
|
587
414
|
if (!sessionState || !sessionState.currentRoot) {
|
|
588
415
|
throw new MessengerError(MessengerErrorCode.SESSION_NOT_ESTABLISHED, "No session state found");
|
|
589
416
|
}
|
|
590
|
-
// 从会话消息中获取服务器公钥和签名
|
|
591
417
|
const messages = this.messageStorage.getMessagesBySession(this.userAddress, peerAddress);
|
|
592
418
|
const lastMessage = messages[messages.length - 1];
|
|
593
419
|
if (!lastMessage ||
|
|
@@ -597,28 +423,24 @@ export class Messenger {
|
|
|
597
423
|
}
|
|
598
424
|
const serverPubKey = lastMessage.serverPublicKey;
|
|
599
425
|
const serverSignature = lastMessage.serverSignature;
|
|
600
|
-
// 构造证明数据
|
|
601
426
|
const proofData = {
|
|
602
427
|
sessionId: sessionState.sessionId,
|
|
603
428
|
merkleRoot: sessionState.currentRoot,
|
|
604
429
|
messageCount: sessionState.messageCount,
|
|
605
430
|
timestamp: Date.now(),
|
|
606
431
|
};
|
|
607
|
-
// 使用 CallProof 提交到链上
|
|
608
432
|
const { CallProof } = await import("../call/proof.js");
|
|
609
433
|
const callProof = new CallProof({
|
|
610
434
|
proof: JSON.stringify(proofData),
|
|
611
435
|
server_pubkey: serverPubKey,
|
|
612
436
|
server_signature: serverSignature,
|
|
613
|
-
proof_type: CHAIN_PROOF_TYPE,
|
|
437
|
+
proof_type: CHAIN_PROOF_TYPE,
|
|
614
438
|
description: description ||
|
|
615
439
|
`Messenger session proof for ${this.userAddress} <-> ${peerAddress}`,
|
|
616
440
|
item_count: sessionState.messageCount,
|
|
617
441
|
about_address: sessionState.sessionId,
|
|
618
442
|
});
|
|
619
443
|
const result = await callProof.call(env);
|
|
620
|
-
// 从结果中提取 proof 对象地址
|
|
621
|
-
// 这里需要根据实际的 CallProof 返回格式调整
|
|
622
444
|
const responseData = result?.objectChanges;
|
|
623
445
|
const proofAddress = responseData?.find((change) => change.objectType?.includes("Proof"))?.objectId;
|
|
624
446
|
return {
|
|
@@ -626,46 +448,20 @@ export class Messenger {
|
|
|
626
448
|
txHash: result?.digest || "",
|
|
627
449
|
};
|
|
628
450
|
}
|
|
629
|
-
/**
|
|
630
|
-
* 销毁 Messenger 实例
|
|
631
|
-
* 清理所有资源(定时器等)
|
|
632
|
-
*/
|
|
633
451
|
destroy() {
|
|
634
452
|
this.stopPollingTimer();
|
|
635
|
-
//console.log("Messenger instance destroyed");
|
|
636
453
|
}
|
|
637
|
-
/**
|
|
638
|
-
* 断开连接(destroy 的别名)
|
|
639
|
-
* 用于清理资源
|
|
640
|
-
*/
|
|
641
454
|
disconnect() {
|
|
642
455
|
this.destroy();
|
|
643
456
|
}
|
|
644
|
-
/**
|
|
645
|
-
* 设置新消息回调
|
|
646
|
-
* @param onMessage 新消息回调函数
|
|
647
|
-
*/
|
|
648
457
|
setOnMessageCallback(onMessage) {
|
|
649
458
|
this.onMessageCallback = onMessage;
|
|
650
459
|
}
|
|
651
|
-
/**
|
|
652
|
-
* 发送 ZIP 压缩文件
|
|
653
|
-
*
|
|
654
|
-
* 支持发送本地或网络 WTS/WIP 文件,经过 ZIP 压缩后发送给对方
|
|
655
|
-
* 支持 Guard 验证,如果提供 guardAddress 和 passportAddress,消息将进入 Guard 验证流程
|
|
656
|
-
*
|
|
657
|
-
* @param recipientAddress 接收方地址
|
|
658
|
-
* @param source 文件源(本地路径或网络 URL)
|
|
659
|
-
* @param options 可选参数
|
|
660
|
-
* @returns 发送结果
|
|
661
|
-
*/
|
|
662
460
|
async sendZipFile(recipientAddress, source, options) {
|
|
663
461
|
if (!this.userAddress) {
|
|
664
462
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
665
463
|
}
|
|
666
|
-
// 1. 加载文件内容
|
|
667
464
|
const fileData = await this.loadFileData(source);
|
|
668
|
-
// 2. 创建 ZIP 压缩
|
|
669
465
|
const { ZipWriter, BlobWriter, Uint8ArrayReader } = await import("@zip.js/zip.js");
|
|
670
466
|
const fileName = options?.fileName || path.basename(source) || "file.zip";
|
|
671
467
|
const contentType = options?.contentType || this.detectContentType(fileName);
|
|
@@ -675,36 +471,25 @@ export class Messenger {
|
|
|
675
471
|
await zipWriter.close();
|
|
676
472
|
const zipFileBlob = await zipFileWriter.getData();
|
|
677
473
|
const zipBlob = new Uint8Array(await zipFileBlob.arrayBuffer());
|
|
678
|
-
// 3. 本地文件大小限制检查(默认 5MB)
|
|
679
474
|
if (zipBlob.length > WTS_FILE_BYTES_LIMIT) {
|
|
680
475
|
throw new MessengerError(MessengerErrorCode.INVALID_INPUT, `ZIP file size (${zipBlob.length} bytes) exceeds local maximum allowed size (${WTS_FILE_BYTES_LIMIT} bytes)`);
|
|
681
476
|
}
|
|
682
|
-
// 4. 计算 ZIP 文件哈希(用于 zipMetadata)
|
|
683
477
|
const zipFileHash = "0x" + createHash("sha256").update(zipBlob).digest("hex");
|
|
684
|
-
// 4. 将 ZIP 数据转为 base64
|
|
685
478
|
const zipBase64 = Buffer.from(zipBlob).toString("base64");
|
|
686
|
-
// 5. 构造 ZIP 元数据
|
|
687
479
|
const zipMetadata = {
|
|
688
480
|
fileName: `${fileName}.zip`,
|
|
689
481
|
fileSize: zipBlob.length,
|
|
690
482
|
fileHash: zipFileHash,
|
|
691
483
|
contentType: contentType,
|
|
692
484
|
};
|
|
693
|
-
// 【关键修复】发送前先拉取对方发送的最新消息
|
|
694
|
-
// 确保 lastReceivedLeafIndex 包含所有已解密的消息
|
|
695
485
|
await this.pullMessages();
|
|
696
|
-
// 【新增】获取最后收到的消息序号
|
|
697
486
|
const lastReceivedLeafIndex = this.messageStorage.getLastReceivedLeafIndex(this.userAddress, recipientAddress);
|
|
698
|
-
// 6. 加密 ZIP 数据(作为普通消息发送,明文就是 ZIP 的 base64)
|
|
699
487
|
const createdAt = Date.now();
|
|
700
488
|
const encrypted = await this.session.encryptMessage(this.userAddress, recipientAddress, zipBase64);
|
|
701
489
|
const ciphertext = Buffer.from(new Uint8Array(encrypted.body)).toString("base64");
|
|
702
|
-
// 7. 计算 plaintextHash(使用与服务器一致的格式)
|
|
703
|
-
// 【更新】包含 lastReceivedLeafIndex 在哈希计算中
|
|
704
490
|
const guardAddr = options?.guardAddress || "";
|
|
705
491
|
const passportAddr = options?.passportAddress || "";
|
|
706
492
|
const plaintextHash = hashPlaintext(zipBase64, createdAt, guardAddr, passportAddr, lastReceivedLeafIndex);
|
|
707
|
-
// 8. 发送到服务器(带 ZIP 元数据)
|
|
708
493
|
const timestamp = Date.now();
|
|
709
494
|
const nonce = this.generateNonce();
|
|
710
495
|
const account = await (await getAccount()).get(this.userAddress, false);
|
|
@@ -712,27 +497,23 @@ export class Messenger {
|
|
|
712
497
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User account not found");
|
|
713
498
|
}
|
|
714
499
|
const publicKey = account.pubkey;
|
|
715
|
-
// 统一发送模式(合并 send 和 send_force)
|
|
716
|
-
// 统一签名格式: send_message:{sender}:{recipient}:{guard_address}:{passport_address}:{plaintext_hash}:{last_received_leaf_index}:{public_key}:{timestamp}:{nonce}:{force}
|
|
717
500
|
const lastReceivedStr = lastReceivedLeafIndex >= 0 ? lastReceivedLeafIndex.toString() : "";
|
|
718
501
|
const forceStr = options?.force ? "true" : "false";
|
|
719
502
|
const signMessage = `send_message:${this.userAddress}:${recipientAddress}:${guardAddr}:${passportAddr}:${plaintextHash}:${lastReceivedStr}:${publicKey}:${timestamp}:${nonce}:${forceStr}`;
|
|
720
503
|
const signResult = await (await getAccount()).signData(this.userAddress, signMessage);
|
|
721
504
|
const signatureBuffer = Buffer.from(signResult.signature.slice(2), "hex");
|
|
722
505
|
const signatureBase64 = bytesToBase64(new Uint8Array(signatureBuffer));
|
|
723
|
-
// 使用统一的 sendMessage API
|
|
724
506
|
const response = await this.serverClient.sendMessage({
|
|
725
507
|
sender: signResult.publicKey,
|
|
726
508
|
recipient: recipientAddress,
|
|
727
509
|
ciphertext,
|
|
728
510
|
plaintextHash,
|
|
729
511
|
clientTimestamp: createdAt,
|
|
730
|
-
msgType: encrypted.type,
|
|
512
|
+
msgType: encrypted.type,
|
|
731
513
|
zipMetadata,
|
|
732
514
|
guardAddress: options?.guardAddress,
|
|
733
515
|
passportAddress: options?.passportAddress,
|
|
734
516
|
force: options?.force,
|
|
735
|
-
// 【修复】只有当 lastReceivedLeafIndex >= 0 时才发送,否则发送 undefined
|
|
736
517
|
lastReceivedLeafIndex: lastReceivedLeafIndex >= 0
|
|
737
518
|
? lastReceivedLeafIndex
|
|
738
519
|
: undefined,
|
|
@@ -741,22 +522,20 @@ export class Messenger {
|
|
|
741
522
|
timestamp,
|
|
742
523
|
nonce,
|
|
743
524
|
});
|
|
744
|
-
// 9. 保存到本地存储
|
|
745
|
-
// 使用底层 Signal Protocol 消息类型(1 或 3),通过 zipMetadata 标识这是 ZIP 文件
|
|
746
525
|
const message = {
|
|
747
526
|
messageId: response.messageId,
|
|
748
527
|
fromAddress: this.userAddress,
|
|
749
528
|
toAddress: recipientAddress,
|
|
750
529
|
plaintextHash,
|
|
751
|
-
plaintext: zipBase64,
|
|
530
|
+
plaintext: zipBase64,
|
|
752
531
|
guardAddress: options?.guardAddress,
|
|
753
532
|
passportAddress: options?.passportAddress,
|
|
754
|
-
lastReceivedLeafIndex,
|
|
533
|
+
lastReceivedLeafIndex,
|
|
755
534
|
direction: MessageDirection.SENT,
|
|
756
535
|
status: response.status === "confirmed"
|
|
757
536
|
? MessageStatus.CONFIRMED
|
|
758
537
|
: MessageStatus.PENDING,
|
|
759
|
-
msgType: encrypted.type,
|
|
538
|
+
msgType: encrypted.type,
|
|
760
539
|
zipMetadata,
|
|
761
540
|
createdAt,
|
|
762
541
|
};
|
|
@@ -767,7 +546,6 @@ export class Messenger {
|
|
|
767
546
|
message.serverSignature = response.merkleData.serverSignature;
|
|
768
547
|
message.serverTimestamp = response.merkleData.serverTimestamp;
|
|
769
548
|
message.serverPublicKey = response.merkleData.serverPublicKey;
|
|
770
|
-
// 更新会话状态
|
|
771
549
|
this.sessionStateStorage.updateSessionState(this.userAddress, recipientAddress, {
|
|
772
550
|
currentRoot: response.merkleData.newRoot,
|
|
773
551
|
prevRoot: response.merkleData.prevRoot,
|
|
@@ -776,15 +554,11 @@ export class Messenger {
|
|
|
776
554
|
});
|
|
777
555
|
}
|
|
778
556
|
this.messageStorage.saveMessage(message);
|
|
779
|
-
// 方案B:处理服务器返回的其他已验证消息的 Merkle 数据
|
|
780
|
-
// 这些消息可能之前因为发送方离线而没有收到 Merkle 数据
|
|
781
557
|
if (response.pendingMerkleData) {
|
|
782
558
|
for (const [msgId, merkleData] of Object.entries(response.pendingMerkleData)) {
|
|
783
|
-
// 检查本地是否已有该消息
|
|
784
559
|
const existingMsg = this.messageStorage.getMessage(msgId);
|
|
785
560
|
if (existingMsg &&
|
|
786
561
|
existingMsg.status === MessageStatus.PENDING) {
|
|
787
|
-
// 更新消息的 Merkle 数据
|
|
788
562
|
this.messageStorage.updateMessageStatus(msgId, MessageStatus.CONFIRMED, {
|
|
789
563
|
leafIndex: merkleData.leafIndex,
|
|
790
564
|
newRoot: merkleData.newRoot,
|
|
@@ -792,9 +566,6 @@ export class Messenger {
|
|
|
792
566
|
serverTimestamp: merkleData.serverTimestamp,
|
|
793
567
|
serverPublicKey: merkleData.serverPublicKey,
|
|
794
568
|
});
|
|
795
|
-
/*console.log(
|
|
796
|
-
`[ForceSend] Updated pending message ${msgId} with merkle data from pendingMerkleData`,
|
|
797
|
-
);*/
|
|
798
569
|
}
|
|
799
570
|
}
|
|
800
571
|
}
|
|
@@ -807,13 +578,8 @@ export class Messenger {
|
|
|
807
578
|
lastReceivedLeafIndex: lastReceivedLeafIndex >= 0 ? lastReceivedLeafIndex : undefined,
|
|
808
579
|
};
|
|
809
580
|
}
|
|
810
|
-
/**
|
|
811
|
-
* 加载文件数据(支持本地路径和网络 URL)
|
|
812
|
-
*/
|
|
813
581
|
async loadFileData(source) {
|
|
814
|
-
// 判断是否为网络 URL
|
|
815
582
|
if (source.startsWith("http://") || source.startsWith("https://")) {
|
|
816
|
-
// 从网络加载
|
|
817
583
|
const response = await fetch(source);
|
|
818
584
|
if (!response.ok) {
|
|
819
585
|
throw new MessengerError(MessengerErrorCode.NETWORK_ERROR, `Failed to fetch file from ${source}: ${response.statusText}`);
|
|
@@ -821,7 +587,6 @@ export class Messenger {
|
|
|
821
587
|
const arrayBuffer = await response.arrayBuffer();
|
|
822
588
|
return new Uint8Array(arrayBuffer);
|
|
823
589
|
}
|
|
824
|
-
// 从本地文件加载
|
|
825
590
|
const resolvedPath = path.resolve(source);
|
|
826
591
|
if (!fs.existsSync(resolvedPath)) {
|
|
827
592
|
throw new MessengerError(MessengerErrorCode.FILE_NOT_FOUND, `File not found: ${resolvedPath}`);
|
|
@@ -829,9 +594,6 @@ export class Messenger {
|
|
|
829
594
|
const buffer = fs.readFileSync(resolvedPath);
|
|
830
595
|
return new Uint8Array(buffer);
|
|
831
596
|
}
|
|
832
|
-
/**
|
|
833
|
-
* 检测内容类型
|
|
834
|
-
*/
|
|
835
597
|
detectContentType(fileName) {
|
|
836
598
|
const ext = path.extname(fileName).toLowerCase();
|
|
837
599
|
switch (ext) {
|
|
@@ -843,9 +605,6 @@ export class Messenger {
|
|
|
843
605
|
return "zip";
|
|
844
606
|
}
|
|
845
607
|
}
|
|
846
|
-
/**
|
|
847
|
-
* 生成签名的请求
|
|
848
|
-
*/
|
|
849
608
|
async _createSignedRequest(data) {
|
|
850
609
|
if (!this.userAddress) {
|
|
851
610
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -857,7 +616,6 @@ export class Messenger {
|
|
|
857
616
|
const signResult = await (await getAccount()).signData(this.userAddress, signMessage);
|
|
858
617
|
const signatureBuffer = Buffer.from(signResult.signature.slice(2), "hex");
|
|
859
618
|
const signatureBase64 = bytesToBase64(new Uint8Array(signatureBuffer));
|
|
860
|
-
// 获取公钥(带标志位)用于服务器验证
|
|
861
619
|
const account = await (await getAccount()).get(this.userAddress, false);
|
|
862
620
|
if (!account || !account.pubkey) {
|
|
863
621
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "Account public key not found");
|
|
@@ -872,9 +630,6 @@ export class Messenger {
|
|
|
872
630
|
data,
|
|
873
631
|
};
|
|
874
632
|
}
|
|
875
|
-
/**
|
|
876
|
-
* 验证地址列表
|
|
877
|
-
*/
|
|
878
633
|
_validateAddresses(addresses) {
|
|
879
634
|
const valid = [];
|
|
880
635
|
const invalid = [];
|
|
@@ -888,9 +643,6 @@ export class Messenger {
|
|
|
888
643
|
}
|
|
889
644
|
return { valid, invalid };
|
|
890
645
|
}
|
|
891
|
-
/**
|
|
892
|
-
* 黑名单 - 添加地址
|
|
893
|
-
*/
|
|
894
646
|
async addToBlacklist(addresses) {
|
|
895
647
|
if (!this.userAddress) {
|
|
896
648
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -911,9 +663,6 @@ export class Messenger {
|
|
|
911
663
|
const signedRequest = await this._createSignedRequest(data);
|
|
912
664
|
return this.serverClient.addToBlacklist(this.userAddress, signedRequest);
|
|
913
665
|
}
|
|
914
|
-
/**
|
|
915
|
-
* 黑名单 - 移除地址
|
|
916
|
-
*/
|
|
917
666
|
async removeFromBlacklist(addresses) {
|
|
918
667
|
if (!this.userAddress) {
|
|
919
668
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -934,9 +683,6 @@ export class Messenger {
|
|
|
934
683
|
const signedRequest = await this._createSignedRequest(data);
|
|
935
684
|
return this.serverClient.removeFromBlacklist(this.userAddress, signedRequest);
|
|
936
685
|
}
|
|
937
|
-
/**
|
|
938
|
-
* 黑名单 - 清空
|
|
939
|
-
*/
|
|
940
686
|
async clearBlacklist() {
|
|
941
687
|
if (!this.userAddress) {
|
|
942
688
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -945,9 +691,6 @@ export class Messenger {
|
|
|
945
691
|
const signedRequest = await this._createSignedRequest(data);
|
|
946
692
|
return this.serverClient.clearBlacklist(this.userAddress, signedRequest);
|
|
947
693
|
}
|
|
948
|
-
/**
|
|
949
|
-
* 黑名单 - 获取列表
|
|
950
|
-
*/
|
|
951
694
|
async getBlacklist() {
|
|
952
695
|
if (!this.userAddress) {
|
|
953
696
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -955,9 +698,6 @@ export class Messenger {
|
|
|
955
698
|
const signedRequest = await this._createSignedRequest({});
|
|
956
699
|
return this.serverClient.getBlacklist(this.userAddress, signedRequest);
|
|
957
700
|
}
|
|
958
|
-
/**
|
|
959
|
-
* 黑名单 - 检查存在
|
|
960
|
-
*/
|
|
961
701
|
async existInBlacklist(addresses) {
|
|
962
702
|
if (!this.userAddress) {
|
|
963
703
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -978,9 +718,6 @@ export class Messenger {
|
|
|
978
718
|
const signedRequest = await this._createSignedRequest(data);
|
|
979
719
|
return this.serverClient.existInBlacklist(this.userAddress, signedRequest);
|
|
980
720
|
}
|
|
981
|
-
/**
|
|
982
|
-
* 好友列表 - 添加地址
|
|
983
|
-
*/
|
|
984
721
|
async addToFriendsList(addresses) {
|
|
985
722
|
if (!this.userAddress) {
|
|
986
723
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -1001,9 +738,6 @@ export class Messenger {
|
|
|
1001
738
|
const signedRequest = await this._createSignedRequest(data);
|
|
1002
739
|
return this.serverClient.addToFriendsList(this.userAddress, signedRequest);
|
|
1003
740
|
}
|
|
1004
|
-
/**
|
|
1005
|
-
* 好友列表 - 移除地址
|
|
1006
|
-
*/
|
|
1007
741
|
async removeFromFriendsList(addresses) {
|
|
1008
742
|
if (!this.userAddress) {
|
|
1009
743
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -1024,9 +758,6 @@ export class Messenger {
|
|
|
1024
758
|
const signedRequest = await this._createSignedRequest(data);
|
|
1025
759
|
return this.serverClient.removeFromFriendsList(this.userAddress, signedRequest);
|
|
1026
760
|
}
|
|
1027
|
-
/**
|
|
1028
|
-
* 好友列表 - 清空
|
|
1029
|
-
*/
|
|
1030
761
|
async clearFriendsList() {
|
|
1031
762
|
if (!this.userAddress) {
|
|
1032
763
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -1035,9 +766,6 @@ export class Messenger {
|
|
|
1035
766
|
const signedRequest = await this._createSignedRequest(data);
|
|
1036
767
|
return this.serverClient.clearFriendsList(this.userAddress, signedRequest);
|
|
1037
768
|
}
|
|
1038
|
-
/**
|
|
1039
|
-
* 好友列表 - 获取列表
|
|
1040
|
-
*/
|
|
1041
769
|
async getFriendsList() {
|
|
1042
770
|
if (!this.userAddress) {
|
|
1043
771
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -1045,9 +773,6 @@ export class Messenger {
|
|
|
1045
773
|
const signedRequest = await this._createSignedRequest({});
|
|
1046
774
|
return this.serverClient.getFriendsList(this.userAddress, signedRequest);
|
|
1047
775
|
}
|
|
1048
|
-
/**
|
|
1049
|
-
* 好友列表 - 检查存在
|
|
1050
|
-
*/
|
|
1051
776
|
async existInFriendsList(addresses) {
|
|
1052
777
|
if (!this.userAddress) {
|
|
1053
778
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -1068,9 +793,6 @@ export class Messenger {
|
|
|
1068
793
|
const signedRequest = await this._createSignedRequest(data);
|
|
1069
794
|
return this.serverClient.existInFriendsList(this.userAddress, signedRequest);
|
|
1070
795
|
}
|
|
1071
|
-
/**
|
|
1072
|
-
* Guard 列表 - 添加
|
|
1073
|
-
*/
|
|
1074
796
|
async addToGuardList(guards) {
|
|
1075
797
|
if (!this.userAddress) {
|
|
1076
798
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -1079,9 +801,6 @@ export class Messenger {
|
|
|
1079
801
|
const signedRequest = await this._createSignedRequest(data);
|
|
1080
802
|
return this.serverClient.addToGuardList(this.userAddress, signedRequest);
|
|
1081
803
|
}
|
|
1082
|
-
/**
|
|
1083
|
-
* Guard 列表 - 移除
|
|
1084
|
-
*/
|
|
1085
804
|
async removeFromGuardList(addresses) {
|
|
1086
805
|
if (!this.userAddress) {
|
|
1087
806
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -1102,9 +821,6 @@ export class Messenger {
|
|
|
1102
821
|
const signedRequest = await this._createSignedRequest(data);
|
|
1103
822
|
return this.serverClient.removeFromGuardList(this.userAddress, signedRequest);
|
|
1104
823
|
}
|
|
1105
|
-
/**
|
|
1106
|
-
* Guard 列表 - 获取列表
|
|
1107
|
-
*/
|
|
1108
824
|
async getGuardList() {
|
|
1109
825
|
if (!this.userAddress) {
|
|
1110
826
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -1112,9 +828,6 @@ export class Messenger {
|
|
|
1112
828
|
const signedRequest = await this._createSignedRequest({});
|
|
1113
829
|
return this.serverClient.getGuardList(this.userAddress, signedRequest);
|
|
1114
830
|
}
|
|
1115
|
-
/**
|
|
1116
|
-
* 获取用户设置
|
|
1117
|
-
*/
|
|
1118
831
|
async getSettings() {
|
|
1119
832
|
if (!this.userAddress) {
|
|
1120
833
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
@@ -1122,14 +835,10 @@ export class Messenger {
|
|
|
1122
835
|
const signedRequest = await this._createSignedRequest({});
|
|
1123
836
|
return this.serverClient.getSettings(this.userAddress, signedRequest);
|
|
1124
837
|
}
|
|
1125
|
-
/**
|
|
1126
|
-
* 设置用户设置
|
|
1127
|
-
*/
|
|
1128
838
|
async setSettings(settings) {
|
|
1129
839
|
if (!this.userAddress) {
|
|
1130
840
|
throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, "User address not set");
|
|
1131
841
|
}
|
|
1132
|
-
// 构造完整请求对象
|
|
1133
842
|
const fullSettings = {
|
|
1134
843
|
allowStrangerMessages: settings.allowStrangerMessages,
|
|
1135
844
|
maxInboxSize: settings.maxInboxSize,
|
|
@@ -1137,19 +846,11 @@ export class Messenger {
|
|
|
1137
846
|
const signedRequest = await this._createSignedRequest(fullSettings);
|
|
1138
847
|
return this.serverClient.updateSettings(this.userAddress, signedRequest);
|
|
1139
848
|
}
|
|
1140
|
-
// ========== 【新增】Skip Keys 和消息池相关方法 ==========
|
|
1141
|
-
/**
|
|
1142
|
-
* 尝试解密单条消息
|
|
1143
|
-
* @param serverMsg 服务器消息
|
|
1144
|
-
* @returns 解密结果
|
|
1145
|
-
*/
|
|
1146
849
|
async tryDecryptMessage(serverMsg) {
|
|
1147
850
|
try {
|
|
1148
|
-
// 1. 使用新的解密引擎解密消息
|
|
1149
851
|
const ciphertext = Uint8Array.from(Buffer.from(serverMsg.bodyB64, "base64"));
|
|
1150
852
|
const decryptResult = await this.decryptionEngine.decryptMessage(this.userAddress, serverMsg.from, ciphertext.buffer, serverMsg.msgType);
|
|
1151
853
|
if (!decryptResult.success) {
|
|
1152
|
-
// 解密失败,判断是否应该重试
|
|
1153
854
|
const shouldRetry = this.isRetryableError(decryptResult.error || "");
|
|
1154
855
|
return {
|
|
1155
856
|
success: false,
|
|
@@ -1159,7 +860,6 @@ export class Messenger {
|
|
|
1159
860
|
};
|
|
1160
861
|
}
|
|
1161
862
|
const plaintext = decryptResult.plaintext;
|
|
1162
|
-
// 2. 验证消息
|
|
1163
863
|
if (!serverMsg.clientTimestamp) {
|
|
1164
864
|
throw new Error(`Missing clientTimestamp for message ${serverMsg.id}`);
|
|
1165
865
|
}
|
|
@@ -1190,7 +890,6 @@ export class Messenger {
|
|
|
1190
890
|
if (!verificationResult.valid) {
|
|
1191
891
|
throw new Error(verificationResult.error);
|
|
1192
892
|
}
|
|
1193
|
-
// 3. 构造消息对象
|
|
1194
893
|
const message = {
|
|
1195
894
|
messageId: serverMsg.id,
|
|
1196
895
|
fromAddress: serverMsg.from,
|
|
@@ -1213,7 +912,6 @@ export class Messenger {
|
|
|
1213
912
|
receivedAt: Date.now(),
|
|
1214
913
|
zipMetadata: serverMsg.zipMetadata,
|
|
1215
914
|
};
|
|
1216
|
-
// 4. 更新会话状态
|
|
1217
915
|
if (serverMsg.merkleMetadata) {
|
|
1218
916
|
this.sessionStateStorage.updateSessionState(this.userAddress, serverMsg.from, {
|
|
1219
917
|
currentRoot: serverMsg.merkleMetadata.newRoot,
|
|
@@ -1225,7 +923,6 @@ export class Messenger {
|
|
|
1225
923
|
const timestamp = serverMsg.merkleMetadata?.serverTimestamp ||
|
|
1226
924
|
serverMsg.clientTimestamp ||
|
|
1227
925
|
Date.now();
|
|
1228
|
-
// 【新增】根据收到的 lastReceivedLeafIndex,更新我发送的消息状态
|
|
1229
926
|
if (serverMsg.lastReceivedLeafIndex !== undefined &&
|
|
1230
927
|
serverMsg.lastReceivedLeafIndex >= 0) {
|
|
1231
928
|
const mySentMessages = this.messageStorage
|
|
@@ -1260,7 +957,6 @@ export class Messenger {
|
|
|
1260
957
|
}
|
|
1261
958
|
catch (error) {
|
|
1262
959
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
1263
|
-
// 判断是否应该重试(Skip Keys 机制)
|
|
1264
960
|
const shouldRetry = this.isRetryableError(errorMessage);
|
|
1265
961
|
return {
|
|
1266
962
|
success: false,
|
|
@@ -1269,37 +965,24 @@ export class Messenger {
|
|
|
1269
965
|
};
|
|
1270
966
|
}
|
|
1271
967
|
}
|
|
1272
|
-
/**
|
|
1273
|
-
* 判断错误是否可重试(Skip Keys 机制)
|
|
1274
|
-
* @param errorMessage 错误信息
|
|
1275
|
-
* @returns 是否可重试
|
|
1276
|
-
*/
|
|
1277
968
|
isRetryableError(errorMessage) {
|
|
1278
|
-
// Signal Protocol 内部已经处理了 Skip Keys
|
|
1279
|
-
// 这里的错误通常是更严重的错误
|
|
1280
969
|
const retryablePatterns = [
|
|
1281
970
|
/message number/i,
|
|
1282
971
|
/chain key/i,
|
|
1283
972
|
/session not found/i,
|
|
1284
973
|
/prekey not found/i,
|
|
1285
|
-
/PREKEY 竞争:我的地址较小,保留我的会话/i,
|
|
1286
|
-
/The operation failed for an operation-specific reason/i,
|
|
1287
|
-
/DOMException/i,
|
|
1288
|
-
/收到 WHISPER_MESSAGE 但无现有会话,需要等待 PREKEY_MESSAGE/i,
|
|
974
|
+
/PREKEY 竞争:我的地址较小,保留我的会话/i,
|
|
975
|
+
/The operation failed for an operation-specific reason/i,
|
|
976
|
+
/DOMException/i,
|
|
977
|
+
/收到 WHISPER_MESSAGE 但无现有会话,需要等待 PREKEY_MESSAGE/i,
|
|
1289
978
|
];
|
|
1290
979
|
return retryablePatterns.some((pattern) => pattern.test(errorMessage));
|
|
1291
980
|
}
|
|
1292
|
-
/**
|
|
1293
|
-
* 处理 waitingMessages 池中的消息
|
|
1294
|
-
* @param decryptedMessages 解密成功的消息列表
|
|
1295
|
-
* @param acknowledgedIds 已确认的消息ID列表
|
|
1296
|
-
*/
|
|
1297
981
|
async processWaitingMessages(decryptedMessages, acknowledgedIds) {
|
|
1298
982
|
if (this.waitingMessages.size === 0)
|
|
1299
983
|
return;
|
|
1300
984
|
console.log(`[Messenger] 尝试处理 ${this.waitingMessages.size} 条等待消息`);
|
|
1301
985
|
const processedIds = [];
|
|
1302
|
-
// 对等待消息按 clientTimestamp 排序(发送方本地时间)
|
|
1303
986
|
const sortedWaitingMsgs = Array.from(this.waitingMessages.values()).sort(function (a, b) {
|
|
1304
987
|
return (a.clientTimestamp || 0) - (b.clientTimestamp || 0);
|
|
1305
988
|
});
|
|
@@ -1309,16 +992,13 @@ export class Messenger {
|
|
|
1309
992
|
if (decryptResult.success &&
|
|
1310
993
|
decryptResult.message &&
|
|
1311
994
|
decryptResult.decryptedData) {
|
|
1312
|
-
// 解密成功
|
|
1313
995
|
this.messageStorage.saveMessage(decryptResult.message);
|
|
1314
996
|
decryptedMessages.push(decryptResult.decryptedData);
|
|
1315
997
|
acknowledgedIds.push(id);
|
|
1316
998
|
processedIds.push(id);
|
|
1317
|
-
// 清除重试计数
|
|
1318
999
|
this.waitingMessageRetries.delete(id);
|
|
1319
1000
|
}
|
|
1320
1001
|
else if (!decryptResult.shouldRetry) {
|
|
1321
|
-
// 永久失败
|
|
1322
1002
|
console.error(`[Messenger] 等待消息 ${id} 解密永久失败: ${decryptResult.error}`);
|
|
1323
1003
|
this.failedMessages.set(id, {
|
|
1324
1004
|
message: serverMsg,
|
|
@@ -1327,15 +1007,12 @@ export class Messenger {
|
|
|
1327
1007
|
await this.saveFailedMessage(serverMsg, decryptResult.error || "Unknown error");
|
|
1328
1008
|
acknowledgedIds.push(id);
|
|
1329
1009
|
processedIds.push(id);
|
|
1330
|
-
// 清除重试计数
|
|
1331
1010
|
this.waitingMessageRetries.delete(id);
|
|
1332
1011
|
}
|
|
1333
1012
|
else {
|
|
1334
|
-
// 需要重试,增加重试计数
|
|
1335
1013
|
const currentRetries = this.waitingMessageRetries.get(id) || 0;
|
|
1336
1014
|
const newRetries = currentRetries + 1;
|
|
1337
1015
|
if (newRetries >= 3) {
|
|
1338
|
-
// 超过3次重试,标记为永久失败
|
|
1339
1016
|
console.error(`[Messenger] 等待消息 ${id} 重试3次后仍失败,标记为永久失败`);
|
|
1340
1017
|
this.failedMessages.set(id, {
|
|
1341
1018
|
message: serverMsg,
|
|
@@ -1347,13 +1024,11 @@ export class Messenger {
|
|
|
1347
1024
|
this.waitingMessageRetries.delete(id);
|
|
1348
1025
|
}
|
|
1349
1026
|
else {
|
|
1350
|
-
// 保留在 waitingMessages 中,等待下次重试
|
|
1351
1027
|
this.waitingMessageRetries.set(id, newRetries);
|
|
1352
1028
|
console.log(`[Messenger] 消息 ${id} 第 ${newRetries}/3 次重试失败,继续等待`);
|
|
1353
1029
|
}
|
|
1354
1030
|
}
|
|
1355
1031
|
}
|
|
1356
|
-
// 从 waitingMessages 中移除已处理的消息
|
|
1357
1032
|
for (const id of processedIds) {
|
|
1358
1033
|
this.waitingMessages.delete(id);
|
|
1359
1034
|
}
|
|
@@ -1361,11 +1036,6 @@ export class Messenger {
|
|
|
1361
1036
|
console.log(`[Messenger] 成功处理 ${processedIds.length} 条等待消息`);
|
|
1362
1037
|
}
|
|
1363
1038
|
}
|
|
1364
|
-
/**
|
|
1365
|
-
* 保存解密失败的消息
|
|
1366
|
-
* @param serverMsg 服务器消息
|
|
1367
|
-
* @param error 错误信息
|
|
1368
|
-
*/
|
|
1369
1039
|
async saveFailedMessage(serverMsg, error) {
|
|
1370
1040
|
const failedMessage = {
|
|
1371
1041
|
messageId: serverMsg.id,
|
|
@@ -1393,9 +1063,6 @@ export class Messenger {
|
|
|
1393
1063
|
};
|
|
1394
1064
|
this.messageStorage.saveMessage(failedMessage);
|
|
1395
1065
|
}
|
|
1396
|
-
/**
|
|
1397
|
-
* 重新调度轮询(用于切换到快速模式)
|
|
1398
|
-
*/
|
|
1399
1066
|
reschedulePolling() {
|
|
1400
1067
|
if (!this.isPollingRunning || !this.pollingTimer)
|
|
1401
1068
|
return;
|
|
@@ -1404,10 +1071,6 @@ export class Messenger {
|
|
|
1404
1071
|
this.pollingTimer = null;
|
|
1405
1072
|
this.scheduleNextPoll();
|
|
1406
1073
|
}
|
|
1407
|
-
/**
|
|
1408
|
-
* 获取解密失败的消息(供用户决策重发)
|
|
1409
|
-
* @returns 失败消息列表
|
|
1410
|
-
*/
|
|
1411
1074
|
getFailedMessages() {
|
|
1412
1075
|
return Array.from(this.failedMessages.entries()).map(([id, data]) => ({
|
|
1413
1076
|
messageId: id,
|
|
@@ -1416,10 +1079,6 @@ export class Messenger {
|
|
|
1416
1079
|
leafIndex: data.message.merkleMetadata?.leafIndex,
|
|
1417
1080
|
}));
|
|
1418
1081
|
}
|
|
1419
|
-
/**
|
|
1420
|
-
* 清除解密失败的消息记录
|
|
1421
|
-
* @param messageId 消息ID(可选,不提供则清除所有)
|
|
1422
|
-
*/
|
|
1423
1082
|
clearFailedMessages(messageId) {
|
|
1424
1083
|
if (messageId) {
|
|
1425
1084
|
this.failedMessages.delete(messageId);
|
|
@@ -1428,12 +1087,7 @@ export class Messenger {
|
|
|
1428
1087
|
this.failedMessages.clear();
|
|
1429
1088
|
}
|
|
1430
1089
|
}
|
|
1431
|
-
/**
|
|
1432
|
-
* 获取等待解密的消息数量
|
|
1433
|
-
* @returns 等待消息数量
|
|
1434
|
-
*/
|
|
1435
1090
|
getWaitingMessageCount() {
|
|
1436
1091
|
return this.waitingMessages.size;
|
|
1437
1092
|
}
|
|
1438
1093
|
}
|
|
1439
|
-
//# sourceMappingURL=messenger.js.map
|