wowok 2.1.9 → 2.1.12
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/NOTICE +46 -0
- package/dist/cjs/bcs/bcs.d.ts +199 -199
- package/dist/cjs/bcs/bcs.js +273 -318
- package/dist/cjs/bcs/bcs.js.map +1 -0
- package/dist/cjs/bcs/effects.d.ts +109 -109
- package/dist/cjs/bcs/effects.js +205 -230
- package/dist/cjs/bcs/effects.js.map +1 -0
- package/dist/cjs/bcs/index.d.ts +1 -2584
- package/dist/cjs/bcs/index.js +61 -76
- package/dist/cjs/bcs/index.js.map +1 -0
- package/dist/cjs/bcs/pure.js +38 -58
- package/dist/cjs/bcs/pure.js.map +1 -0
- package/dist/cjs/bcs/type-tag-serializer.js +102 -114
- package/dist/cjs/bcs/type-tag-serializer.js.map +1 -0
- package/dist/cjs/bcs/types.js +6 -23
- package/dist/cjs/bcs/types.js.map +1 -0
- package/dist/cjs/client/index.js +17 -33
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/client/network.js +25 -40
- package/dist/cjs/client/network.js.map +1 -0
- package/dist/cjs/cryptography/index.js +29 -45
- package/dist/cjs/cryptography/index.js.map +1 -0
- package/dist/cjs/cryptography/intent.d.ts +1 -1
- package/dist/cjs/cryptography/intent.js +20 -31
- package/dist/cjs/cryptography/intent.js.map +1 -0
- package/dist/cjs/cryptography/keypair.js +102 -116
- package/dist/cjs/cryptography/keypair.js.map +1 -0
- package/dist/cjs/cryptography/mnemonics.js +43 -41
- package/dist/cjs/cryptography/mnemonics.js.map +1 -0
- package/dist/cjs/cryptography/publickey.js +112 -134
- package/dist/cjs/cryptography/publickey.js.map +1 -0
- package/dist/cjs/cryptography/signature-scheme.js +24 -43
- package/dist/cjs/cryptography/signature-scheme.js.map +1 -0
- package/dist/cjs/cryptography/signature.d.ts +2 -24
- package/dist/cjs/cryptography/signature.js +50 -67
- package/dist/cjs/cryptography/signature.js.map +1 -0
- package/dist/cjs/experimental/cache.js +65 -0
- package/dist/cjs/experimental/cache.js.map +1 -0
- package/dist/cjs/experimental/client.js +27 -0
- package/dist/cjs/experimental/client.js.map +1 -0
- package/dist/cjs/experimental/core.js +89 -0
- package/dist/cjs/experimental/core.js.map +1 -0
- package/dist/cjs/experimental/errors.js +32 -0
- package/dist/cjs/experimental/errors.js.map +1 -0
- package/dist/cjs/experimental/index.js +15 -0
- package/dist/cjs/experimental/index.js.map +1 -0
- package/dist/cjs/experimental/persistent-storage.js +343 -0
- package/dist/cjs/experimental/persistent-storage.js.map +1 -0
- package/dist/cjs/experimental/persistent-storage.test.js +200 -0
- package/dist/cjs/experimental/persistent-storage.test.js.map +1 -0
- package/dist/cjs/experimental/transports/utils.js +104 -0
- package/dist/cjs/experimental/transports/utils.js.map +1 -0
- package/dist/cjs/experimental/types.js +6 -0
- package/dist/cjs/experimental/types.js.map +1 -0
- package/dist/cjs/faucet/faucet.js +106 -124
- package/dist/cjs/faucet/faucet.js.map +1 -0
- package/dist/cjs/faucet/index.js +12 -28
- package/dist/cjs/faucet/index.js.map +1 -0
- package/dist/cjs/grpc/client.js +47 -62
- package/dist/cjs/grpc/client.js.map +1 -0
- package/dist/cjs/grpc/core.js +580 -617
- package/dist/cjs/grpc/core.js.map +1 -0
- package/dist/cjs/grpc/index.js +9 -25
- package/dist/cjs/grpc/index.js.map +1 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.js +168 -135
- package/dist/cjs/grpc/proto/google/protobuf/any.js.map +1 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.js +105 -90
- package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +1 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.js +50 -28
- package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +1 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +96 -75
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +1 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.js +266 -215
- package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +1 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +150 -131
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +1 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.js +331 -302
- package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +1 -0
- package/dist/cjs/grpc/proto/google/rpc/status.js +50 -50
- package/dist/cjs/grpc/proto/google/rpc/status.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +84 -68
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +45 -50
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +38 -43
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +70 -75
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +79 -81
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +183 -166
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +369 -296
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +80 -85
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +31 -28
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +81 -83
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +80 -85
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +876 -506
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +56 -61
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +103 -83
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +76 -78
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +69 -119
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +392 -350
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +599 -473
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +46 -78
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +242 -224
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +32 -52
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +139 -134
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +109 -111
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +46 -51
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +76 -61
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +46 -59
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +568 -522
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +54 -32
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +27 -47
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +83 -86
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +53 -85
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +645 -529
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +37 -51
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +58 -61
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +749 -730
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1218 -975
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +32 -46
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +1 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +186 -167
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +1 -0
- package/dist/cjs/index.js +96 -91
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/jsonRpc/client.js +654 -743
- package/dist/cjs/jsonRpc/client.js.map +1 -0
- package/dist/cjs/jsonRpc/core.d.ts +7 -7
- package/dist/cjs/jsonRpc/core.js +562 -606
- package/dist/cjs/jsonRpc/core.js.map +1 -0
- package/dist/cjs/jsonRpc/errors.js +38 -56
- package/dist/cjs/jsonRpc/errors.js.map +1 -0
- package/dist/cjs/jsonRpc/http-transport.js +70 -114
- package/dist/cjs/jsonRpc/http-transport.js.map +1 -0
- package/dist/cjs/jsonRpc/index.js +14 -30
- package/dist/cjs/jsonRpc/index.js.map +1 -0
- package/dist/cjs/jsonRpc/json-rpc-resolver.js +286 -290
- package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +1 -0
- package/dist/cjs/jsonRpc/rpc-websocket-client.js +150 -207
- package/dist/cjs/jsonRpc/rpc-websocket-client.js.map +1 -0
- package/dist/cjs/jsonRpc/types/chain.js +4 -15
- package/dist/cjs/jsonRpc/types/chain.js.map +1 -0
- package/dist/cjs/jsonRpc/types/changes.js +4 -15
- package/dist/cjs/jsonRpc/types/changes.js.map +1 -0
- package/dist/cjs/jsonRpc/types/coins.js +4 -15
- package/dist/cjs/jsonRpc/types/coins.js.map +1 -0
- package/dist/cjs/jsonRpc/types/common.js +4 -15
- package/dist/cjs/jsonRpc/types/common.js.map +1 -0
- package/dist/cjs/jsonRpc/types/generated.d.ts +1 -1
- package/dist/cjs/jsonRpc/types/generated.js +4 -15
- package/dist/cjs/jsonRpc/types/generated.js.map +1 -0
- package/dist/cjs/jsonRpc/types/index.js +4 -15
- package/dist/cjs/jsonRpc/types/index.js.map +1 -0
- package/dist/cjs/jsonRpc/types/params.js +4 -15
- package/dist/cjs/jsonRpc/types/params.js.map +1 -0
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +54 -69
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +1 -0
- package/dist/cjs/keypairs/ed25519/index.js +10 -26
- package/dist/cjs/keypairs/ed25519/index.js.map +1 -0
- package/dist/cjs/keypairs/ed25519/keypair.js +134 -159
- package/dist/cjs/keypairs/ed25519/keypair.js.map +1 -0
- package/dist/cjs/keypairs/ed25519/publickey.js +70 -84
- package/dist/cjs/keypairs/ed25519/publickey.js.map +1 -0
- package/dist/cjs/keypairs/index.js +21 -19
- package/dist/cjs/keypairs/index.js.map +1 -0
- package/dist/cjs/keypairs/passkey/index.js +11 -27
- package/dist/cjs/keypairs/passkey/index.js.map +1 -0
- package/dist/cjs/keypairs/passkey/keypair.js +245 -256
- package/dist/cjs/keypairs/passkey/keypair.js.map +1 -0
- package/dist/cjs/keypairs/passkey/publickey.js +163 -162
- package/dist/cjs/keypairs/passkey/publickey.js.map +1 -0
- package/dist/cjs/keypairs/passkey/types.js +4 -15
- package/dist/cjs/keypairs/passkey/types.js.map +1 -0
- package/dist/cjs/keypairs/secp256k1/index.js +10 -26
- package/dist/cjs/keypairs/secp256k1/index.js.map +1 -0
- package/dist/cjs/keypairs/secp256k1/keypair.js +129 -151
- package/dist/cjs/keypairs/secp256k1/keypair.js.map +1 -0
- package/dist/cjs/keypairs/secp256k1/publickey.js +71 -89
- package/dist/cjs/keypairs/secp256k1/publickey.js.map +1 -0
- package/dist/cjs/keypairs/secp256r1/index.js +10 -26
- package/dist/cjs/keypairs/secp256r1/index.js.map +1 -0
- package/dist/cjs/keypairs/secp256r1/keypair.js +127 -148
- package/dist/cjs/keypairs/secp256r1/keypair.js.map +1 -0
- package/dist/cjs/keypairs/secp256r1/publickey.js +72 -90
- package/dist/cjs/keypairs/secp256r1/publickey.js.map +1 -0
- package/dist/cjs/multisig/index.js +10 -26
- package/dist/cjs/multisig/index.js.map +1 -0
- package/dist/cjs/multisig/publickey.d.ts +1 -1
- package/dist/cjs/multisig/publickey.js +228 -276
- package/dist/cjs/multisig/publickey.js.map +1 -0
- package/dist/cjs/multisig/signer.js +62 -110
- package/dist/cjs/multisig/signer.js.map +1 -0
- package/dist/cjs/transactions/Arguments.d.ts +4 -4
- package/dist/cjs/transactions/Arguments.js +13 -34
- package/dist/cjs/transactions/Arguments.js.map +1 -0
- package/dist/cjs/transactions/Commands.js +111 -141
- package/dist/cjs/transactions/Commands.js.map +1 -0
- package/dist/cjs/transactions/Inputs.js +53 -82
- package/dist/cjs/transactions/Inputs.js.map +1 -0
- package/dist/cjs/transactions/ObjectCache.d.ts +8 -8
- package/dist/cjs/transactions/ObjectCache.js +204 -241
- package/dist/cjs/transactions/ObjectCache.js.map +1 -0
- package/dist/cjs/transactions/Transaction.d.ts +31 -31
- package/dist/cjs/transactions/Transaction.js +628 -719
- package/dist/cjs/transactions/Transaction.js.map +1 -0
- package/dist/cjs/transactions/TransactionData.d.ts +9 -9
- package/dist/cjs/transactions/TransactionData.js +396 -440
- package/dist/cjs/transactions/TransactionData.js.map +1 -0
- package/dist/cjs/transactions/__tests__/Transaction.test.js +169 -0
- package/dist/cjs/transactions/__tests__/Transaction.test.js.map +1 -0
- package/dist/cjs/transactions/__tests__/bcs.test.js +202 -0
- package/dist/cjs/transactions/__tests__/bcs.test.js.map +1 -0
- package/dist/cjs/transactions/data/internal.js +166 -207
- package/dist/cjs/transactions/data/internal.js.map +1 -0
- package/dist/cjs/transactions/data/v1.js +436 -495
- package/dist/cjs/transactions/data/v1.js.map +1 -0
- package/dist/cjs/transactions/data/v2.d.ts +5 -5
- package/dist/cjs/transactions/data/v2.js +94 -107
- package/dist/cjs/transactions/data/v2.js.map +1 -0
- package/dist/cjs/transactions/executor/caching.js +71 -113
- package/dist/cjs/transactions/executor/caching.js.map +1 -0
- package/dist/cjs/transactions/executor/parallel.js +339 -378
- package/dist/cjs/transactions/executor/parallel.js.map +1 -0
- package/dist/cjs/transactions/executor/queue.js +60 -80
- package/dist/cjs/transactions/executor/queue.js.map +1 -0
- package/dist/cjs/transactions/executor/serial.d.ts +4 -4
- package/dist/cjs/transactions/executor/serial.js +102 -131
- package/dist/cjs/transactions/executor/serial.js.map +1 -0
- package/dist/cjs/transactions/hash.js +17 -28
- package/dist/cjs/transactions/hash.js.map +1 -0
- package/dist/cjs/transactions/index.js +33 -49
- package/dist/cjs/transactions/index.js.map +1 -0
- package/dist/cjs/transactions/intents/CoinWithBalance.js +137 -191
- package/dist/cjs/transactions/intents/CoinWithBalance.js.map +1 -0
- package/dist/cjs/transactions/object.js +88 -111
- package/dist/cjs/transactions/object.js.map +1 -0
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +20 -32
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +1 -0
- package/dist/cjs/transactions/pure.js +38 -60
- package/dist/cjs/transactions/pure.js.map +1 -0
- package/dist/cjs/transactions/resolve.js +62 -88
- package/dist/cjs/transactions/resolve.js.map +1 -0
- package/dist/cjs/transactions/serializer.js +150 -163
- package/dist/cjs/transactions/serializer.js.map +1 -0
- package/dist/cjs/transactions/utils.d.ts +1 -1
- package/dist/cjs/transactions/utils.js +114 -125
- package/dist/cjs/transactions/utils.js.map +1 -0
- package/dist/cjs/utils/constants.js +29 -56
- package/dist/cjs/utils/constants.js.map +1 -0
- package/dist/cjs/utils/derived-objects.js +14 -30
- package/dist/cjs/utils/derived-objects.js.map +1 -0
- package/dist/cjs/utils/dynamic-fields.js +20 -37
- package/dist/cjs/utils/dynamic-fields.js.map +1 -0
- package/dist/cjs/utils/format.js +14 -30
- package/dist/cjs/utils/format.js.map +1 -0
- package/dist/cjs/utils/index.js +50 -64
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/move-registry.js +37 -35
- package/dist/cjs/utils/move-registry.js.map +1 -0
- package/dist/cjs/utils/sui-types.js +74 -68
- package/dist/cjs/utils/sui-types.js.map +1 -0
- package/dist/cjs/utils/suins.js +30 -46
- package/dist/cjs/utils/suins.js.map +1 -0
- package/dist/cjs/verify/index.js +12 -27
- package/dist/cjs/verify/index.js.map +1 -0
- package/dist/cjs/verify/verify.js +83 -110
- package/dist/cjs/verify/verify.js.map +1 -0
- package/dist/cjs/version.js +8 -25
- package/dist/cjs/version.js.map +1 -0
- package/dist/cjs/w/call/allocation.js +323 -413
- package/dist/cjs/w/call/allocation.js.map +1 -0
- package/dist/cjs/w/call/arb.js +105 -136
- package/dist/cjs/w/call/arb.js.map +1 -0
- package/dist/cjs/w/call/arbitration.js +1206 -1581
- package/dist/cjs/w/call/arbitration.js.map +1 -0
- package/dist/cjs/w/call/base.js +303 -333
- package/dist/cjs/w/call/base.js.map +1 -0
- package/dist/cjs/w/call/contact.js +335 -452
- package/dist/cjs/w/call/contact.js.map +1 -0
- package/dist/cjs/w/call/demand.js +690 -844
- package/dist/cjs/w/call/demand.js.map +1 -0
- package/dist/cjs/w/call/entity.js +167 -201
- package/dist/cjs/w/call/entity.js.map +1 -0
- package/dist/cjs/w/call/guard-ins.d.ts +1 -0
- package/dist/cjs/w/call/guard-ins.js +4376 -4384
- package/dist/cjs/w/call/guard-ins.js.map +1 -0
- package/dist/cjs/w/call/guard.d.ts +10 -0
- package/dist/cjs/w/call/guard.js +1078 -1119
- package/dist/cjs/w/call/guard.js.map +1 -0
- package/dist/cjs/w/call/index.d.ts +1 -1
- package/dist/cjs/w/call/index.js +69 -69
- package/dist/cjs/w/call/index.js.map +1 -0
- package/dist/cjs/w/call/machine.js +1105 -1419
- package/dist/cjs/w/call/machine.js.map +1 -0
- package/dist/cjs/w/call/order.js +314 -454
- package/dist/cjs/w/call/order.js.map +1 -0
- package/dist/cjs/w/call/passport.js +214 -253
- package/dist/cjs/w/call/passport.js.map +1 -0
- package/dist/cjs/w/call/payment.js +187 -224
- package/dist/cjs/w/call/payment.js.map +1 -0
- package/dist/cjs/w/call/permission.js +1183 -1294
- package/dist/cjs/w/call/permission.js.map +1 -0
- package/dist/cjs/w/call/personal.js +132 -170
- package/dist/cjs/w/call/personal.js.map +1 -0
- package/dist/cjs/w/call/progress.js +634 -794
- package/dist/cjs/w/call/progress.js.map +1 -0
- package/dist/cjs/w/call/proof.js +67 -116
- package/dist/cjs/w/call/proof.js.map +1 -0
- package/dist/cjs/w/call/repository.js +1037 -1251
- package/dist/cjs/w/call/repository.js.map +1 -0
- package/dist/cjs/w/call/resource.js +111 -131
- package/dist/cjs/w/call/resource.js.map +1 -0
- package/dist/cjs/w/call/reward.js +675 -853
- package/dist/cjs/w/call/reward.js.map +1 -0
- package/dist/cjs/w/call/service.js +1879 -2385
- package/dist/cjs/w/call/service.js.map +1 -0
- package/dist/cjs/w/call/treasury.js +841 -1138
- package/dist/cjs/w/call/treasury.js.map +1 -0
- package/dist/cjs/w/call/util.js +593 -624
- package/dist/cjs/w/call/util.js.map +1 -0
- package/dist/cjs/w/common.d.ts +1 -1
- package/dist/cjs/w/common.js +548 -518
- package/dist/cjs/w/common.js.map +1 -0
- package/dist/cjs/w/exception.js +574 -584
- package/dist/cjs/w/exception.js.map +1 -0
- package/dist/cjs/w/index.js +26 -23
- package/dist/cjs/w/index.js.map +1 -0
- package/dist/cjs/w/local/account.js +664 -741
- package/dist/cjs/w/local/account.js.map +1 -0
- package/dist/cjs/w/local/cache.js +180 -166
- package/dist/cjs/w/local/cache.js.map +1 -0
- package/dist/cjs/w/local/config.js +51 -80
- package/dist/cjs/w/local/config.js.map +1 -0
- package/dist/cjs/w/local/index.js +225 -290
- package/dist/cjs/w/local/index.js.map +1 -0
- package/dist/cjs/w/local/local.d.ts +2 -2
- package/dist/cjs/w/local/local.js +638 -646
- package/dist/cjs/w/local/local.js.map +1 -0
- package/dist/cjs/w/local/storage.js +210 -164
- package/dist/cjs/w/local/storage.js.map +1 -0
- package/dist/cjs/w/local/token.js +158 -175
- package/dist/cjs/w/local/token.js.map +1 -0
- package/dist/cjs/w/local/util.js +80 -51
- package/dist/cjs/w/local/util.js.map +1 -0
- package/dist/cjs/w/local/wip.js +1078 -802
- package/dist/cjs/w/local/wip.js.map +1 -0
- package/dist/cjs/w/messenger/crypto.js +496 -389
- package/dist/cjs/w/messenger/crypto.js.map +1 -0
- package/dist/cjs/w/messenger/index.js +53 -35
- package/dist/cjs/w/messenger/index.js.map +1 -0
- package/dist/cjs/w/messenger/messenger-api.js +1159 -1035
- package/dist/cjs/w/messenger/messenger-api.js.map +1 -0
- package/dist/cjs/w/messenger/messenger-manager.js +954 -1083
- package/dist/cjs/w/messenger/messenger-manager.js.map +1 -0
- package/dist/cjs/w/messenger/messenger.d.ts +1 -1
- package/dist/cjs/w/messenger/messenger.js +1304 -1450
- package/dist/cjs/w/messenger/messenger.js.map +1 -0
- package/dist/cjs/w/messenger/server.js +390 -512
- package/dist/cjs/w/messenger/server.js.map +1 -0
- package/dist/cjs/w/messenger/session.js +399 -403
- package/dist/cjs/w/messenger/session.js.map +1 -0
- package/dist/cjs/w/messenger/storage.js +881 -777
- package/dist/cjs/w/messenger/storage.js.map +1 -0
- package/dist/cjs/w/messenger/types.d.ts +2 -2
- package/dist/cjs/w/messenger/types.js +83 -103
- package/dist/cjs/w/messenger/types.js.map +1 -0
- package/dist/cjs/w/messenger/utils.js +29 -34
- package/dist/cjs/w/messenger/utils.js.map +1 -0
- package/dist/cjs/w/query/bult-in.js +101 -110
- package/dist/cjs/w/query/bult-in.js.map +1 -0
- package/dist/cjs/w/query/event.js +134 -146
- package/dist/cjs/w/query/event.js.map +1 -0
- package/dist/cjs/w/query/index.js +22 -20
- package/dist/cjs/w/query/index.js.map +1 -0
- package/dist/cjs/w/query/object.js +1576 -1576
- package/dist/cjs/w/query/object.js.map +1 -0
- package/dist/cjs/w/query/received.js +66 -88
- package/dist/cjs/w/query/received.js.map +1 -0
- package/dist/cjs/w/query/util.js +53 -77
- package/dist/cjs/w/query/util.js.map +1 -0
- package/dist/cjs/w/util.js +589 -675
- package/dist/cjs/w/util.js.map +1 -0
- package/dist/esm/bcs/bcs.d.ts +199 -199
- package/dist/esm/bcs/bcs.js +269 -310
- package/dist/esm/bcs/bcs.js.map +1 -0
- package/dist/esm/bcs/effects.d.ts +109 -109
- package/dist/esm/bcs/effects.js +171 -179
- package/dist/esm/bcs/effects.js.map +1 -0
- package/dist/esm/bcs/index.d.ts +1 -2584
- package/dist/esm/bcs/index.js +51 -94
- package/dist/esm/bcs/index.js.map +1 -0
- package/dist/esm/bcs/pure.js +35 -38
- package/dist/esm/bcs/pure.js.map +1 -0
- package/dist/esm/bcs/type-tag-serializer.js +98 -95
- package/dist/esm/bcs/type-tag-serializer.js.map +1 -0
- package/dist/esm/bcs/types.js +5 -5
- package/dist/esm/bcs/types.js.map +1 -0
- package/dist/esm/client/index.js +7 -23
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/network.js +23 -22
- package/dist/esm/client/network.js.map +1 -0
- package/dist/esm/cryptography/index.js +9 -46
- package/dist/esm/cryptography/index.js.map +1 -0
- package/dist/esm/cryptography/intent.d.ts +1 -1
- package/dist/esm/cryptography/intent.js +18 -12
- package/dist/esm/cryptography/intent.js.map +1 -0
- package/dist/esm/cryptography/keypair.js +95 -99
- package/dist/esm/cryptography/keypair.js.map +1 -0
- package/dist/esm/cryptography/mnemonics.js +40 -24
- package/dist/esm/cryptography/mnemonics.js.map +1 -0
- package/dist/esm/cryptography/publickey.js +104 -115
- package/dist/esm/cryptography/publickey.js.map +1 -0
- package/dist/esm/cryptography/signature-scheme.js +22 -24
- package/dist/esm/cryptography/signature-scheme.js.map +1 -0
- package/dist/esm/cryptography/signature.d.ts +2 -24
- package/dist/esm/cryptography/signature.js +44 -48
- package/dist/esm/cryptography/signature.js.map +1 -0
- package/dist/esm/experimental/cache.js +61 -0
- package/dist/esm/experimental/cache.js.map +1 -0
- package/dist/esm/experimental/client.js +23 -0
- package/dist/esm/experimental/client.js.map +1 -0
- package/dist/esm/experimental/core.js +85 -0
- package/dist/esm/experimental/core.js.map +1 -0
- package/dist/esm/experimental/errors.js +27 -0
- package/dist/esm/experimental/errors.js.map +1 -0
- package/dist/esm/experimental/index.js +8 -0
- package/dist/esm/experimental/index.js.map +1 -0
- package/dist/esm/experimental/persistent-storage.js +337 -0
- package/dist/esm/experimental/persistent-storage.js.map +1 -0
- package/dist/esm/experimental/persistent-storage.test.js +198 -0
- package/dist/esm/experimental/persistent-storage.test.js.map +1 -0
- package/dist/esm/experimental/transports/utils.js +100 -0
- package/dist/esm/experimental/transports/utils.js.map +1 -0
- package/dist/esm/experimental/types.js +5 -0
- package/dist/esm/experimental/types.js.map +1 -0
- package/dist/esm/faucet/faucet.js +104 -111
- package/dist/esm/faucet/faucet.js.map +1 -0
- package/dist/esm/faucet/index.js +4 -16
- package/dist/esm/faucet/index.js.map +1 -0
- package/dist/esm/grpc/client.js +34 -34
- package/dist/esm/grpc/client.js.map +1 -0
- package/dist/esm/grpc/core.js +570 -601
- package/dist/esm/grpc/core.js.map +1 -0
- package/dist/esm/grpc/index.js +5 -6
- package/dist/esm/grpc/index.js.map +1 -0
- package/dist/esm/grpc/proto/google/protobuf/any.js +161 -111
- package/dist/esm/grpc/proto/google/protobuf/any.js.map +1 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.js +99 -67
- package/dist/esm/grpc/proto/google/protobuf/duration.js.map +1 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.js +46 -7
- package/dist/esm/grpc/proto/google/protobuf/empty.js.map +1 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js +90 -52
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +1 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.js +258 -190
- package/dist/esm/grpc/proto/google/protobuf/struct.js.map +1 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js +144 -108
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +1 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.js +313 -267
- package/dist/esm/grpc/proto/google/rpc/error_details.js.map +1 -0
- package/dist/esm/grpc/proto/google/rpc/status.js +45 -28
- package/dist/esm/grpc/proto/google/rpc/status.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +80 -47
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +41 -29
- package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +34 -22
- package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +61 -49
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +72 -57
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +173 -139
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +358 -268
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +72 -60
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +29 -9
- package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/event.js +74 -59
- package/dist/esm/grpc/proto/sui/rpc/v2/event.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +69 -57
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +861 -474
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +52 -40
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/input.js +98 -61
- package/dist/esm/grpc/proto/sui/rpc/v2/input.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +71 -56
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +65 -100
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +365 -306
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +585 -442
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +42 -59
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +226 -191
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +28 -33
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +129 -107
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/object.js +100 -85
- package/dist/esm/grpc/proto/sui/rpc/v2/object.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +42 -30
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +72 -40
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +42 -38
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +544 -481
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +52 -13
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +23 -28
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +74 -60
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +49 -66
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +623 -490
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +33 -32
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +50 -36
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +737 -701
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +1177 -917
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +28 -27
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +1 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +169 -133
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +1 -0
- package/dist/esm/index.js +21 -107
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/jsonRpc/client.js +646 -727
- package/dist/esm/jsonRpc/client.js.map +1 -0
- package/dist/esm/jsonRpc/core.d.ts +7 -7
- package/dist/esm/jsonRpc/core.js +550 -581
- package/dist/esm/jsonRpc/core.js.map +1 -0
- package/dist/esm/jsonRpc/errors.js +36 -41
- package/dist/esm/jsonRpc/errors.js.map +1 -0
- package/dist/esm/jsonRpc/http-transport.js +65 -93
- package/dist/esm/jsonRpc/http-transport.js.map +1 -0
- package/dist/esm/jsonRpc/index.js +6 -20
- package/dist/esm/jsonRpc/index.js.map +1 -0
- package/dist/esm/jsonRpc/json-rpc-resolver.js +281 -276
- package/dist/esm/jsonRpc/json-rpc-resolver.js.map +1 -0
- package/dist/esm/jsonRpc/rpc-websocket-client.js +147 -189
- package/dist/esm/jsonRpc/rpc-websocket-client.js.map +1 -0
- package/dist/esm/jsonRpc/types/chain.js +4 -0
- package/dist/esm/jsonRpc/types/chain.js.map +1 -0
- package/dist/esm/jsonRpc/types/changes.js +4 -0
- package/dist/esm/jsonRpc/types/changes.js.map +1 -0
- package/dist/esm/jsonRpc/types/coins.js +4 -0
- package/dist/esm/jsonRpc/types/coins.js.map +1 -0
- package/dist/esm/jsonRpc/types/common.js +4 -0
- package/dist/esm/jsonRpc/types/common.js.map +1 -0
- package/dist/esm/jsonRpc/types/generated.d.ts +1 -1
- package/dist/esm/jsonRpc/types/generated.js +4 -0
- package/dist/esm/jsonRpc/types/generated.js.map +1 -0
- package/dist/esm/jsonRpc/types/index.js +4 -0
- package/dist/esm/jsonRpc/types/index.js.map +1 -0
- package/dist/esm/jsonRpc/types/params.js +4 -0
- package/dist/esm/jsonRpc/types/params.js.map +1 -0
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +49 -48
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +1 -0
- package/dist/esm/keypairs/ed25519/index.js +5 -10
- package/dist/esm/keypairs/ed25519/index.js.map +1 -0
- package/dist/esm/keypairs/ed25519/keypair.js +128 -146
- package/dist/esm/keypairs/ed25519/keypair.js.map +1 -0
- package/dist/esm/keypairs/ed25519/publickey.js +64 -67
- package/dist/esm/keypairs/ed25519/publickey.js.map +1 -0
- package/dist/esm/keypairs/index.js +3 -0
- package/dist/esm/keypairs/index.js.map +1 -0
- package/dist/esm/keypairs/passkey/index.js +5 -12
- package/dist/esm/keypairs/passkey/index.js.map +1 -0
- package/dist/esm/keypairs/passkey/keypair.js +236 -243
- package/dist/esm/keypairs/passkey/keypair.js.map +1 -0
- package/dist/esm/keypairs/passkey/publickey.js +154 -140
- package/dist/esm/keypairs/passkey/publickey.js.map +1 -0
- package/dist/esm/keypairs/passkey/types.js +4 -0
- package/dist/esm/keypairs/passkey/types.js.map +1 -0
- package/dist/esm/keypairs/secp256k1/index.js +5 -10
- package/dist/esm/keypairs/secp256k1/index.js.map +1 -0
- package/dist/esm/keypairs/secp256k1/keypair.js +120 -134
- package/dist/esm/keypairs/secp256k1/keypair.js.map +1 -0
- package/dist/esm/keypairs/secp256k1/publickey.js +64 -71
- package/dist/esm/keypairs/secp256k1/publickey.js.map +1 -0
- package/dist/esm/keypairs/secp256r1/index.js +5 -10
- package/dist/esm/keypairs/secp256r1/index.js.map +1 -0
- package/dist/esm/keypairs/secp256r1/keypair.js +118 -131
- package/dist/esm/keypairs/secp256r1/keypair.js.map +1 -0
- package/dist/esm/keypairs/secp256r1/publickey.js +63 -66
- package/dist/esm/keypairs/secp256r1/publickey.js.map +1 -0
- package/dist/esm/multisig/index.js +5 -10
- package/dist/esm/multisig/index.js.map +1 -0
- package/dist/esm/multisig/publickey.d.ts +1 -1
- package/dist/esm/multisig/publickey.js +216 -253
- package/dist/esm/multisig/publickey.js.map +1 -0
- package/dist/esm/multisig/signer.js +57 -89
- package/dist/esm/multisig/signer.js.map +1 -0
- package/dist/esm/transactions/Arguments.d.ts +4 -4
- package/dist/esm/transactions/Arguments.js +9 -13
- package/dist/esm/transactions/Arguments.js.map +1 -0
- package/dist/esm/transactions/Commands.js +105 -118
- package/dist/esm/transactions/Commands.js.map +1 -0
- package/dist/esm/transactions/Inputs.js +49 -61
- package/dist/esm/transactions/Inputs.js.map +1 -0
- package/dist/esm/transactions/ObjectCache.d.ts +8 -8
- package/dist/esm/transactions/ObjectCache.js +200 -223
- package/dist/esm/transactions/ObjectCache.js.map +1 -0
- package/dist/esm/transactions/Transaction.d.ts +32 -32
- package/dist/esm/transactions/Transaction.js +611 -696
- package/dist/esm/transactions/Transaction.js.map +1 -0
- package/dist/esm/transactions/TransactionData.d.ts +9 -9
- package/dist/esm/transactions/TransactionData.js +386 -415
- package/dist/esm/transactions/TransactionData.js.map +1 -0
- package/dist/esm/transactions/__tests__/Transaction.test.js +167 -0
- package/dist/esm/transactions/__tests__/Transaction.test.js.map +1 -0
- package/dist/esm/transactions/__tests__/bcs.test.js +200 -0
- package/dist/esm/transactions/__tests__/bcs.test.js.map +1 -0
- package/dist/esm/transactions/data/internal.js +158 -205
- package/dist/esm/transactions/data/internal.js.map +1 -0
- package/dist/esm/transactions/data/v1.js +419 -487
- package/dist/esm/transactions/data/v1.js.map +1 -0
- package/dist/esm/transactions/data/v2.d.ts +5 -5
- package/dist/esm/transactions/data/v2.js +89 -107
- package/dist/esm/transactions/data/v2.js.map +1 -0
- package/dist/esm/transactions/executor/caching.d.ts +2 -2
- package/dist/esm/transactions/executor/caching.js +66 -93
- package/dist/esm/transactions/executor/caching.js.map +1 -0
- package/dist/esm/transactions/executor/parallel.js +329 -352
- package/dist/esm/transactions/executor/parallel.js.map +1 -0
- package/dist/esm/transactions/executor/queue.js +58 -64
- package/dist/esm/transactions/executor/queue.js.map +1 -0
- package/dist/esm/transactions/executor/serial.d.ts +5 -5
- package/dist/esm/transactions/executor/serial.js +96 -110
- package/dist/esm/transactions/executor/serial.js.map +1 -0
- package/dist/esm/transactions/hash.js +15 -9
- package/dist/esm/transactions/hash.js.map +1 -0
- package/dist/esm/transactions/index.js +15 -41
- package/dist/esm/transactions/index.js.map +1 -0
- package/dist/esm/transactions/intents/CoinWithBalance.js +127 -165
- package/dist/esm/transactions/intents/CoinWithBalance.js.map +1 -0
- package/dist/esm/transactions/object.js +86 -92
- package/dist/esm/transactions/object.js.map +1 -0
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +18 -15
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.js.map +1 -0
- package/dist/esm/transactions/pure.js +34 -39
- package/dist/esm/transactions/pure.js.map +1 -0
- package/dist/esm/transactions/resolve.js +58 -69
- package/dist/esm/transactions/resolve.js.map +1 -0
- package/dist/esm/transactions/serializer.js +145 -144
- package/dist/esm/transactions/serializer.js.map +1 -0
- package/dist/esm/transactions/utils.d.ts +1 -1
- package/dist/esm/transactions/utils.js +110 -109
- package/dist/esm/transactions/utils.js.map +1 -0
- package/dist/esm/utils/constants.js +26 -36
- package/dist/esm/utils/constants.js.map +1 -0
- package/dist/esm/utils/derived-objects.js +11 -10
- package/dist/esm/utils/derived-objects.js.map +1 -0
- package/dist/esm/utils/dynamic-fields.js +16 -16
- package/dist/esm/utils/dynamic-fields.js.map +1 -0
- package/dist/esm/utils/format.js +13 -13
- package/dist/esm/utils/format.js.map +1 -0
- package/dist/esm/utils/index.js +15 -76
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/move-registry.js +34 -17
- package/dist/esm/utils/move-registry.js.map +1 -0
- package/dist/esm/utils/sui-types.js +70 -54
- package/dist/esm/utils/sui-types.js.map +1 -0
- package/dist/esm/utils/suins.js +29 -29
- package/dist/esm/utils/suins.js.map +1 -0
- package/dist/esm/verify/index.js +5 -14
- package/dist/esm/verify/index.js.map +1 -0
- package/dist/esm/verify/verify.js +76 -93
- package/dist/esm/verify/verify.js.map +1 -0
- package/dist/esm/version.js +6 -6
- package/dist/esm/version.js.map +1 -0
- package/dist/esm/w/call/allocation.js +307 -402
- package/dist/esm/w/call/allocation.js.map +1 -0
- package/dist/esm/w/call/arb.js +100 -129
- package/dist/esm/w/call/arb.js.map +1 -0
- package/dist/esm/w/call/arbitration.js +1170 -1568
- package/dist/esm/w/call/arbitration.js.map +1 -0
- package/dist/esm/w/call/base.js +288 -315
- package/dist/esm/w/call/base.js.map +1 -0
- package/dist/esm/w/call/contact.js +318 -442
- package/dist/esm/w/call/contact.js.map +1 -0
- package/dist/esm/w/call/demand.js +673 -841
- package/dist/esm/w/call/demand.js.map +1 -0
- package/dist/esm/w/call/entity.js +162 -203
- package/dist/esm/w/call/entity.js.map +1 -0
- package/dist/esm/w/call/guard-ins.d.ts +1 -0
- package/dist/esm/w/call/guard-ins.js +4373 -4366
- package/dist/esm/w/call/guard-ins.js.map +1 -0
- package/dist/esm/w/call/guard.d.ts +10 -0
- package/dist/esm/w/call/guard.js +1061 -1115
- package/dist/esm/w/call/guard.js.map +1 -0
- package/dist/esm/w/call/index.d.ts +1 -1
- package/dist/esm/w/call/index.js +24 -54
- package/dist/esm/w/call/index.js.map +1 -0
- package/dist/esm/w/call/machine.js +1086 -1433
- package/dist/esm/w/call/machine.js.map +1 -0
- package/dist/esm/w/call/order.js +301 -448
- package/dist/esm/w/call/order.js.map +1 -0
- package/dist/esm/w/call/passport.js +204 -240
- package/dist/esm/w/call/passport.js.map +1 -0
- package/dist/esm/w/call/payment.js +177 -215
- package/dist/esm/w/call/payment.js.map +1 -0
- package/dist/esm/w/call/permission.js +1172 -1320
- package/dist/esm/w/call/permission.js.map +1 -0
- package/dist/esm/w/call/personal.js +121 -156
- package/dist/esm/w/call/personal.js.map +1 -0
- package/dist/esm/w/call/progress.js +625 -797
- package/dist/esm/w/call/progress.js.map +1 -0
- package/dist/esm/w/call/proof.js +61 -103
- package/dist/esm/w/call/proof.js.map +1 -0
- package/dist/esm/w/call/repository.js +1017 -1251
- package/dist/esm/w/call/repository.js.map +1 -0
- package/dist/esm/w/call/resource.js +108 -124
- package/dist/esm/w/call/resource.js.map +1 -0
- package/dist/esm/w/call/reward.js +660 -847
- package/dist/esm/w/call/reward.js.map +1 -0
- package/dist/esm/w/call/service.js +1849 -2400
- package/dist/esm/w/call/service.js.map +1 -0
- package/dist/esm/w/call/treasury.js +815 -1125
- package/dist/esm/w/call/treasury.js.map +1 -0
- package/dist/esm/w/call/util.js +553 -576
- package/dist/esm/w/call/util.js.map +1 -0
- package/dist/esm/w/common.d.ts +1 -1
- package/dist/esm/w/common.js +579 -580
- package/dist/esm/w/common.js.map +1 -0
- package/dist/esm/w/exception.js +570 -573
- package/dist/esm/w/exception.js.map +1 -0
- package/dist/esm/w/index.js +4 -0
- package/dist/esm/w/index.js.map +1 -0
- package/dist/esm/w/local/account.js +652 -709
- package/dist/esm/w/local/account.js.map +1 -0
- package/dist/esm/w/local/cache.js +176 -147
- package/dist/esm/w/local/cache.js.map +1 -0
- package/dist/esm/w/local/config.js +46 -60
- package/dist/esm/w/local/config.js.map +1 -0
- package/dist/esm/w/local/index.js +196 -273
- package/dist/esm/w/local/index.js.map +1 -0
- package/dist/esm/w/local/local.d.ts +2 -2
- package/dist/esm/w/local/local.js +631 -626
- package/dist/esm/w/local/local.js.map +1 -0
- package/dist/esm/w/local/storage.js +168 -136
- package/dist/esm/w/local/storage.js.map +1 -0
- package/dist/esm/w/local/token.js +149 -151
- package/dist/esm/w/local/token.js.map +1 -0
- package/dist/esm/w/local/util.js +45 -22
- package/dist/esm/w/local/util.js.map +1 -0
- package/dist/esm/w/local/wip.js +1038 -781
- package/dist/esm/w/local/wip.js.map +1 -0
- package/dist/esm/w/messenger/crypto.js +491 -387
- package/dist/esm/w/messenger/crypto.js.map +1 -0
- package/dist/esm/w/messenger/index.js +27 -24
- package/dist/esm/w/messenger/index.js.map +1 -0
- package/dist/esm/w/messenger/messenger-api.js +1111 -1017
- package/dist/esm/w/messenger/messenger-api.js.map +1 -0
- package/dist/esm/w/messenger/messenger-manager.js +944 -1052
- package/dist/esm/w/messenger/messenger-manager.js.map +1 -0
- package/dist/esm/w/messenger/messenger.d.ts +1 -1
- package/dist/esm/w/messenger/messenger.js +1258 -1421
- package/dist/esm/w/messenger/messenger.js.map +1 -0
- package/dist/esm/w/messenger/server.js +388 -499
- package/dist/esm/w/messenger/server.js.map +1 -0
- package/dist/esm/w/messenger/session.js +394 -399
- package/dist/esm/w/messenger/session.js.map +1 -0
- package/dist/esm/w/messenger/storage.js +840 -751
- package/dist/esm/w/messenger/storage.js.map +1 -0
- package/dist/esm/w/messenger/types.d.ts +2 -2
- package/dist/esm/w/messenger/types.js +80 -85
- package/dist/esm/w/messenger/types.js.map +1 -0
- package/dist/esm/w/messenger/utils.js +28 -16
- package/dist/esm/w/messenger/utils.js.map +1 -0
- package/dist/esm/w/query/bult-in.js +95 -100
- package/dist/esm/w/query/bult-in.js.map +1 -0
- package/dist/esm/w/query/event.js +128 -125
- package/dist/esm/w/query/event.js.map +1 -0
- package/dist/esm/w/query/index.js +3 -0
- package/dist/esm/w/query/index.js.map +1 -0
- package/dist/esm/w/query/object.js +1560 -1574
- package/dist/esm/w/query/object.js.map +1 -0
- package/dist/esm/w/query/received.js +57 -63
- package/dist/esm/w/query/received.js.map +1 -0
- package/dist/esm/w/query/util.js +48 -56
- package/dist/esm/w/query/util.js.map +1 -0
- package/dist/esm/w/util.js +578 -673
- package/dist/esm/w/util.js.map +1 -0
- package/package.json +14 -9
- package/dist/cjs/graphql/client.js +0 -98
- package/dist/cjs/graphql/core.js +0 -506
- package/dist/cjs/graphql/generated/2024.1/tada-env.js +0 -13141
- package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +0 -11
- package/dist/cjs/graphql/generated/2024.4/tada-env.js +0 -13287
- package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +0 -11
- package/dist/cjs/graphql/generated/latest/tada-env.js +0 -12925
- package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +0 -11
- package/dist/cjs/graphql/generated/queries.js +0 -807
- package/dist/cjs/graphql/index.js +0 -25
- package/dist/cjs/graphql/schemas/2024.1/index.js +0 -28
- package/dist/cjs/graphql/schemas/2024.4/index.js +0 -28
- package/dist/cjs/graphql/schemas/latest/index.js +0 -28
- package/dist/cjs/graphql/types.js +0 -16
- package/dist/cjs/package.json +0 -5
- package/dist/cjs/w/local/.eslintrc.js +0 -15
- package/dist/cjs/w/messenger/.eslintrc.js +0 -15
- package/dist/cjs/zklogin/address.js +0 -93
- package/dist/cjs/zklogin/bcs.js +0 -41
- package/dist/cjs/zklogin/index.js +0 -45
- package/dist/cjs/zklogin/jwt-decode.js +0 -88
- package/dist/cjs/zklogin/jwt-utils.js +0 -128
- package/dist/cjs/zklogin/nonce.js +0 -60
- package/dist/cjs/zklogin/poseidon.js +0 -64
- package/dist/cjs/zklogin/publickey.js +0 -281
- package/dist/cjs/zklogin/signature.js +0 -57
- package/dist/cjs/zklogin/utils.js +0 -98
- package/dist/esm/graphql/client.js +0 -79
- package/dist/esm/graphql/core.js +0 -505
- package/dist/esm/graphql/generated/2024.1/tada-env.js +0 -13121
- package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +0 -16
- package/dist/esm/graphql/generated/2024.4/tada-env.js +0 -13267
- package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +0 -16
- package/dist/esm/graphql/generated/latest/tada-env.js +0 -12905
- package/dist/esm/graphql/generated/latest/tsconfig.tada.js +0 -16
- package/dist/esm/graphql/generated/queries.js +0 -788
- package/dist/esm/graphql/index.js +0 -8
- package/dist/esm/graphql/schemas/2024.1/index.js +0 -8
- package/dist/esm/graphql/schemas/2024.4/index.js +0 -8
- package/dist/esm/graphql/schemas/latest/index.js +0 -8
- package/dist/esm/graphql/types.js +0 -0
- package/dist/esm/package.json +0 -5
- package/dist/esm/w/local/.eslintrc.js +0 -23
- package/dist/esm/w/messenger/.eslintrc.js +0 -23
- package/dist/esm/zklogin/address.js +0 -78
- package/dist/esm/zklogin/bcs.js +0 -21
- package/dist/esm/zklogin/index.js +0 -38
- package/dist/esm/zklogin/jwt-decode.js +0 -68
- package/dist/esm/zklogin/jwt-utils.js +0 -108
- package/dist/esm/zklogin/nonce.js +0 -40
- package/dist/esm/zklogin/poseidon.js +0 -61
- package/dist/esm/zklogin/publickey.js +0 -265
- package/dist/esm/zklogin/signature.js +0 -37
- package/dist/esm/zklogin/utils.js +0 -78
- package/dist/tsconfig.esm.tsbuildinfo +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,54 +1,50 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
1
3
|
import { fromBase64, toBase64 } from "@mysten/bcs";
|
|
2
4
|
import { bcs } from "../bcs/index.js";
|
|
3
5
|
import { parseSerializedPasskeySignature } from "../keypairs/passkey/publickey.js";
|
|
4
6
|
import { parseSerializedKeypairSignature } from "./publickey.js";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function toSerializedSignature({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
1 + signature.length + pubKeyBytes.length
|
|
20
|
-
);
|
|
21
|
-
serializedSignature.set([SIGNATURE_SCHEME_TO_FLAG[signatureScheme]]);
|
|
22
|
-
serializedSignature.set(signature, 1);
|
|
23
|
-
serializedSignature.set(pubKeyBytes, 1 + signature.length);
|
|
24
|
-
return toBase64(serializedSignature);
|
|
7
|
+
import { SIGNATURE_FLAG_TO_SCHEME, SIGNATURE_SCHEME_TO_FLAG, } from "./signature-scheme.js";
|
|
8
|
+
/**
|
|
9
|
+
* Takes in a signature, its associated signing scheme and a public key, then serializes this data
|
|
10
|
+
*/
|
|
11
|
+
export function toSerializedSignature({ signature, signatureScheme, publicKey, }) {
|
|
12
|
+
if (!publicKey) {
|
|
13
|
+
throw new Error("`publicKey` is required");
|
|
14
|
+
}
|
|
15
|
+
const pubKeyBytes = publicKey.toRawBytes();
|
|
16
|
+
const serializedSignature = new Uint8Array(1 + signature.length + pubKeyBytes.length);
|
|
17
|
+
serializedSignature.set([SIGNATURE_SCHEME_TO_FLAG[signatureScheme]]);
|
|
18
|
+
serializedSignature.set(signature, 1);
|
|
19
|
+
serializedSignature.set(pubKeyBytes, 1 + signature.length);
|
|
20
|
+
return toBase64(serializedSignature);
|
|
25
21
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Decodes a serialized signature into its constituent components: the signature scheme, the actual signature, and the public key
|
|
24
|
+
*/
|
|
25
|
+
export function parseSerializedSignature(serializedSignature) {
|
|
26
|
+
const bytes = fromBase64(serializedSignature);
|
|
27
|
+
const signatureScheme = SIGNATURE_FLAG_TO_SCHEME[bytes[0]];
|
|
28
|
+
switch (signatureScheme) {
|
|
29
|
+
case "Passkey":
|
|
30
|
+
return parseSerializedPasskeySignature(serializedSignature);
|
|
31
|
+
case "MultiSig":
|
|
32
|
+
const multisig = bcs.MultiSig.parse(bytes.slice(1));
|
|
33
|
+
return {
|
|
34
|
+
serializedSignature,
|
|
35
|
+
signatureScheme,
|
|
36
|
+
multisig,
|
|
37
|
+
bytes,
|
|
38
|
+
signature: undefined,
|
|
39
|
+
};
|
|
40
|
+
case "ZkLogin":
|
|
41
|
+
throw new Error("ZkLogin signature scheme is not supported");
|
|
42
|
+
case "ED25519":
|
|
43
|
+
case "Secp256k1":
|
|
44
|
+
case "Secp256r1":
|
|
45
|
+
return parseSerializedKeypairSignature(serializedSignature);
|
|
46
|
+
default:
|
|
47
|
+
throw new Error("Unsupported signature scheme");
|
|
48
|
+
}
|
|
50
49
|
}
|
|
51
|
-
|
|
52
|
-
parseSerializedSignature,
|
|
53
|
-
toSerializedSignature
|
|
54
|
-
};
|
|
50
|
+
//# sourceMappingURL=signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/cryptography/signature.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AAEnF,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EACN,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,uBAAuB,CAAC;AAa/B;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACrC,SAAS,EACT,eAAe,EACf,SAAS,GACgB;IACzB,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;IAC3C,MAAM,mBAAmB,GAAG,IAAI,UAAU,CACzC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CACzC,CAAC;IACF,mBAAmB,CAAC,GAAG,CAAC,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACrE,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtC,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,mBAA2B;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAE9C,MAAM,eAAe,GACpB,wBAAwB,CACvB,KAAK,CAAC,CAAC,CAA0C,CACjD,CAAC;IAEH,QAAQ,eAAe,EAAE,CAAC;QACzB,KAAK,SAAS;YACb,OAAO,+BAA+B,CAAC,mBAAmB,CAAC,CAAC;QAC7D,KAAK,UAAU;YACd,MAAM,QAAQ,GAAmB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,OAAO;gBACN,mBAAmB;gBACnB,eAAe;gBACf,QAAQ;gBACR,KAAK;gBACL,SAAS,EAAE,SAAS;aACpB,CAAC;QACH,KAAK,SAAS;YACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACf,OAAO,+BAA+B,CAAC,mBAAmB,CAAC,CAAC;QAC7D;YACC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export class ClientCache {
|
|
4
|
+
#prefix;
|
|
5
|
+
#cache;
|
|
6
|
+
constructor({ prefix, cache } = {}) {
|
|
7
|
+
this.#prefix = prefix ?? [];
|
|
8
|
+
this.#cache = cache ?? new Map();
|
|
9
|
+
}
|
|
10
|
+
read(key, load) {
|
|
11
|
+
const cacheKey = [this.#prefix, ...key].join(":");
|
|
12
|
+
if (this.#cache.has(cacheKey)) {
|
|
13
|
+
return this.#cache.get(cacheKey);
|
|
14
|
+
}
|
|
15
|
+
const result = load();
|
|
16
|
+
this.#cache.set(cacheKey, result);
|
|
17
|
+
if (typeof result === "object" && result !== null && "then" in result) {
|
|
18
|
+
return Promise.resolve(result)
|
|
19
|
+
.then((v) => {
|
|
20
|
+
this.#cache.set(cacheKey, v);
|
|
21
|
+
return v;
|
|
22
|
+
})
|
|
23
|
+
.catch((err) => {
|
|
24
|
+
this.#cache.delete(cacheKey);
|
|
25
|
+
throw err;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
readSync(key, load) {
|
|
31
|
+
const cacheKey = [this.#prefix, ...key].join(":");
|
|
32
|
+
if (this.#cache.has(cacheKey)) {
|
|
33
|
+
return this.#cache.get(cacheKey);
|
|
34
|
+
}
|
|
35
|
+
const result = load();
|
|
36
|
+
this.#cache.set(cacheKey, result);
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
clear(prefix) {
|
|
40
|
+
const prefixKey = [...this.#prefix, ...(prefix ?? [])].join(":");
|
|
41
|
+
if (!prefixKey) {
|
|
42
|
+
this.#cache.clear();
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
for (const key of this.#cache.keys()) {
|
|
46
|
+
if (key.startsWith(prefixKey)) {
|
|
47
|
+
this.#cache.delete(key);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
scope(prefix) {
|
|
52
|
+
return new ClientCache({
|
|
53
|
+
prefix: [
|
|
54
|
+
...this.#prefix,
|
|
55
|
+
...(Array.isArray(prefix) ? prefix : [prefix]),
|
|
56
|
+
],
|
|
57
|
+
cache: this.#cache,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/experimental/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
4
|
+
import { ClientCache } from "./cache.js";
|
|
5
|
+
export class Experimental_BaseClient {
|
|
6
|
+
network;
|
|
7
|
+
cache;
|
|
8
|
+
base;
|
|
9
|
+
constructor({ network, base, cache = base?.cache ?? new ClientCache(), }) {
|
|
10
|
+
this.network = network;
|
|
11
|
+
this.base = base ?? this;
|
|
12
|
+
this.cache = cache;
|
|
13
|
+
}
|
|
14
|
+
$extend(...registrations) {
|
|
15
|
+
return Object.create(this, Object.fromEntries(registrations.map((registration) => {
|
|
16
|
+
return [
|
|
17
|
+
registration.name,
|
|
18
|
+
{ value: registration.register(this) },
|
|
19
|
+
];
|
|
20
|
+
})));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/experimental/client.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,sCAAsC;AACtC,iDAAiD;AAGjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQzC,MAAM,OAAgB,uBAAuB;IAC5C,OAAO,CAAsC;IAC7C,KAAK,CAAc;IACnB,IAAI,CAA0B;IAE9B,YAAY,EACX,OAAO,EACP,IAAI,EACJ,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,WAAW,EAAE,GACM;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAID,OAAO,CACN,GAAG,aAA4B;QAE/B,OAAO,MAAM,CAAC,MAAM,CACnB,IAAI,EACJ,MAAM,CAAC,WAAW,CACjB,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YAClC,OAAO;gBACN,YAAY,CAAC,IAAI;gBACjB,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;aACtC,CAAC;QACH,CAAC,CAAC,CACF,CAkBD,CAAC;IACH,CAAC;CACD"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { TypeTagSerializer } from "../bcs/type-tag-serializer.js";
|
|
4
|
+
import { deriveDynamicFieldID } from "../utils/dynamic-fields.js";
|
|
5
|
+
import { normalizeStructTag, parseStructTag, WOW_ADDRESS_LENGTH, } from "../utils/sui-types.js";
|
|
6
|
+
import { Experimental_BaseClient } from "./client.js";
|
|
7
|
+
export class Experimental_CoreClient extends Experimental_BaseClient {
|
|
8
|
+
core = this;
|
|
9
|
+
constructor(options) {
|
|
10
|
+
super(options);
|
|
11
|
+
}
|
|
12
|
+
async getObject(options) {
|
|
13
|
+
const { objectId } = options;
|
|
14
|
+
const { objects: [result], } = await this.getObjects({
|
|
15
|
+
objectIds: [objectId],
|
|
16
|
+
signal: options.signal,
|
|
17
|
+
});
|
|
18
|
+
if (result instanceof Error) {
|
|
19
|
+
throw result;
|
|
20
|
+
}
|
|
21
|
+
return { object: result };
|
|
22
|
+
}
|
|
23
|
+
async getDynamicField(options) {
|
|
24
|
+
const normalizedNameType = TypeTagSerializer.parseFromStr(options.name.type);
|
|
25
|
+
const fieldId = deriveDynamicFieldID(options.parentId, normalizedNameType, options.name.bcs);
|
|
26
|
+
const { objects: [fieldObject], } = await this.getObjects({
|
|
27
|
+
objectIds: [fieldId],
|
|
28
|
+
signal: options.signal,
|
|
29
|
+
});
|
|
30
|
+
if (fieldObject instanceof Error) {
|
|
31
|
+
throw fieldObject;
|
|
32
|
+
}
|
|
33
|
+
const fieldType = parseStructTag(fieldObject.type);
|
|
34
|
+
const content = await fieldObject.content;
|
|
35
|
+
return {
|
|
36
|
+
dynamicField: {
|
|
37
|
+
id: fieldObject.id,
|
|
38
|
+
digest: fieldObject.digest,
|
|
39
|
+
version: fieldObject.version,
|
|
40
|
+
type: fieldObject.type,
|
|
41
|
+
previousTransaction: fieldObject.previousTransaction,
|
|
42
|
+
name: {
|
|
43
|
+
type: typeof fieldType.typeParams[0] === "string"
|
|
44
|
+
? fieldType.typeParams[0]
|
|
45
|
+
: normalizeStructTag(fieldType.typeParams[0]),
|
|
46
|
+
bcs: options.name.bcs,
|
|
47
|
+
},
|
|
48
|
+
value: {
|
|
49
|
+
type: typeof fieldType.typeParams[1] === "string"
|
|
50
|
+
? fieldType.typeParams[1]
|
|
51
|
+
: normalizeStructTag(fieldType.typeParams[1]),
|
|
52
|
+
bcs: content.slice(WOW_ADDRESS_LENGTH + options.name.bcs.length),
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
async waitForTransaction({ signal, timeout = 60 * 1000, ...input }) {
|
|
58
|
+
const abortSignal = signal
|
|
59
|
+
? AbortSignal.any([AbortSignal.timeout(timeout), signal])
|
|
60
|
+
: AbortSignal.timeout(timeout);
|
|
61
|
+
const abortPromise = new Promise((_, reject) => {
|
|
62
|
+
abortSignal.addEventListener("abort", () => reject(abortSignal.reason));
|
|
63
|
+
});
|
|
64
|
+
abortPromise.catch(() => {
|
|
65
|
+
// Swallow unhandled rejections that might be thrown after early return
|
|
66
|
+
});
|
|
67
|
+
// eslint-disable-next-line no-constant-condition
|
|
68
|
+
while (true) {
|
|
69
|
+
abortSignal.throwIfAborted();
|
|
70
|
+
try {
|
|
71
|
+
return await this.getTransaction({
|
|
72
|
+
...input,
|
|
73
|
+
signal: abortSignal,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
await Promise.race([
|
|
78
|
+
new Promise((resolve) => setTimeout(resolve, 2_000)),
|
|
79
|
+
abortPromise,
|
|
80
|
+
]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/experimental/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export class SuiClientError extends Error {
|
|
4
|
+
}
|
|
5
|
+
export class ObjectError extends SuiClientError {
|
|
6
|
+
code;
|
|
7
|
+
constructor(code, message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.code = code;
|
|
10
|
+
}
|
|
11
|
+
static fromResponse(response, objectId) {
|
|
12
|
+
switch (response.code) {
|
|
13
|
+
case "notExists":
|
|
14
|
+
return new ObjectError(response.code, `Object ${response.object_id} does not exist`);
|
|
15
|
+
case "dynamicFieldNotFound":
|
|
16
|
+
return new ObjectError(response.code, `Dynamic field not found for object ${response.parent_object_id}`);
|
|
17
|
+
case "deleted":
|
|
18
|
+
return new ObjectError(response.code, `Object ${response.object_id} has been deleted`);
|
|
19
|
+
case "displayError":
|
|
20
|
+
return new ObjectError(response.code, `Display error: ${response.error}`);
|
|
21
|
+
case "unknown":
|
|
22
|
+
default:
|
|
23
|
+
return new ObjectError(response.code, `Unknown error while loading object${objectId ? ` ${objectId}` : ""}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/experimental/errors.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,sCAAsC;AAItC,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAE5C,MAAM,OAAO,WAAY,SAAQ,cAAc;IAC9C,IAAI,CAAS;IAEb,YAAY,IAAY,EAAE,OAAe;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,YAAY,CAClB,QAA6B,EAC7B,QAAiB;QAEjB,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,WAAW;gBACf,OAAO,IAAI,WAAW,CACrB,QAAQ,CAAC,IAAI,EACb,UAAU,QAAQ,CAAC,SAAS,iBAAiB,CAC7C,CAAC;YACH,KAAK,sBAAsB;gBAC1B,OAAO,IAAI,WAAW,CACrB,QAAQ,CAAC,IAAI,EACb,sCAAsC,QAAQ,CAAC,gBAAgB,EAAE,CACjE,CAAC;YACH,KAAK,SAAS;gBACb,OAAO,IAAI,WAAW,CACrB,QAAQ,CAAC,IAAI,EACb,UAAU,QAAQ,CAAC,SAAS,mBAAmB,CAC/C,CAAC;YACH,KAAK,cAAc;gBAClB,OAAO,IAAI,WAAW,CACrB,QAAQ,CAAC,IAAI,EACb,kBAAkB,QAAQ,CAAC,KAAK,EAAE,CAClC,CAAC;YACH,KAAK,SAAS,CAAC;YACf;gBACC,OAAO,IAAI,WAAW,CACrB,QAAQ,CAAC,IAAI,EACb,qCAAqC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACrE,CAAC;QACJ,CAAC;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { Experimental_BaseClient } from "./client.js";
|
|
4
|
+
import { Experimental_CoreClient } from "./core.js";
|
|
5
|
+
export { parseTransactionBcs, parseTransactionEffectsBcs, } from "./transports/utils.js";
|
|
6
|
+
export { Experimental_BaseClient, Experimental_CoreClient, };
|
|
7
|
+
export { ClientCache } from "./cache.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/experimental/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,sCAAsC;AAEtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAMpD,OAAO,EACN,mBAAmB,EACnB,0BAA0B,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACN,uBAAuB,EACvB,uBAAuB,GAMvB,CAAC;AAEF,OAAO,EAAE,WAAW,EAA2B,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
import { randomBytes } from "crypto";
|
|
2
|
+
import { readFileSync, writeFileSync, renameSync, unlinkSync, existsSync, openSync, closeSync, constants, } from "fs";
|
|
3
|
+
/**
|
|
4
|
+
* A persistent storage module that supports multi-process access with file locking mechanism.
|
|
5
|
+
* This module ensures safe concurrent read/write operations across multiple processes.
|
|
6
|
+
*/
|
|
7
|
+
export class PersistentStorage {
|
|
8
|
+
filePath;
|
|
9
|
+
lock;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new PersistentStorage instance.
|
|
12
|
+
* @param filePath Path to the storage file
|
|
13
|
+
*/
|
|
14
|
+
constructor(filePath) {
|
|
15
|
+
this.filePath = filePath;
|
|
16
|
+
this.lock = new Lock(`${filePath}.lock`);
|
|
17
|
+
// Create the file if it doesn't exist
|
|
18
|
+
if (!existsSync(filePath)) {
|
|
19
|
+
writeFileSync(filePath, JSON.stringify({}));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Reads the entire storage content.
|
|
24
|
+
* @returns The parsed storage content
|
|
25
|
+
*/
|
|
26
|
+
async readAll() {
|
|
27
|
+
await this.lock.acquireShared();
|
|
28
|
+
try {
|
|
29
|
+
const content = readFileSync(this.filePath, "utf8");
|
|
30
|
+
return JSON.parse(content);
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
await this.lock.releaseShared();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Writes data to the storage.
|
|
38
|
+
* This operation is atomic and safe for multi-process access.
|
|
39
|
+
* @param data The data to write
|
|
40
|
+
*/
|
|
41
|
+
async writeAll(data) {
|
|
42
|
+
await this.lock.acquireExclusive();
|
|
43
|
+
try {
|
|
44
|
+
// Write to a temporary file first
|
|
45
|
+
const tempFilePath = `${this.filePath}.tmp.${randomBytes(8).toString("hex")}`;
|
|
46
|
+
writeFileSync(tempFilePath, JSON.stringify(data));
|
|
47
|
+
// Rename is atomic on most file systems
|
|
48
|
+
renameSync(tempFilePath, this.filePath);
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
await this.lock.releaseExclusive();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Updates a specific key in the storage.
|
|
56
|
+
* This operation is atomic and safe for multi-process access.
|
|
57
|
+
* @param key The key to update
|
|
58
|
+
* @param value The new value
|
|
59
|
+
*/
|
|
60
|
+
async set(key, value) {
|
|
61
|
+
await this.lock.acquireExclusive();
|
|
62
|
+
try {
|
|
63
|
+
const content = readFileSync(this.filePath, "utf8");
|
|
64
|
+
const data = JSON.parse(content);
|
|
65
|
+
data[key] = value;
|
|
66
|
+
const tempFilePath = `${this.filePath}.tmp.${randomBytes(8).toString("hex")}`;
|
|
67
|
+
writeFileSync(tempFilePath, JSON.stringify(data));
|
|
68
|
+
renameSync(tempFilePath, this.filePath);
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
await this.lock.releaseExclusive();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Gets a specific key from the storage.
|
|
76
|
+
* @param key The key to get
|
|
77
|
+
* @returns The value associated with the key
|
|
78
|
+
*/
|
|
79
|
+
async get(key) {
|
|
80
|
+
await this.lock.acquireShared();
|
|
81
|
+
try {
|
|
82
|
+
const content = readFileSync(this.filePath, "utf8");
|
|
83
|
+
const data = JSON.parse(content);
|
|
84
|
+
return data[key];
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
await this.lock.releaseShared();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Updates the storage using a transaction function.
|
|
92
|
+
* This operation is atomic and safe for multi-process access.
|
|
93
|
+
* @param transactionFn A function that takes the current data and returns updated data
|
|
94
|
+
*/
|
|
95
|
+
async transaction(transactionFn) {
|
|
96
|
+
await this.lock.acquireExclusive();
|
|
97
|
+
try {
|
|
98
|
+
const content = readFileSync(this.filePath, "utf8");
|
|
99
|
+
const data = JSON.parse(content);
|
|
100
|
+
const updatedData = transactionFn(data);
|
|
101
|
+
const tempFilePath = `${this.filePath}.tmp.${randomBytes(8).toString("hex")}`;
|
|
102
|
+
writeFileSync(tempFilePath, JSON.stringify(updatedData));
|
|
103
|
+
renameSync(tempFilePath, this.filePath);
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
await this.lock.releaseExclusive();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Clears all data from the storage.
|
|
111
|
+
*/
|
|
112
|
+
async clear() {
|
|
113
|
+
await this.lock.acquireExclusive();
|
|
114
|
+
try {
|
|
115
|
+
const tempFilePath = `${this.filePath}.tmp.${randomBytes(8).toString("hex")}`;
|
|
116
|
+
writeFileSync(tempFilePath, JSON.stringify({}));
|
|
117
|
+
renameSync(tempFilePath, this.filePath);
|
|
118
|
+
}
|
|
119
|
+
finally {
|
|
120
|
+
await this.lock.releaseExclusive();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* A file-based lock implementation that supports both shared and exclusive locks.
|
|
126
|
+
* This ensures safe concurrent access across multiple processes using atomic file operations.
|
|
127
|
+
*/
|
|
128
|
+
export class Lock {
|
|
129
|
+
lockPath;
|
|
130
|
+
sharedLockPath;
|
|
131
|
+
lockFd = null;
|
|
132
|
+
sharedLockCount = 0;
|
|
133
|
+
exclusiveLockCount = 0;
|
|
134
|
+
constructor(lockPath) {
|
|
135
|
+
this.lockPath = lockPath;
|
|
136
|
+
this.sharedLockPath = `${lockPath}.shared`;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Acquires a shared lock. Multiple processes can hold a shared lock simultaneously.
|
|
140
|
+
*/
|
|
141
|
+
async acquireShared() {
|
|
142
|
+
// If we already hold the exclusive lock, we can upgrade to shared
|
|
143
|
+
if (this.exclusiveLockCount > 0) {
|
|
144
|
+
this.sharedLockCount++;
|
|
145
|
+
this.exclusiveLockCount--;
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
// If we already hold a shared lock, just increment the count
|
|
149
|
+
if (this.sharedLockCount > 0) {
|
|
150
|
+
this.sharedLockCount++;
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
// Try to acquire a new shared lock
|
|
154
|
+
let attempts = 0;
|
|
155
|
+
const maxAttempts = 100;
|
|
156
|
+
const delay = 50; // milliseconds
|
|
157
|
+
while (attempts < maxAttempts) {
|
|
158
|
+
try {
|
|
159
|
+
// Check if exclusive lock exists
|
|
160
|
+
if (existsSync(this.lockPath)) {
|
|
161
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
162
|
+
attempts++;
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
// Create shared lock file (atomic operation)
|
|
166
|
+
writeFileSync(this.sharedLockPath, "");
|
|
167
|
+
this.sharedLockCount = 1;
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
// If we can't acquire the lock, wait before trying again
|
|
172
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
173
|
+
attempts++;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
throw new Error("Failed to acquire shared lock after multiple attempts");
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Acquires an exclusive lock. Only one process can hold an exclusive lock at a time.
|
|
180
|
+
*/
|
|
181
|
+
async acquireExclusive() {
|
|
182
|
+
// If we already hold the exclusive lock, just increment the count
|
|
183
|
+
if (this.exclusiveLockCount > 0) {
|
|
184
|
+
this.exclusiveLockCount++;
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
// Try to acquire a new exclusive lock
|
|
188
|
+
let attempts = 0;
|
|
189
|
+
const maxAttempts = 100;
|
|
190
|
+
const delay = 50; // milliseconds
|
|
191
|
+
while (attempts < maxAttempts) {
|
|
192
|
+
try {
|
|
193
|
+
// Check if shared lock exists
|
|
194
|
+
if (existsSync(this.sharedLockPath)) {
|
|
195
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
196
|
+
attempts++;
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
// Create exclusive lock file (atomic operation)
|
|
200
|
+
const fd = openSync(this.lockPath, constants.O_CREAT | constants.O_EXCL | constants.O_WRONLY, 0o644);
|
|
201
|
+
closeSync(fd);
|
|
202
|
+
this.exclusiveLockCount = 1;
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
// If we can't acquire the lock, wait before trying again
|
|
207
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
208
|
+
attempts++;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
throw new Error("Failed to acquire exclusive lock after multiple attempts");
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Releases a shared lock.
|
|
215
|
+
*/
|
|
216
|
+
async releaseShared() {
|
|
217
|
+
if (this.sharedLockCount === 0) {
|
|
218
|
+
throw new Error("No shared lock to release");
|
|
219
|
+
}
|
|
220
|
+
this.sharedLockCount--;
|
|
221
|
+
// If this was the last shared lock, release the file lock
|
|
222
|
+
if (this.sharedLockCount === 0) {
|
|
223
|
+
try {
|
|
224
|
+
unlinkSync(this.sharedLockPath);
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
// Ignore errors if the file doesn't exist
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Releases an exclusive lock.
|
|
233
|
+
*/
|
|
234
|
+
async releaseExclusive() {
|
|
235
|
+
if (this.exclusiveLockCount === 0) {
|
|
236
|
+
throw new Error("No exclusive lock to release");
|
|
237
|
+
}
|
|
238
|
+
this.exclusiveLockCount--;
|
|
239
|
+
// If this was the last exclusive lock, release the file lock
|
|
240
|
+
if (this.exclusiveLockCount === 0) {
|
|
241
|
+
try {
|
|
242
|
+
unlinkSync(this.lockPath);
|
|
243
|
+
}
|
|
244
|
+
catch (error) {
|
|
245
|
+
// Ignore errors if the file doesn't exist
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* A simple key-value store that supports multi-process access and persistence.
|
|
252
|
+
* This is a higher-level API built on top of PersistentStorage for easier use.
|
|
253
|
+
*/
|
|
254
|
+
export class MultiProcessKVStore {
|
|
255
|
+
storage;
|
|
256
|
+
/**
|
|
257
|
+
* Creates a new MultiProcessKVStore instance.
|
|
258
|
+
* @param filePath Path to the storage file
|
|
259
|
+
*/
|
|
260
|
+
constructor(filePath) {
|
|
261
|
+
this.storage = new PersistentStorage(filePath);
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Gets a value by key.
|
|
265
|
+
* @param key The key to get
|
|
266
|
+
* @returns The value associated with the key, or undefined if not found
|
|
267
|
+
*/
|
|
268
|
+
async get(key) {
|
|
269
|
+
return this.storage.get(key);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Sets a value by key.
|
|
273
|
+
* @param key The key to set
|
|
274
|
+
* @param value The value to set
|
|
275
|
+
*/
|
|
276
|
+
async set(key, value) {
|
|
277
|
+
return this.storage.set(key, value);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Deletes a key-value pair.
|
|
281
|
+
* @param key The key to delete
|
|
282
|
+
*/
|
|
283
|
+
async delete(key) {
|
|
284
|
+
return this.storage.transaction((data) => {
|
|
285
|
+
delete data[key];
|
|
286
|
+
return data;
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Checks if a key exists.
|
|
291
|
+
* @param key The key to check
|
|
292
|
+
* @returns True if the key exists, false otherwise
|
|
293
|
+
*/
|
|
294
|
+
async has(key) {
|
|
295
|
+
const value = await this.storage.get(key);
|
|
296
|
+
return value !== undefined;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Gets all keys.
|
|
300
|
+
* @returns An array of all keys
|
|
301
|
+
*/
|
|
302
|
+
async keys() {
|
|
303
|
+
const data = await this.storage.readAll();
|
|
304
|
+
return Object.keys(data);
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Gets all values.
|
|
308
|
+
* @returns An array of all values
|
|
309
|
+
*/
|
|
310
|
+
async values() {
|
|
311
|
+
const data = await this.storage.readAll();
|
|
312
|
+
return Object.values(data);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Gets all key-value pairs.
|
|
316
|
+
* @returns An array of all key-value pairs
|
|
317
|
+
*/
|
|
318
|
+
async entries() {
|
|
319
|
+
const data = await this.storage.readAll();
|
|
320
|
+
return Object.entries(data);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Clears all key-value pairs.
|
|
324
|
+
*/
|
|
325
|
+
async clear() {
|
|
326
|
+
return this.storage.clear();
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Gets the number of key-value pairs.
|
|
330
|
+
* @returns The number of key-value pairs
|
|
331
|
+
*/
|
|
332
|
+
async size() {
|
|
333
|
+
const data = await this.storage.readAll();
|
|
334
|
+
return Object.keys(data).length;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=persistent-storage.js.map
|