wowok 2.1.13 → 2.1.16
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.js +160 -164
- package/dist/cjs/bcs/bcs.js.map +1 -1
- package/dist/cjs/bcs/effects.js +109 -112
- package/dist/cjs/bcs/effects.js.map +1 -1
- package/dist/cjs/bcs/index.js +49 -58
- package/dist/cjs/bcs/index.js.map +1 -1
- package/dist/cjs/bcs/pure.js +14 -17
- package/dist/cjs/bcs/pure.js.map +1 -1
- package/dist/cjs/bcs/type-tag-serializer.js +6 -11
- package/dist/cjs/bcs/type-tag-serializer.js.map +1 -1
- package/dist/cjs/bcs/types.js +1 -4
- package/dist/cjs/bcs/types.js.map +1 -1
- package/dist/cjs/client/index.js +4 -15
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/client/network.js +3 -7
- package/dist/cjs/client/network.js.map +1 -1
- package/dist/cjs/cryptography/index.js +6 -27
- package/dist/cjs/cryptography/index.js.map +1 -1
- package/dist/cjs/cryptography/intent.js +4 -7
- package/dist/cjs/cryptography/intent.js.map +1 -1
- package/dist/cjs/cryptography/keypair.js +26 -33
- package/dist/cjs/cryptography/keypair.js.map +1 -1
- package/dist/cjs/cryptography/mnemonics.js +8 -14
- package/dist/cjs/cryptography/mnemonics.js.map +1 -1
- package/dist/cjs/cryptography/publickey.js +19 -25
- package/dist/cjs/cryptography/publickey.js.map +1 -1
- package/dist/cjs/cryptography/signature-scheme.js +3 -6
- package/dist/cjs/cryptography/signature-scheme.js.map +1 -1
- package/dist/cjs/cryptography/signature.js +14 -18
- package/dist/cjs/cryptography/signature.js.map +1 -1
- package/dist/cjs/experimental/cache.js +1 -5
- package/dist/cjs/experimental/cache.js.map +1 -1
- package/dist/cjs/experimental/client.js +3 -7
- package/dist/cjs/experimental/client.js.map +1 -1
- package/dist/cjs/experimental/core.js +11 -15
- package/dist/cjs/experimental/core.js.map +1 -1
- package/dist/cjs/experimental/errors.js +2 -7
- package/dist/cjs/experimental/errors.js.map +1 -1
- package/dist/cjs/experimental/index.js +5 -12
- package/dist/cjs/experimental/index.js.map +1 -1
- package/dist/cjs/experimental/persistent-storage.js +30 -36
- package/dist/cjs/experimental/persistent-storage.js.map +1 -1
- package/dist/cjs/experimental/persistent-storage.test.js +18 -20
- package/dist/cjs/experimental/persistent-storage.test.js.map +1 -1
- package/dist/cjs/experimental/transports/utils.js +6 -10
- package/dist/cjs/experimental/transports/utils.js.map +1 -1
- package/dist/cjs/experimental/types.js +1 -2
- package/dist/cjs/experimental/types.js.map +1 -1
- package/dist/cjs/faucet/faucet.js +6 -15
- package/dist/cjs/faucet/faucet.js.map +1 -1
- package/dist/cjs/faucet/index.js +1 -10
- package/dist/cjs/faucet/index.js.map +1 -1
- package/dist/cjs/grpc/client.js +20 -24
- package/dist/cjs/grpc/client.js.map +1 -1
- package/dist/cjs/grpc/core.js +65 -70
- package/dist/cjs/grpc/core.js.map +1 -1
- package/dist/cjs/grpc/index.js +2 -7
- package/dist/cjs/grpc/index.js.map +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/any.js +10 -13
- package/dist/cjs/grpc/proto/google/protobuf/any.js.map +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/duration.js +8 -11
- package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/empty.js +3 -6
- package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +7 -10
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/struct.js +25 -28
- package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +11 -14
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +1 -1
- package/dist/cjs/grpc/proto/google/rpc/error_details.js +36 -39
- package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +1 -1
- package/dist/cjs/grpc/proto/google/rpc/status.js +5 -8
- package/dist/cjs/grpc/proto/google/rpc/status.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +5 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +3 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +3 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +13 -16
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +10 -13
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +20 -23
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +29 -32
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +12 -15
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +2 -5
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +11 -14
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +17 -20
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +45 -48
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +3 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +7 -10
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +5 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +13 -17
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +73 -76
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +48 -51
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +10 -14
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +36 -39
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +8 -12
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +21 -24
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +15 -18
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +3 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +5 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +3 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +67 -70
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +2 -5
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +7 -11
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +15 -18
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +11 -15
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +67 -70
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +7 -11
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +13 -16
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +38 -41
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +124 -127
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +8 -12
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +41 -44
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +1 -1
- package/dist/cjs/index.js +22 -87
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jsonRpc/client.js +29 -34
- package/dist/cjs/jsonRpc/client.js.map +1 -1
- package/dist/cjs/jsonRpc/core.js +29 -33
- package/dist/cjs/jsonRpc/core.js.map +1 -1
- package/dist/cjs/jsonRpc/errors.js +3 -9
- package/dist/cjs/jsonRpc/errors.js.map +1 -1
- package/dist/cjs/jsonRpc/http-transport.js +9 -13
- package/dist/cjs/jsonRpc/http-transport.js.map +1 -1
- package/dist/cjs/jsonRpc/index.js +3 -12
- package/dist/cjs/jsonRpc/index.js.map +1 -1
- package/dist/cjs/jsonRpc/json-rpc-resolver.js +19 -22
- package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +1 -1
- package/dist/cjs/jsonRpc/rpc-websocket-client.js +5 -9
- package/dist/cjs/jsonRpc/rpc-websocket-client.js.map +1 -1
- package/dist/cjs/jsonRpc/types/chain.js +1 -2
- package/dist/cjs/jsonRpc/types/chain.js.map +1 -1
- package/dist/cjs/jsonRpc/types/changes.js +1 -2
- package/dist/cjs/jsonRpc/types/changes.js.map +1 -1
- package/dist/cjs/jsonRpc/types/coins.js +1 -2
- package/dist/cjs/jsonRpc/types/coins.js.map +1 -1
- package/dist/cjs/jsonRpc/types/common.js +1 -2
- package/dist/cjs/jsonRpc/types/common.js.map +1 -1
- package/dist/cjs/jsonRpc/types/generated.js +1 -2
- package/dist/cjs/jsonRpc/types/generated.js.map +1 -1
- package/dist/cjs/jsonRpc/types/index.js +1 -2
- package/dist/cjs/jsonRpc/types/index.js.map +1 -1
- package/dist/cjs/jsonRpc/types/params.js +1 -2
- package/dist/cjs/jsonRpc/types/params.js.map +1 -1
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +7 -11
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +1 -1
- package/dist/cjs/keypairs/ed25519/index.js +2 -8
- package/dist/cjs/keypairs/ed25519/index.js.map +1 -1
- package/dist/cjs/keypairs/ed25519/keypair.js +26 -30
- package/dist/cjs/keypairs/ed25519/keypair.js.map +1 -1
- package/dist/cjs/keypairs/ed25519/publickey.js +10 -14
- package/dist/cjs/keypairs/ed25519/publickey.js.map +1 -1
- package/dist/cjs/keypairs/index.js +4 -20
- package/dist/cjs/keypairs/index.js.map +1 -1
- package/dist/cjs/keypairs/passkey/index.js +2 -9
- package/dist/cjs/keypairs/passkey/index.js.map +1 -1
- package/dist/cjs/keypairs/passkey/keypair.js +29 -35
- package/dist/cjs/keypairs/passkey/keypair.js.map +1 -1
- package/dist/cjs/keypairs/passkey/publickey.js +35 -41
- package/dist/cjs/keypairs/passkey/publickey.js.map +1 -1
- package/dist/cjs/keypairs/passkey/types.js +1 -2
- package/dist/cjs/keypairs/passkey/types.js.map +1 -1
- package/dist/cjs/keypairs/secp256k1/index.js +2 -8
- package/dist/cjs/keypairs/secp256k1/index.js.map +1 -1
- package/dist/cjs/keypairs/secp256k1/keypair.js +25 -29
- package/dist/cjs/keypairs/secp256k1/keypair.js.map +1 -1
- package/dist/cjs/keypairs/secp256k1/publickey.js +11 -15
- package/dist/cjs/keypairs/secp256k1/publickey.js.map +1 -1
- package/dist/cjs/keypairs/secp256r1/index.js +2 -8
- package/dist/cjs/keypairs/secp256r1/index.js.map +1 -1
- package/dist/cjs/keypairs/secp256r1/keypair.js +25 -29
- package/dist/cjs/keypairs/secp256r1/keypair.js.map +1 -1
- package/dist/cjs/keypairs/secp256r1/publickey.js +12 -16
- package/dist/cjs/keypairs/secp256r1/publickey.js.map +1 -1
- package/dist/cjs/multisig/index.js +2 -8
- package/dist/cjs/multisig/index.js.map +1 -1
- package/dist/cjs/multisig/publickey.js +40 -45
- package/dist/cjs/multisig/publickey.js.map +1 -1
- package/dist/cjs/multisig/signer.js +5 -9
- package/dist/cjs/multisig/signer.js.map +1 -1
- package/dist/cjs/transactions/Arguments.js +5 -8
- package/dist/cjs/transactions/Arguments.js.map +1 -1
- package/dist/cjs/transactions/Commands.js +21 -24
- package/dist/cjs/transactions/Commands.js.map +1 -1
- package/dist/cjs/transactions/Inputs.js +7 -10
- package/dist/cjs/transactions/Inputs.js.map +1 -1
- package/dist/cjs/transactions/ObjectCache.js +7 -13
- package/dist/cjs/transactions/ObjectCache.js.map +1 -1
- package/dist/cjs/transactions/Transaction.js +54 -59
- package/dist/cjs/transactions/Transaction.js.map +1 -1
- package/dist/cjs/transactions/TransactionData.js +27 -31
- package/dist/cjs/transactions/TransactionData.js.map +1 -1
- package/dist/cjs/transactions/__tests__/Transaction.test.js +71 -73
- package/dist/cjs/transactions/__tests__/Transaction.test.js.map +1 -1
- package/dist/cjs/transactions/__tests__/bcs.test.js +26 -28
- package/dist/cjs/transactions/__tests__/bcs.test.js.map +1 -1
- package/dist/cjs/transactions/data/internal.js +122 -126
- package/dist/cjs/transactions/data/internal.js.map +1 -1
- package/dist/cjs/transactions/data/v1.js +114 -119
- package/dist/cjs/transactions/data/v1.js.map +1 -1
- package/dist/cjs/transactions/data/v2.js +63 -66
- package/dist/cjs/transactions/data/v2.js.map +1 -1
- package/dist/cjs/transactions/executor/caching.js +7 -11
- package/dist/cjs/transactions/executor/caching.js.map +1 -1
- package/dist/cjs/transactions/executor/parallel.js +20 -24
- package/dist/cjs/transactions/executor/parallel.js.map +1 -1
- package/dist/cjs/transactions/executor/queue.js +2 -7
- package/dist/cjs/transactions/executor/queue.js.map +1 -1
- package/dist/cjs/transactions/executor/serial.js +11 -16
- package/dist/cjs/transactions/executor/serial.js.map +1 -1
- package/dist/cjs/transactions/hash.js +3 -6
- package/dist/cjs/transactions/hash.js.map +1 -1
- package/dist/cjs/transactions/index.js +12 -31
- package/dist/cjs/transactions/index.js.map +1 -1
- package/dist/cjs/transactions/intents/CoinWithBalance.js +21 -25
- package/dist/cjs/transactions/intents/CoinWithBalance.js.map +1 -1
- package/dist/cjs/transactions/object.js +4 -7
- package/dist/cjs/transactions/object.js.map +1 -1
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +2 -7
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +1 -1
- package/dist/cjs/transactions/pure.js +19 -22
- package/dist/cjs/transactions/pure.js.map +1 -1
- package/dist/cjs/transactions/resolve.js +10 -15
- package/dist/cjs/transactions/resolve.js.map +1 -1
- package/dist/cjs/transactions/serializer.js +34 -40
- package/dist/cjs/transactions/serializer.js.map +1 -1
- package/dist/cjs/transactions/utils.js +15 -23
- package/dist/cjs/transactions/utils.js.map +1 -1
- package/dist/cjs/utils/constants.js +18 -21
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/derived-objects.js +5 -8
- package/dist/cjs/utils/derived-objects.js.map +1 -1
- package/dist/cjs/utils/dynamic-fields.js +9 -12
- package/dist/cjs/utils/dynamic-fields.js.map +1 -1
- package/dist/cjs/utils/format.js +2 -6
- package/dist/cjs/utils/format.js.map +1 -1
- package/dist/cjs/utils/index.js +10 -46
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/move-registry.js +5 -10
- package/dist/cjs/utils/move-registry.js.map +1 -1
- package/dist/cjs/utils/sui-types.js +15 -25
- package/dist/cjs/utils/sui-types.js.map +1 -1
- package/dist/cjs/utils/suins.js +2 -6
- package/dist/cjs/utils/suins.js.map +1 -1
- package/dist/cjs/verify/index.js +1 -9
- package/dist/cjs/verify/index.js.map +1 -1
- package/dist/cjs/verify/verify.js +21 -28
- package/dist/cjs/verify/verify.js.map +1 -1
- package/dist/cjs/version.js +2 -5
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/w/call/allocation.js +88 -99
- package/dist/cjs/w/call/allocation.js.map +1 -1
- package/dist/cjs/w/call/arb.js +49 -58
- package/dist/cjs/w/call/arb.js.map +1 -1
- package/dist/cjs/w/call/arbitration.js +380 -406
- package/dist/cjs/w/call/arbitration.js.map +1 -1
- package/dist/cjs/w/call/base.js +63 -73
- package/dist/cjs/w/call/base.js.map +1 -1
- package/dist/cjs/w/call/contact.js +111 -123
- package/dist/cjs/w/call/contact.js.map +1 -1
- package/dist/cjs/w/call/demand.js +221 -238
- package/dist/cjs/w/call/demand.js.map +1 -1
- package/dist/cjs/w/call/entity.js +58 -75
- package/dist/cjs/w/call/entity.js.map +1 -1
- package/dist/cjs/w/call/guard-ins.js +1191 -1196
- package/dist/cjs/w/call/guard-ins.js.map +1 -1
- package/dist/cjs/w/call/guard.js +265 -286
- package/dist/cjs/w/call/guard.js.map +1 -1
- package/dist/cjs/w/call/index.js +22 -66
- package/dist/cjs/w/call/index.js.map +1 -1
- package/dist/cjs/w/call/machine.js +351 -378
- package/dist/cjs/w/call/machine.js.map +1 -1
- package/dist/cjs/w/call/order.js +102 -113
- package/dist/cjs/w/call/order.js.map +1 -1
- package/dist/cjs/w/call/passport.js +53 -65
- package/dist/cjs/w/call/passport.js.map +1 -1
- package/dist/cjs/w/call/payment.js +41 -50
- package/dist/cjs/w/call/payment.js.map +1 -1
- package/dist/cjs/w/call/permission.js +233 -263
- package/dist/cjs/w/call/permission.js.map +1 -1
- package/dist/cjs/w/call/personal.js +38 -42
- package/dist/cjs/w/call/personal.js.map +1 -1
- package/dist/cjs/w/call/progress.js +222 -240
- package/dist/cjs/w/call/progress.js.map +1 -1
- package/dist/cjs/w/call/proof.js +23 -30
- package/dist/cjs/w/call/proof.js.map +1 -1
- package/dist/cjs/w/call/repository.js +283 -302
- package/dist/cjs/w/call/repository.js.map +1 -1
- package/dist/cjs/w/call/resource.js +27 -37
- package/dist/cjs/w/call/resource.js.map +1 -1
- package/dist/cjs/w/call/reward.js +227 -241
- package/dist/cjs/w/call/reward.js.map +1 -1
- package/dist/cjs/w/call/service.js +653 -694
- package/dist/cjs/w/call/service.js.map +1 -1
- package/dist/cjs/w/call/treasury.js +270 -289
- package/dist/cjs/w/call/treasury.js.map +1 -1
- package/dist/cjs/w/call/util.js +201 -208
- package/dist/cjs/w/call/util.js.map +1 -1
- package/dist/cjs/w/common.js +117 -168
- package/dist/cjs/w/common.js.map +1 -1
- package/dist/cjs/w/exception.js +18 -30
- package/dist/cjs/w/exception.js.map +1 -1
- package/dist/cjs/w/index.js +8 -24
- package/dist/cjs/w/index.js.map +1 -1
- package/dist/cjs/w/local/account.js +73 -77
- package/dist/cjs/w/local/account.js.map +1 -1
- package/dist/cjs/w/local/cache.js +5 -9
- package/dist/cjs/w/local/cache.js.map +1 -1
- package/dist/cjs/w/local/config.js +10 -14
- package/dist/cjs/w/local/config.js.map +1 -1
- package/dist/cjs/w/local/index.js +65 -98
- package/dist/cjs/w/local/index.js.map +1 -1
- package/dist/cjs/w/local/local.js +59 -65
- package/dist/cjs/w/local/local.js.map +1 -1
- package/dist/cjs/w/local/storage.js +13 -56
- package/dist/cjs/w/local/storage.js.map +1 -1
- package/dist/cjs/w/local/token.js +20 -24
- package/dist/cjs/w/local/token.js.map +1 -1
- package/dist/cjs/w/local/util.js +3 -39
- package/dist/cjs/w/local/util.js.map +1 -1
- package/dist/cjs/w/local/wip.js +22 -70
- package/dist/cjs/w/local/wip.js.map +1 -1
- package/dist/cjs/w/messenger/crypto.js +34 -57
- package/dist/cjs/w/messenger/crypto.js.map +1 -1
- package/dist/cjs/w/messenger/index.js +4 -31
- package/dist/cjs/w/messenger/index.js.map +1 -1
- package/dist/cjs/w/messenger/messenger-api.d.ts +1 -3
- package/dist/cjs/w/messenger/messenger-api.js +128 -178
- package/dist/cjs/w/messenger/messenger-api.js.map +1 -1
- package/dist/cjs/w/messenger/messenger-manager.d.ts +3 -5
- package/dist/cjs/w/messenger/messenger-manager.js +65 -69
- package/dist/cjs/w/messenger/messenger-manager.js.map +1 -1
- package/dist/cjs/w/messenger/messenger.js +100 -137
- package/dist/cjs/w/messenger/messenger.js.map +1 -1
- package/dist/cjs/w/messenger/server.js +40 -44
- package/dist/cjs/w/messenger/server.js.map +1 -1
- package/dist/cjs/w/messenger/session.js +52 -56
- package/dist/cjs/w/messenger/session.js.map +1 -1
- package/dist/cjs/w/messenger/storage.js +13 -57
- package/dist/cjs/w/messenger/storage.js.map +1 -1
- package/dist/cjs/w/messenger/types.d.ts +3 -1
- package/dist/cjs/w/messenger/types.js +23 -27
- package/dist/cjs/w/messenger/types.js.map +1 -1
- package/dist/cjs/w/messenger/utils.js +1 -4
- package/dist/cjs/w/messenger/utils.js.map +1 -1
- package/dist/cjs/w/query/bult-in.js +22 -27
- package/dist/cjs/w/query/bult-in.js.map +1 -1
- package/dist/cjs/w/query/event.js +13 -18
- package/dist/cjs/w/query/event.js.map +1 -1
- package/dist/cjs/w/query/index.js +5 -21
- package/dist/cjs/w/query/index.js.map +1 -1
- package/dist/cjs/w/query/object.js +229 -266
- package/dist/cjs/w/query/object.js.map +1 -1
- package/dist/cjs/w/query/received.js +17 -21
- package/dist/cjs/w/query/received.js.map +1 -1
- package/dist/cjs/w/query/util.js +13 -17
- package/dist/cjs/w/query/util.js.map +1 -1
- package/dist/cjs/w/util.js +211 -225
- package/dist/cjs/w/util.js.map +1 -1
- package/dist/esm/experimental/persistent-storage.test.js +1 -1
- package/dist/esm/experimental/persistent-storage.test.js.map +1 -1
- package/dist/esm/w/messenger/messenger-api.d.ts +1 -3
- package/dist/esm/w/messenger/messenger-api.js +7 -8
- package/dist/esm/w/messenger/messenger-api.js.map +1 -1
- package/dist/esm/w/messenger/messenger-manager.d.ts +3 -5
- package/dist/esm/w/messenger/messenger-manager.js +16 -16
- package/dist/esm/w/messenger/messenger-manager.js.map +1 -1
- package/dist/esm/w/messenger/types.d.ts +3 -1
- package/dist/esm/w/messenger/types.js.map +1 -1
- package/package.json +7 -4
- package/scripts/download-prebuilds.js +213 -195
- package/scripts/install-better-sqlite3.js +8 -8
package/dist/cjs/w/call/util.js
CHANGED
|
@@ -1,129 +1,123 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright (c) Wowok.
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const getCallEnvAccount = async (env) => {
|
|
14
|
-
const acc = await (0, index_js_2.GetAccountOrMark_Address)({
|
|
3
|
+
import { bcs } from "../../bcs/index.js";
|
|
4
|
+
import { isValueTypeNumber, OperatorType, ValueType, parseValueType, } from "../common.js";
|
|
5
|
+
import { ContextType, MAX_ENV_PERMISSION_GUARD_COUNT } from "../common.js";
|
|
6
|
+
import { W_ERROR, WErrors } from "../exception.js";
|
|
7
|
+
import { Config, GetAccountOrMark_Address } from "../local/index.js";
|
|
8
|
+
import { LocalMark } from "../local/local.js";
|
|
9
|
+
import { GUARDQUERY, getGuardQueryInfo } from "./guard-ins.js";
|
|
10
|
+
export const getCallEnvAccount = async (env) => {
|
|
11
|
+
const acc = await GetAccountOrMark_Address({
|
|
15
12
|
name_or_address: env.account || "",
|
|
16
13
|
});
|
|
17
14
|
if (!acc) {
|
|
18
|
-
|
|
15
|
+
W_ERROR(WErrors.InvalidParam, `account ${env.account} not found`);
|
|
19
16
|
}
|
|
20
17
|
env.account = acc;
|
|
21
18
|
return acc;
|
|
22
19
|
};
|
|
23
|
-
exports.getCallEnvAccount = getCallEnvAccount;
|
|
24
20
|
function createSingleOperandNode(property, operand) {
|
|
25
21
|
const node = { type: property, node: operand };
|
|
26
22
|
return node;
|
|
27
23
|
}
|
|
28
|
-
const resolveCallEnv = async (env) => {
|
|
29
|
-
env.network = await
|
|
30
|
-
const acc = await
|
|
24
|
+
export const resolveCallEnv = async (env) => {
|
|
25
|
+
env.network = await Config.Instance().network_get(env?.network);
|
|
26
|
+
const acc = await getCallEnvAccount(env);
|
|
31
27
|
// 去重处理
|
|
32
28
|
if (env?.permission_guard && env.permission_guard?.length > 0) {
|
|
33
|
-
const guards = await
|
|
29
|
+
const guards = await LocalMark.Instance().get_many_address_availables(env.permission_guard);
|
|
34
30
|
if (guards.length !== env.permission_guard.length) {
|
|
35
31
|
// 找出没有找到的 guard
|
|
36
32
|
const foundGuardSet = new Set(guards);
|
|
37
33
|
const notFoundGuards = env.permission_guard.filter((guard) => !foundGuardSet.has(guard));
|
|
38
|
-
|
|
34
|
+
W_ERROR(WErrors.InvalidParam, `permission_guard not found: ${notFoundGuards.join(", ")}`);
|
|
39
35
|
}
|
|
40
36
|
env.permission_guard = [...guards];
|
|
41
|
-
if (env.permission_guard.length >
|
|
42
|
-
|
|
37
|
+
if (env.permission_guard.length > MAX_ENV_PERMISSION_GUARD_COUNT) {
|
|
38
|
+
W_ERROR(WErrors.InvalidParam, `permission_guard length ${env.permission_guard.length} exceeds ${MAX_ENV_PERMISSION_GUARD_COUNT}`);
|
|
43
39
|
}
|
|
44
40
|
}
|
|
45
41
|
if (env?.referrer) {
|
|
46
|
-
const r = await
|
|
42
|
+
const r = await GetAccountOrMark_Address({
|
|
47
43
|
name_or_address: env.referrer || "",
|
|
48
44
|
});
|
|
49
45
|
if (r) {
|
|
50
46
|
env.referrer = r;
|
|
51
47
|
}
|
|
52
48
|
else {
|
|
53
|
-
|
|
49
|
+
W_ERROR(WErrors.InvalidParam, `referrer ${env.referrer} not found`);
|
|
54
50
|
}
|
|
55
51
|
}
|
|
56
52
|
return acc;
|
|
57
53
|
};
|
|
58
|
-
exports.resolveCallEnv = resolveCallEnv;
|
|
59
54
|
// ================================================
|
|
60
55
|
// 从output和table恢复GuardNode的函数
|
|
61
56
|
// ================================================
|
|
62
|
-
const checkType = (type, type_required, node) => {
|
|
57
|
+
export const checkType = (type, type_required, node) => {
|
|
63
58
|
if (type_required === "variable") {
|
|
64
59
|
return;
|
|
65
60
|
}
|
|
66
61
|
else if (type_required === "number") {
|
|
67
|
-
if (
|
|
68
|
-
type ===
|
|
69
|
-
type ===
|
|
62
|
+
if (isValueTypeNumber(type) ||
|
|
63
|
+
type === ContextType.TypeClock ||
|
|
64
|
+
type === ValueType.Value) {
|
|
70
65
|
return;
|
|
71
66
|
}
|
|
72
67
|
}
|
|
73
|
-
else if (type_required ===
|
|
74
|
-
if (type ===
|
|
75
|
-
type ===
|
|
76
|
-
type ===
|
|
68
|
+
else if (type_required === ValueType.Address) {
|
|
69
|
+
if (type === ContextType.TypeSigner ||
|
|
70
|
+
type === ContextType.TypeGuard ||
|
|
71
|
+
type === ValueType.Value) {
|
|
77
72
|
return;
|
|
78
73
|
}
|
|
79
74
|
}
|
|
80
|
-
else if (type ===
|
|
75
|
+
else if (type === ValueType.Value) {
|
|
81
76
|
// Value 是动态类型,可以匹配任何具体类型
|
|
82
77
|
return;
|
|
83
78
|
}
|
|
84
|
-
else if (type_required ===
|
|
79
|
+
else if (type_required === ValueType.Value) {
|
|
85
80
|
// 任何类型都可以赋值给 Value 类型
|
|
86
81
|
return;
|
|
87
82
|
}
|
|
88
83
|
else if (type_required === "vec_number") {
|
|
89
|
-
if (type ===
|
|
90
|
-
type ===
|
|
91
|
-
type ===
|
|
92
|
-
type ===
|
|
93
|
-
type ===
|
|
94
|
-
type ===
|
|
84
|
+
if (type === ValueType.VecU8 ||
|
|
85
|
+
type === ValueType.VecU16 ||
|
|
86
|
+
type === ValueType.VecU32 ||
|
|
87
|
+
type === ValueType.VecU64 ||
|
|
88
|
+
type === ValueType.VecU128 ||
|
|
89
|
+
type === ValueType.VecU256) {
|
|
95
90
|
return;
|
|
96
91
|
}
|
|
97
92
|
}
|
|
98
93
|
else if (type_required === "vec") {
|
|
99
|
-
if (type ===
|
|
100
|
-
type ===
|
|
101
|
-
type ===
|
|
102
|
-
type ===
|
|
103
|
-
type ===
|
|
104
|
-
type ===
|
|
105
|
-
type ===
|
|
106
|
-
type ===
|
|
107
|
-
type ===
|
|
94
|
+
if (type === ValueType.VecBool ||
|
|
95
|
+
type === ValueType.VecAddress ||
|
|
96
|
+
type === ValueType.VecString ||
|
|
97
|
+
type === ValueType.VecU8 ||
|
|
98
|
+
type === ValueType.VecU16 ||
|
|
99
|
+
type === ValueType.VecU32 ||
|
|
100
|
+
type === ValueType.VecU64 ||
|
|
101
|
+
type === ValueType.VecU128 ||
|
|
102
|
+
type === ValueType.VecU256) {
|
|
108
103
|
return;
|
|
109
104
|
}
|
|
110
105
|
}
|
|
111
106
|
if (type !== type_required) {
|
|
112
|
-
|
|
107
|
+
W_ERROR(WErrors.InvalidParam, `checkType: ${type} require type: ${type_required} with node: ${JSON.stringify(node)}`);
|
|
113
108
|
}
|
|
114
109
|
};
|
|
115
|
-
exports.checkType = checkType;
|
|
116
110
|
// 从链上获取数据,就不用再checkType
|
|
117
111
|
const parseNode = (parserState) => {
|
|
118
112
|
if (parserState.currentPosition >= parserState.output.length) {
|
|
119
|
-
|
|
113
|
+
W_ERROR(WErrors.InvalidParam, "parseNode: Unexpected end of output while parsing node");
|
|
120
114
|
}
|
|
121
115
|
const opCode = parserState.output[parserState.currentPosition];
|
|
122
116
|
parserState.currentPosition++;
|
|
123
117
|
switch (opCode) {
|
|
124
|
-
case
|
|
118
|
+
case ContextType.TypeConstant: // TYPE_CONSTANT
|
|
125
119
|
if (parserState.currentPosition >= parserState.output.length) {
|
|
126
|
-
|
|
120
|
+
W_ERROR(WErrors.InvalidParam, "parseNode: Missing identifier after TypeConstant opcode");
|
|
127
121
|
}
|
|
128
122
|
const identifierByte = parserState.output[parserState.currentPosition];
|
|
129
123
|
parserState.currentPosition++;
|
|
@@ -138,103 +132,103 @@ const parseNode = (parserState) => {
|
|
|
138
132
|
);
|
|
139
133
|
}*/
|
|
140
134
|
return { type: "identifier", identifier: identifierByte };
|
|
141
|
-
case
|
|
135
|
+
case OperatorType.TypeQuery: // QUERY TYPE
|
|
142
136
|
return parseQueryNode(parserState);
|
|
143
|
-
case
|
|
137
|
+
case OperatorType.TypeLogicAsU256GreaterEqual:
|
|
144
138
|
return parseMultiOperandNode(parserState, "logic_as_u256_greater_or_equal");
|
|
145
|
-
case
|
|
139
|
+
case OperatorType.TypeLogicAsU256LesserEqual:
|
|
146
140
|
return parseMultiOperandNode(parserState, "logic_as_u256_lesser_or_equal");
|
|
147
|
-
case
|
|
141
|
+
case OperatorType.TypeLogicAsU256Equal:
|
|
148
142
|
return parseMultiOperandNode(parserState, "logic_as_u256_equal");
|
|
149
|
-
case
|
|
143
|
+
case OperatorType.TypeLogicAsU256Greater:
|
|
150
144
|
return parseMultiOperandNode(parserState, "logic_as_u256_greater");
|
|
151
|
-
case
|
|
145
|
+
case OperatorType.TypeLogicAsU256Lesser:
|
|
152
146
|
return parseMultiOperandNode(parserState, "logic_as_u256_lesser");
|
|
153
|
-
case
|
|
147
|
+
case OperatorType.TypeLogicEqual:
|
|
154
148
|
return parseMultiOperandNode(parserState, "logic_equal");
|
|
155
|
-
case
|
|
149
|
+
case OperatorType.TypeLogicAnd:
|
|
156
150
|
return parseMultiOperandNode(parserState, "logic_and");
|
|
157
|
-
case
|
|
151
|
+
case OperatorType.TypeLogicOr:
|
|
158
152
|
return parseMultiOperandNode(parserState, "logic_or");
|
|
159
|
-
case
|
|
153
|
+
case OperatorType.TypeStringContains:
|
|
160
154
|
return parseMultiOperandNode(parserState, "logic_string_contains");
|
|
161
|
-
case
|
|
155
|
+
case OperatorType.TypeStringNocaseContains:
|
|
162
156
|
return parseMultiOperandNode(parserState, "logic_string_nocase_contains");
|
|
163
|
-
case
|
|
157
|
+
case OperatorType.TypeStringNocaseEqual:
|
|
164
158
|
return parseMultiOperandNode(parserState, "logic_string_nocase_equal");
|
|
165
|
-
case
|
|
159
|
+
case OperatorType.TypeNumberAdd:
|
|
166
160
|
return parseMultiOperandNode(parserState, "calc_number_add");
|
|
167
|
-
case
|
|
161
|
+
case OperatorType.TypeNumberSubtract:
|
|
168
162
|
return parseMultiOperandNode(parserState, "calc_number_subtract");
|
|
169
|
-
case
|
|
163
|
+
case OperatorType.TypeNumberMultiply:
|
|
170
164
|
return parseMultiOperandNode(parserState, "calc_number_multiply");
|
|
171
|
-
case
|
|
165
|
+
case OperatorType.TypeNumberDivide:
|
|
172
166
|
return parseMultiOperandNode(parserState, "calc_number_divide");
|
|
173
|
-
case
|
|
167
|
+
case OperatorType.TypeNumberMod:
|
|
174
168
|
return parseMultiOperandNode(parserState, "calc_number_mod");
|
|
175
|
-
case
|
|
169
|
+
case OperatorType.TypeLogicNot:
|
|
176
170
|
return parseSingleOperandNode(parserState, "logic_not");
|
|
177
|
-
case
|
|
171
|
+
case OperatorType.TypeStringLength:
|
|
178
172
|
return parseSingleOperandNode(parserState, "calc_string_length");
|
|
179
|
-
case
|
|
173
|
+
case OperatorType.TypeNumberAddress:
|
|
180
174
|
return parseSingleOperandNode(parserState, "convert_number_address");
|
|
181
|
-
case
|
|
175
|
+
case OperatorType.TypeAddressNumber:
|
|
182
176
|
return parseSingleOperandNode(parserState, "convert_address_number");
|
|
183
|
-
case
|
|
177
|
+
case OperatorType.TypeNumberString:
|
|
184
178
|
return parseSingleOperandNode(parserState, "convert_number_string");
|
|
185
|
-
case
|
|
179
|
+
case OperatorType.TypeStringNumber:
|
|
186
180
|
return parseSingleOperandNode(parserState, "convert_string_number");
|
|
187
181
|
/*case OperatorType.TypeStringLowercase:
|
|
188
182
|
return parseSingleOperandNode(
|
|
189
183
|
parserState,
|
|
190
184
|
"convert_string_lowercase",
|
|
191
185
|
);*/
|
|
192
|
-
case
|
|
186
|
+
case OperatorType.TypeSafeU8:
|
|
193
187
|
return parseSingleOperandNode(parserState, "convert_safe_u8");
|
|
194
|
-
case
|
|
188
|
+
case OperatorType.TypeSafeU16:
|
|
195
189
|
return parseSingleOperandNode(parserState, "convert_safe_u16");
|
|
196
|
-
case
|
|
190
|
+
case OperatorType.TypeSafeU32:
|
|
197
191
|
return parseSingleOperandNode(parserState, "convert_safe_u32");
|
|
198
|
-
case
|
|
192
|
+
case OperatorType.TypeSafeU64:
|
|
199
193
|
return parseSingleOperandNode(parserState, "convert_safe_u64");
|
|
200
|
-
case
|
|
194
|
+
case OperatorType.TypeSafeU128:
|
|
201
195
|
return parseSingleOperandNode(parserState, "convert_safe_u128");
|
|
202
|
-
case
|
|
196
|
+
case OperatorType.TypeSafeU256:
|
|
203
197
|
return parseSingleOperandNode(parserState, "convert_safe_u256");
|
|
204
|
-
case
|
|
198
|
+
case OperatorType.TypeStringIndexof:
|
|
205
199
|
return parseTwoOperandNode(parserState, "calc_string_indexof");
|
|
206
|
-
case
|
|
200
|
+
case OperatorType.TypeStringNocaseIndexof:
|
|
207
201
|
return parseTwoOperandNode(parserState, "calc_string_nocase_indexof");
|
|
208
202
|
// typedValue 操作
|
|
209
|
-
case
|
|
203
|
+
case OperatorType.TypedValueType:
|
|
210
204
|
return parseSingleOperandNode(parserState, "value_type");
|
|
211
|
-
case
|
|
205
|
+
case OperatorType.TypedValueVecLength:
|
|
212
206
|
return parseSingleOperandNode(parserState, "vec_length");
|
|
213
|
-
case
|
|
207
|
+
case OperatorType.TypedValueVecContains_Bool:
|
|
214
208
|
return parseMultiOperandNode(parserState, "vec_contains_bool");
|
|
215
|
-
case
|
|
209
|
+
case OperatorType.TypedValueVecContains_Address:
|
|
216
210
|
return parseMultiOperandNode(parserState, "vec_contains_address");
|
|
217
|
-
case
|
|
211
|
+
case OperatorType.TypedValueVecContains_String:
|
|
218
212
|
return parseMultiOperandNode(parserState, "vec_contains_string");
|
|
219
|
-
case
|
|
213
|
+
case OperatorType.TypedValueVecContains_StringNoCase:
|
|
220
214
|
return parseMultiOperandNode(parserState, "vec_contains_string_nocase");
|
|
221
|
-
case
|
|
215
|
+
case OperatorType.TypedValueVecContains_Number:
|
|
222
216
|
return parseMultiOperandNode(parserState, "vec_contains_number");
|
|
223
|
-
case
|
|
217
|
+
case OperatorType.TypedValueVecIndexOf_Bool:
|
|
224
218
|
return parseTwoOperandNode(parserState, "vec_indexof_bool");
|
|
225
|
-
case
|
|
219
|
+
case OperatorType.TypedValueVecIndexOf_Address:
|
|
226
220
|
return parseTwoOperandNode(parserState, "vec_indexof_address");
|
|
227
|
-
case
|
|
221
|
+
case OperatorType.TypedValueVecIndexOf_String:
|
|
228
222
|
return parseTwoOperandNode(parserState, "vec_indexof_string");
|
|
229
|
-
case
|
|
223
|
+
case OperatorType.TypedValueVecIndexOf_StringNoCase:
|
|
230
224
|
return parseTwoOperandNode(parserState, "vec_indexof_string_nocase");
|
|
231
|
-
case
|
|
225
|
+
case OperatorType.TypedValueVecIndexOf_Number:
|
|
232
226
|
return parseTwoOperandNode(parserState, "vec_indexof_number");
|
|
233
|
-
case
|
|
227
|
+
case ContextType.TypeSigner:
|
|
234
228
|
return { type: "context", context: "Signer" };
|
|
235
|
-
case
|
|
229
|
+
case ContextType.TypeGuard:
|
|
236
230
|
return { type: "context", context: "Guard" };
|
|
237
|
-
case
|
|
231
|
+
case ContextType.TypeClock:
|
|
238
232
|
return { type: "context", context: "Clock" };
|
|
239
233
|
default:
|
|
240
234
|
throw new Error(`ParseGuardNode: Unknown opcode: ${opCode}`);
|
|
@@ -243,7 +237,7 @@ const parseNode = (parserState) => {
|
|
|
243
237
|
const parseMultiOperandNode = (parserState, nodeProperty) => {
|
|
244
238
|
// For multi-operand operations, we need to read the operand count from the stream
|
|
245
239
|
if (parserState.currentPosition >= parserState.output.length) {
|
|
246
|
-
|
|
240
|
+
W_ERROR(WErrors.InvalidParam, "parseMultiOperandNode: Insufficient data for multi-operand operation");
|
|
247
241
|
}
|
|
248
242
|
// Read operand count (the next byte in the stream)
|
|
249
243
|
const operandCount = parserState.output[parserState.currentPosition];
|
|
@@ -267,7 +261,7 @@ const parseSingleOperandNode = (parserState, nodeProperty) => {
|
|
|
267
261
|
const parseTwoOperandNode = (parserState, nodeProperty) => {
|
|
268
262
|
// Read order byte (0 = forward, 1 = backward)
|
|
269
263
|
if (parserState.currentPosition >= parserState.output.length) {
|
|
270
|
-
|
|
264
|
+
W_ERROR(WErrors.InvalidParam, "parseTwoOperandNode: Missing order byte");
|
|
271
265
|
}
|
|
272
266
|
const orderByte = parserState.output[parserState.currentPosition];
|
|
273
267
|
parserState.currentPosition++;
|
|
@@ -287,33 +281,33 @@ const parseTwoOperandNode = (parserState, nodeProperty) => {
|
|
|
287
281
|
const parseQueryNode = (parserState) => {
|
|
288
282
|
// Read the witness type (if present)
|
|
289
283
|
if (parserState.currentPosition >= parserState.output.length) {
|
|
290
|
-
|
|
284
|
+
W_ERROR(WErrors.InvalidParam, "parseQueryNode: Missing witness byte after TypeQuery opcode");
|
|
291
285
|
}
|
|
292
286
|
const witnessByte = parserState.output[parserState.currentPosition];
|
|
293
287
|
parserState.currentPosition++;
|
|
294
288
|
// Read the object identifier
|
|
295
289
|
if (parserState.currentPosition >= parserState.output.length) {
|
|
296
|
-
|
|
290
|
+
W_ERROR(WErrors.InvalidParam, "parseQueryNode: Missing object identifier after witness byte");
|
|
297
291
|
}
|
|
298
292
|
const objectIdentifier = parserState.output[parserState.currentPosition];
|
|
299
293
|
parserState.currentPosition++;
|
|
300
294
|
// Read the query ID (u16)
|
|
301
295
|
const remainingBytes = parserState.output.subarray(parserState.currentPosition);
|
|
302
296
|
if (remainingBytes.length < 2) {
|
|
303
|
-
|
|
297
|
+
W_ERROR(WErrors.InvalidParam, "parseQueryNode: Not enough bytes for query ID after object identifier");
|
|
304
298
|
}
|
|
305
299
|
// Use BCS deserialization to read the u16 query ID
|
|
306
|
-
const queryId =
|
|
300
|
+
const queryId = bcs.U16.parse(remainingBytes);
|
|
307
301
|
parserState.currentPosition += 2;
|
|
308
302
|
// Find the query definition
|
|
309
|
-
const query =
|
|
303
|
+
const query = GUARDQUERY.find((q) => q.id === queryId);
|
|
310
304
|
if (!query) {
|
|
311
|
-
|
|
305
|
+
W_ERROR(WErrors.InvalidParam, `parseQueryNode: Query with ID ${queryId} not found`);
|
|
312
306
|
}
|
|
313
307
|
// Get full query info using the name
|
|
314
|
-
const queryInfo =
|
|
308
|
+
const queryInfo = getGuardQueryInfo(queryId);
|
|
315
309
|
if (!queryInfo) {
|
|
316
|
-
|
|
310
|
+
W_ERROR(WErrors.InvalidParam, `parseQueryNode: Query name not found for ID ${queryId}`);
|
|
317
311
|
}
|
|
318
312
|
// Parse parameters in reverse order (as serialized by buildNode)
|
|
319
313
|
const parameters = [];
|
|
@@ -326,7 +320,7 @@ const parseQueryNode = (parserState) => {
|
|
|
326
320
|
query: queryInfo.name,
|
|
327
321
|
object: {
|
|
328
322
|
identifier: objectIdentifier,
|
|
329
|
-
...(witnessByte !==
|
|
323
|
+
...(witnessByte !== ContextType.TypeConstant
|
|
330
324
|
? { convert_witness: witnessByte }
|
|
331
325
|
: {}),
|
|
332
326
|
},
|
|
@@ -336,11 +330,11 @@ const parseQueryNode = (parserState) => {
|
|
|
336
330
|
};
|
|
337
331
|
// Main function to restore GuardNode from output and table
|
|
338
332
|
// Uses a stack-based approach similar to the Rust implementation
|
|
339
|
-
const restoreNodeFromOutput = (output, table) => {
|
|
333
|
+
export const restoreNodeFromOutput = (output, table) => {
|
|
340
334
|
try {
|
|
341
335
|
// Validate output format
|
|
342
336
|
if (!output || output.length === 0) {
|
|
343
|
-
|
|
337
|
+
W_ERROR(WErrors.InvalidParam, "restoreNodeFromOutput: output is empty");
|
|
344
338
|
}
|
|
345
339
|
// Use a stack to build the node tree, similar to Rust implementation
|
|
346
340
|
const nodeStack = [];
|
|
@@ -349,14 +343,14 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
349
343
|
// Helper function to read a byte
|
|
350
344
|
const readByte = () => {
|
|
351
345
|
if (position >= output.length) {
|
|
352
|
-
|
|
346
|
+
W_ERROR(WErrors.InvalidParam, "readByte: Unexpected end of output");
|
|
353
347
|
}
|
|
354
348
|
return output[position++];
|
|
355
349
|
};
|
|
356
350
|
// Helper function to read a u16 (little-endian)
|
|
357
351
|
const readU16 = () => {
|
|
358
352
|
if (position + 2 > output.length) {
|
|
359
|
-
|
|
353
|
+
W_ERROR(WErrors.InvalidParam, "readU16: Insufficient bytes for u16");
|
|
360
354
|
}
|
|
361
355
|
const value = output[position] + output[position + 1] * 256;
|
|
362
356
|
position += 2;
|
|
@@ -366,35 +360,35 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
366
360
|
while (position < output.length) {
|
|
367
361
|
const opCode = readByte();
|
|
368
362
|
switch (opCode) {
|
|
369
|
-
case
|
|
363
|
+
case ContextType.TypeConstant: {
|
|
370
364
|
// TYPE_CONSTANT (48)
|
|
371
365
|
const identifier = readByte();
|
|
372
366
|
nodeStack.push({ type: "identifier", identifier });
|
|
373
367
|
break;
|
|
374
368
|
}
|
|
375
|
-
case
|
|
369
|
+
case ContextType.TypeSigner: // TYPE_SIGNER (45)
|
|
376
370
|
nodeStack.push({ type: "context", context: "Signer" });
|
|
377
371
|
break;
|
|
378
|
-
case
|
|
372
|
+
case ContextType.TypeClock:
|
|
379
373
|
nodeStack.push({ type: "context", context: "Clock" });
|
|
380
374
|
break;
|
|
381
|
-
case
|
|
375
|
+
case ContextType.TypeGuard:
|
|
382
376
|
nodeStack.push({ type: "context", context: "Guard" });
|
|
383
377
|
break;
|
|
384
|
-
case
|
|
378
|
+
case OperatorType.TypeQuery: {
|
|
385
379
|
// TYPE_QUERY (40)
|
|
386
380
|
const witnessByte = readByte();
|
|
387
381
|
const identifier = readByte();
|
|
388
382
|
const queryId = readU16();
|
|
389
|
-
const queryInfo =
|
|
383
|
+
const queryInfo = getGuardQueryInfo(queryId);
|
|
390
384
|
if (!queryInfo) {
|
|
391
|
-
|
|
385
|
+
W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Query with ID ${queryId} not found`);
|
|
392
386
|
}
|
|
393
387
|
// Pop parameters from stack (in reverse order)
|
|
394
388
|
const parameters = [];
|
|
395
389
|
for (let i = 0; i < queryInfo.parameters.length; i++) {
|
|
396
390
|
if (nodeStack.length === 0) {
|
|
397
|
-
|
|
391
|
+
W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Insufficient parameters for query ${queryInfo.name}`);
|
|
398
392
|
}
|
|
399
393
|
parameters.unshift(nodeStack.pop());
|
|
400
394
|
}
|
|
@@ -407,15 +401,15 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
407
401
|
parameters[0].identifier &&
|
|
408
402
|
!item.b_submission);
|
|
409
403
|
const repItemValueType = rep_item
|
|
410
|
-
?
|
|
404
|
+
? parseValueType(rep_item.value_type)
|
|
411
405
|
: undefined;
|
|
412
406
|
const policyItemValueType = policy_item
|
|
413
|
-
?
|
|
407
|
+
? parseValueType(policy_item.value_type)
|
|
414
408
|
: undefined;
|
|
415
409
|
if (rep_item &&
|
|
416
410
|
policy_item &&
|
|
417
|
-
repItemValueType ===
|
|
418
|
-
policyItemValueType ===
|
|
411
|
+
repItemValueType === ValueType.Address &&
|
|
412
|
+
policyItemValueType === ValueType.String) {
|
|
419
413
|
if (rep_quote.has(rep_item.value)) {
|
|
420
414
|
if (!rep_quote
|
|
421
415
|
.get(rep_item.value)
|
|
@@ -437,7 +431,7 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
437
431
|
query: queryInfo.name,
|
|
438
432
|
object: {
|
|
439
433
|
identifier,
|
|
440
|
-
...(witnessByte !==
|
|
434
|
+
...(witnessByte !== ContextType.TypeConstant
|
|
441
435
|
? { convert_witness: witnessByte }
|
|
442
436
|
: {}),
|
|
443
437
|
},
|
|
@@ -445,22 +439,22 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
445
439
|
});
|
|
446
440
|
break;
|
|
447
441
|
}
|
|
448
|
-
case
|
|
449
|
-
case
|
|
450
|
-
case
|
|
451
|
-
case
|
|
452
|
-
case
|
|
453
|
-
case
|
|
454
|
-
case
|
|
455
|
-
case
|
|
456
|
-
case
|
|
457
|
-
case
|
|
458
|
-
case
|
|
459
|
-
case
|
|
460
|
-
case
|
|
461
|
-
case
|
|
462
|
-
case
|
|
463
|
-
case
|
|
442
|
+
case OperatorType.TypeLogicEqual:
|
|
443
|
+
case OperatorType.TypeLogicAnd:
|
|
444
|
+
case OperatorType.TypeLogicOr:
|
|
445
|
+
case OperatorType.TypeLogicAsU256GreaterEqual:
|
|
446
|
+
case OperatorType.TypeLogicAsU256LesserEqual:
|
|
447
|
+
case OperatorType.TypeLogicAsU256Equal:
|
|
448
|
+
case OperatorType.TypeLogicAsU256Greater:
|
|
449
|
+
case OperatorType.TypeLogicAsU256Lesser:
|
|
450
|
+
case OperatorType.TypeStringContains:
|
|
451
|
+
case OperatorType.TypeStringNocaseContains:
|
|
452
|
+
case OperatorType.TypeStringNocaseEqual:
|
|
453
|
+
case OperatorType.TypeNumberAdd:
|
|
454
|
+
case OperatorType.TypeNumberSubtract:
|
|
455
|
+
case OperatorType.TypeNumberMultiply:
|
|
456
|
+
case OperatorType.TypeNumberDivide:
|
|
457
|
+
case OperatorType.TypeNumberMod: {
|
|
464
458
|
const operandCount = readByte();
|
|
465
459
|
const operands = [];
|
|
466
460
|
// Pop operands from stack
|
|
@@ -468,7 +462,7 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
468
462
|
// Popping gives us right to left, which matches original order
|
|
469
463
|
for (let i = 0; i < operandCount; i++) {
|
|
470
464
|
if (nodeStack.length === 0) {
|
|
471
|
-
|
|
465
|
+
W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Insufficient operands for multi-operand operation`);
|
|
472
466
|
}
|
|
473
467
|
operands.push(nodeStack.pop());
|
|
474
468
|
}
|
|
@@ -479,22 +473,22 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
479
473
|
});
|
|
480
474
|
break;
|
|
481
475
|
}
|
|
482
|
-
case
|
|
483
|
-
case
|
|
484
|
-
case
|
|
485
|
-
case
|
|
486
|
-
case
|
|
487
|
-
case
|
|
488
|
-
case
|
|
489
|
-
case
|
|
490
|
-
case
|
|
491
|
-
case
|
|
492
|
-
case
|
|
493
|
-
case
|
|
494
|
-
case
|
|
495
|
-
case
|
|
476
|
+
case OperatorType.TypeLogicNot:
|
|
477
|
+
case OperatorType.TypeStringLength:
|
|
478
|
+
case OperatorType.TypeNumberAddress:
|
|
479
|
+
case OperatorType.TypeAddressNumber:
|
|
480
|
+
case OperatorType.TypeNumberString:
|
|
481
|
+
case OperatorType.TypeStringNumber:
|
|
482
|
+
case OperatorType.TypeSafeU8:
|
|
483
|
+
case OperatorType.TypeSafeU16:
|
|
484
|
+
case OperatorType.TypeSafeU32:
|
|
485
|
+
case OperatorType.TypeSafeU64:
|
|
486
|
+
case OperatorType.TypeSafeU128:
|
|
487
|
+
case OperatorType.TypeSafeU256:
|
|
488
|
+
case OperatorType.TypedValueType:
|
|
489
|
+
case OperatorType.TypedValueVecLength: {
|
|
496
490
|
if (nodeStack.length === 0) {
|
|
497
|
-
|
|
491
|
+
W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Insufficient operand for single-operand operation`);
|
|
498
492
|
}
|
|
499
493
|
const operand = nodeStack.pop();
|
|
500
494
|
const nodeProperty = getNodePropertyFromOpCode(opCode);
|
|
@@ -504,17 +498,17 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
504
498
|
});
|
|
505
499
|
break;
|
|
506
500
|
}
|
|
507
|
-
case
|
|
508
|
-
case
|
|
509
|
-
case
|
|
510
|
-
case
|
|
511
|
-
case
|
|
512
|
-
case
|
|
513
|
-
case
|
|
501
|
+
case OperatorType.TypeStringIndexof:
|
|
502
|
+
case OperatorType.TypeStringNocaseIndexof:
|
|
503
|
+
case OperatorType.TypedValueVecIndexOf_Bool:
|
|
504
|
+
case OperatorType.TypedValueVecIndexOf_Address:
|
|
505
|
+
case OperatorType.TypedValueVecIndexOf_String:
|
|
506
|
+
case OperatorType.TypedValueVecIndexOf_StringNoCase:
|
|
507
|
+
case OperatorType.TypedValueVecIndexOf_Number: {
|
|
514
508
|
const orderByte = readByte();
|
|
515
509
|
const order = orderByte === 0 ? "forward" : "backward";
|
|
516
510
|
if (nodeStack.length < 2) {
|
|
517
|
-
|
|
511
|
+
W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Insufficient operands for two-operand operation`);
|
|
518
512
|
}
|
|
519
513
|
// Pop in reverse order of serialization
|
|
520
514
|
const nodeLeft = nodeStack.pop();
|
|
@@ -529,12 +523,12 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
529
523
|
break;
|
|
530
524
|
}
|
|
531
525
|
default:
|
|
532
|
-
|
|
526
|
+
W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Unknown opcode ${opCode}`);
|
|
533
527
|
}
|
|
534
528
|
}
|
|
535
529
|
// The root node should be the only element left in the stack
|
|
536
530
|
if (nodeStack.length !== 1) {
|
|
537
|
-
|
|
531
|
+
W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Expected 1 node in stack, found ${nodeStack.length}`);
|
|
538
532
|
}
|
|
539
533
|
return {
|
|
540
534
|
root: nodeStack[0],
|
|
@@ -545,83 +539,82 @@ const restoreNodeFromOutput = (output, table) => {
|
|
|
545
539
|
throw new Error(`restoreNodeFromOutput: Failed to restore GuardNode from output: ${error.message}`);
|
|
546
540
|
}
|
|
547
541
|
};
|
|
548
|
-
exports.restoreNodeFromOutput = restoreNodeFromOutput;
|
|
549
542
|
// Helper function to get node property from opcode
|
|
550
543
|
const getNodePropertyFromOpCode = (opCode) => {
|
|
551
544
|
switch (opCode) {
|
|
552
|
-
case
|
|
545
|
+
case OperatorType.TypeLogicEqual:
|
|
553
546
|
return "logic_equal";
|
|
554
|
-
case
|
|
547
|
+
case OperatorType.TypeLogicAnd:
|
|
555
548
|
return "logic_and";
|
|
556
|
-
case
|
|
549
|
+
case OperatorType.TypeLogicOr:
|
|
557
550
|
return "logic_or";
|
|
558
|
-
case
|
|
551
|
+
case OperatorType.TypeLogicAsU256GreaterEqual:
|
|
559
552
|
return "logic_as_u256_greater_or_equal";
|
|
560
|
-
case
|
|
553
|
+
case OperatorType.TypeLogicAsU256LesserEqual:
|
|
561
554
|
return "logic_as_u256_lesser_or_equal";
|
|
562
|
-
case
|
|
555
|
+
case OperatorType.TypeLogicAsU256Equal:
|
|
563
556
|
return "logic_as_u256_equal";
|
|
564
|
-
case
|
|
557
|
+
case OperatorType.TypeLogicAsU256Greater:
|
|
565
558
|
return "logic_as_u256_greater";
|
|
566
|
-
case
|
|
559
|
+
case OperatorType.TypeLogicAsU256Lesser:
|
|
567
560
|
return "logic_as_u256_lesser";
|
|
568
|
-
case
|
|
561
|
+
case OperatorType.TypeStringContains:
|
|
569
562
|
return "logic_string_contains";
|
|
570
|
-
case
|
|
563
|
+
case OperatorType.TypeStringNocaseContains:
|
|
571
564
|
return "logic_string_nocase_contains";
|
|
572
|
-
case
|
|
565
|
+
case OperatorType.TypeStringNocaseEqual:
|
|
573
566
|
return "logic_string_nocase_equal";
|
|
574
|
-
case
|
|
567
|
+
case OperatorType.TypeNumberAdd:
|
|
575
568
|
return "calc_number_add";
|
|
576
|
-
case
|
|
569
|
+
case OperatorType.TypeNumberSubtract:
|
|
577
570
|
return "calc_number_subtract";
|
|
578
|
-
case
|
|
571
|
+
case OperatorType.TypeNumberMultiply:
|
|
579
572
|
return "calc_number_multiply";
|
|
580
|
-
case
|
|
573
|
+
case OperatorType.TypeNumberDivide:
|
|
581
574
|
return "calc_number_divide";
|
|
582
|
-
case
|
|
575
|
+
case OperatorType.TypeNumberMod:
|
|
583
576
|
return "calc_number_mod";
|
|
584
|
-
case
|
|
577
|
+
case OperatorType.TypeLogicNot:
|
|
585
578
|
return "logic_not";
|
|
586
|
-
case
|
|
579
|
+
case OperatorType.TypeStringLength:
|
|
587
580
|
return "calc_string_length";
|
|
588
|
-
case
|
|
581
|
+
case OperatorType.TypeNumberAddress:
|
|
589
582
|
return "convert_number_address";
|
|
590
|
-
case
|
|
583
|
+
case OperatorType.TypeAddressNumber:
|
|
591
584
|
return "convert_address_number";
|
|
592
|
-
case
|
|
585
|
+
case OperatorType.TypeNumberString:
|
|
593
586
|
return "convert_number_string";
|
|
594
|
-
case
|
|
587
|
+
case OperatorType.TypeStringNumber:
|
|
595
588
|
return "convert_string_number";
|
|
596
|
-
case
|
|
589
|
+
case OperatorType.TypeSafeU8:
|
|
597
590
|
return "convert_safe_u8";
|
|
598
|
-
case
|
|
591
|
+
case OperatorType.TypeSafeU16:
|
|
599
592
|
return "convert_safe_u16";
|
|
600
|
-
case
|
|
593
|
+
case OperatorType.TypeSafeU32:
|
|
601
594
|
return "convert_safe_u32";
|
|
602
|
-
case
|
|
595
|
+
case OperatorType.TypeSafeU64:
|
|
603
596
|
return "convert_safe_u64";
|
|
604
|
-
case
|
|
597
|
+
case OperatorType.TypeSafeU128:
|
|
605
598
|
return "convert_safe_u128";
|
|
606
|
-
case
|
|
599
|
+
case OperatorType.TypeSafeU256:
|
|
607
600
|
return "convert_safe_u256";
|
|
608
|
-
case
|
|
601
|
+
case OperatorType.TypedValueType:
|
|
609
602
|
return "value_type";
|
|
610
|
-
case
|
|
603
|
+
case OperatorType.TypedValueVecLength:
|
|
611
604
|
return "vec_length";
|
|
612
|
-
case
|
|
605
|
+
case OperatorType.TypeStringIndexof:
|
|
613
606
|
return "calc_string_indexof";
|
|
614
|
-
case
|
|
607
|
+
case OperatorType.TypeStringNocaseIndexof:
|
|
615
608
|
return "calc_string_nocase_indexof";
|
|
616
|
-
case
|
|
609
|
+
case OperatorType.TypedValueVecIndexOf_Bool:
|
|
617
610
|
return "vec_indexof_bool";
|
|
618
|
-
case
|
|
611
|
+
case OperatorType.TypedValueVecIndexOf_Address:
|
|
619
612
|
return "vec_indexof_address";
|
|
620
|
-
case
|
|
613
|
+
case OperatorType.TypedValueVecIndexOf_String:
|
|
621
614
|
return "vec_indexof_string";
|
|
622
|
-
case
|
|
615
|
+
case OperatorType.TypedValueVecIndexOf_StringNoCase:
|
|
623
616
|
return "vec_indexof_string_nocase";
|
|
624
|
-
case
|
|
617
|
+
case OperatorType.TypedValueVecIndexOf_Number:
|
|
625
618
|
return "vec_indexof_number";
|
|
626
619
|
default:
|
|
627
620
|
return "unknown";
|