wowok 1.8.3 → 2.1.10
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/README.md +4 -33
- package/dist/cjs/bcs/bcs.d.ts +1973 -0
- package/dist/cjs/bcs/bcs.js +327 -0
- package/dist/cjs/bcs/effects.d.ts +579 -0
- package/dist/cjs/bcs/effects.js +231 -0
- package/dist/cjs/bcs/index.d.ts +2589 -0
- package/dist/cjs/bcs/index.js +79 -0
- package/dist/cjs/bcs/pure.d.ts +22 -0
- package/dist/cjs/bcs/pure.js +62 -0
- package/dist/cjs/bcs/type-tag-serializer.d.ts +7 -0
- package/dist/cjs/bcs/type-tag-serializer.js +124 -0
- package/dist/cjs/bcs/types.d.ts +114 -0
- package/dist/cjs/bcs/types.js +26 -0
- package/dist/cjs/client/index.d.ts +5 -0
- package/dist/cjs/client/index.js +34 -0
- package/dist/cjs/client/network.d.ts +5 -0
- package/dist/cjs/client/network.js +43 -0
- package/dist/cjs/cryptography/index.d.ts +7 -0
- package/dist/cjs/cryptography/index.js +46 -0
- package/dist/cjs/cryptography/intent.d.ts +6 -0
- package/dist/cjs/cryptography/intent.js +34 -0
- package/dist/cjs/cryptography/keypair.d.ts +73 -0
- package/dist/cjs/cryptography/keypair.js +125 -0
- package/dist/cjs/cryptography/mnemonics.d.ts +27 -0
- package/dist/cjs/cryptography/mnemonics.js +50 -0
- package/dist/cjs/cryptography/publickey.d.ts +67 -0
- package/dist/cjs/cryptography/publickey.js +142 -0
- package/dist/cjs/cryptography/signature-scheme.d.ts +24 -0
- package/dist/cjs/cryptography/signature-scheme.js +47 -0
- package/dist/cjs/cryptography/signature.d.ts +62 -0
- package/dist/cjs/cryptography/signature.js +71 -0
- package/dist/cjs/experimental/cache.d.ts +12 -0
- package/dist/cjs/experimental/client.d.ts +12 -0
- package/dist/cjs/experimental/core.d.ts +33 -0
- package/dist/cjs/experimental/errors.d.ts +8 -0
- package/dist/cjs/experimental/index.d.ts +7 -0
- package/dist/cjs/experimental/persistent-storage.d.ts +134 -0
- package/dist/cjs/experimental/persistent-storage.test.d.ts +5 -0
- package/dist/cjs/experimental/transports/utils.d.ts +3 -0
- package/dist/cjs/experimental/types.d.ts +367 -0
- package/dist/cjs/faucet/faucet.d.ts +66 -0
- package/dist/cjs/faucet/faucet.js +138 -0
- package/dist/cjs/faucet/index.d.ts +1 -0
- package/dist/cjs/faucet/index.js +29 -0
- package/dist/cjs/graphql/client.js +98 -0
- package/dist/cjs/graphql/core.js +506 -0
- package/dist/cjs/graphql/generated/2024.1/tada-env.js +13141 -0
- package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +11 -0
- package/dist/cjs/graphql/generated/2024.4/tada-env.js +13287 -0
- package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +11 -0
- package/dist/cjs/graphql/generated/latest/tada-env.js +12925 -0
- package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +11 -0
- package/dist/cjs/graphql/generated/queries.js +807 -0
- package/dist/cjs/graphql/index.js +25 -0
- package/dist/cjs/graphql/schemas/2024.1/index.js +28 -0
- package/dist/cjs/graphql/schemas/2024.4/index.js +28 -0
- package/dist/cjs/graphql/schemas/latest/index.js +28 -0
- package/dist/cjs/graphql/types.js +16 -0
- package/dist/cjs/grpc/client.d.ts +32 -0
- package/dist/cjs/grpc/client.js +64 -0
- package/dist/cjs/grpc/core.d.ts +28 -0
- package/dist/cjs/grpc/core.js +645 -0
- package/dist/cjs/grpc/index.d.ts +4 -0
- package/dist/cjs/grpc/index.js +26 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +173 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.js +138 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +104 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.js +94 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +25 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.js +30 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +77 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +169 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.js +224 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +134 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +525 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.js +317 -0
- package/dist/cjs/grpc/proto/google/rpc/status.d.ts +46 -0
- package/dist/cjs/grpc/proto/google/rpc/status.js +52 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.d.ts +66 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +70 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.d.ts +34 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +52 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.d.ts +30 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +45 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.d.ts +68 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +77 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +74 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +84 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +195 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +170 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.d.ts +338 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +300 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.d.ts +62 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +87 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.d.ts +17 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +29 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.d.ts +88 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +86 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +80 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +87 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.d.ts +843 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +519 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +41 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +63 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.d.ts +98 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +85 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.d.ts +70 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +81 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +95 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +122 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.d.ts +420 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +368 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.d.ts +579 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +485 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +61 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +81 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.d.ts +229 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +241 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.d.ts +41 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +55 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.d.ts +144 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +141 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.d.ts +127 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +114 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.d.ts +34 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +53 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.d.ts +61 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +63 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.d.ts +30 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +61 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.d.ts +630 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +541 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +40 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +33 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +35 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +50 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +79 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +90 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.d.ts +71 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +88 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.d.ts +690 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +546 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +55 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +54 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.d.ts +57 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +65 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.d.ts +684 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +740 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.d.ts +1321 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1005 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +41 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +49 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +184 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +177 -0
- package/dist/cjs/index.d.ts +25 -0
- package/dist/cjs/index.js +93 -0
- package/dist/cjs/jsonRpc/client.d.ts +261 -0
- package/dist/cjs/jsonRpc/client.js +747 -0
- package/dist/cjs/jsonRpc/core.d.ts +87 -0
- package/dist/cjs/jsonRpc/core.js +638 -0
- package/dist/cjs/jsonRpc/errors.d.ts +12 -0
- package/dist/cjs/jsonRpc/errors.js +65 -0
- package/dist/cjs/jsonRpc/http-transport.d.ts +42 -0
- package/dist/cjs/jsonRpc/http-transport.js +121 -0
- package/dist/cjs/jsonRpc/index.d.ts +4 -0
- package/dist/cjs/jsonRpc/index.js +31 -0
- package/dist/cjs/jsonRpc/json-rpc-resolver.d.ts +4 -0
- package/dist/cjs/jsonRpc/json-rpc-resolver.js +321 -0
- package/dist/cjs/jsonRpc/rpc-websocket-client.d.ts +43 -0
- package/dist/cjs/jsonRpc/rpc-websocket-client.js +220 -0
- package/dist/cjs/jsonRpc/types/chain.d.ts +99 -0
- package/dist/cjs/jsonRpc/types/chain.js +16 -0
- package/dist/cjs/jsonRpc/types/changes.d.ts +19 -0
- package/dist/cjs/jsonRpc/types/changes.js +16 -0
- package/dist/cjs/jsonRpc/types/coins.d.ts +6 -0
- package/dist/cjs/jsonRpc/types/coins.js +16 -0
- package/dist/cjs/jsonRpc/types/common.d.ts +2 -0
- package/dist/cjs/jsonRpc/types/common.js +16 -0
- package/dist/cjs/jsonRpc/types/generated.d.ts +1492 -0
- package/dist/cjs/jsonRpc/types/generated.js +16 -0
- package/dist/cjs/jsonRpc/types/index.d.ts +6 -0
- package/dist/cjs/jsonRpc/types/index.js +16 -0
- package/dist/cjs/jsonRpc/types/params.d.ts +656 -0
- package/dist/cjs/jsonRpc/types/params.js +16 -0
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.d.ts +8 -0
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +82 -0
- package/dist/cjs/keypairs/ed25519/index.d.ts +2 -0
- package/dist/cjs/keypairs/ed25519/index.js +27 -0
- package/dist/cjs/keypairs/ed25519/keypair.d.ts +74 -0
- package/dist/cjs/keypairs/ed25519/keypair.js +169 -0
- package/dist/cjs/keypairs/ed25519/publickey.d.ts +30 -0
- package/dist/cjs/keypairs/ed25519/publickey.js +90 -0
- package/dist/cjs/keypairs/index.d.ts +4 -0
- package/dist/cjs/keypairs/index.js +21 -0
- package/dist/cjs/keypairs/passkey/index.d.ts +3 -0
- package/dist/cjs/keypairs/passkey/index.js +28 -0
- package/dist/cjs/keypairs/passkey/keypair.d.ts +113 -0
- package/dist/cjs/keypairs/passkey/keypair.js +268 -0
- package/dist/cjs/keypairs/passkey/publickey.d.ts +72 -0
- package/dist/cjs/keypairs/passkey/publickey.js +175 -0
- package/dist/cjs/keypairs/passkey/types.d.ts +12 -0
- package/dist/cjs/keypairs/passkey/types.js +16 -0
- package/dist/cjs/keypairs/secp256k1/index.d.ts +2 -0
- package/dist/cjs/keypairs/secp256k1/index.js +27 -0
- package/dist/cjs/keypairs/secp256k1/keypair.d.ts +73 -0
- package/dist/cjs/keypairs/secp256k1/keypair.js +159 -0
- package/dist/cjs/keypairs/secp256k1/publickey.d.ts +30 -0
- package/dist/cjs/keypairs/secp256k1/publickey.js +95 -0
- package/dist/cjs/keypairs/secp256r1/index.d.ts +2 -0
- package/dist/cjs/keypairs/secp256r1/index.js +27 -0
- package/dist/cjs/keypairs/secp256r1/keypair.d.ts +73 -0
- package/dist/cjs/keypairs/secp256r1/keypair.js +155 -0
- package/dist/cjs/keypairs/secp256r1/publickey.d.ts +30 -0
- package/dist/cjs/keypairs/secp256r1/publickey.js +96 -0
- package/dist/cjs/multisig/index.d.ts +2 -0
- package/dist/cjs/multisig/index.js +27 -0
- package/dist/cjs/multisig/publickey.d.ts +79 -0
- package/dist/cjs/multisig/publickey.js +296 -0
- package/dist/cjs/multisig/signer.d.ts +20 -0
- package/dist/cjs/multisig/signer.js +114 -0
- package/dist/cjs/package.json +5 -0
- package/dist/cjs/transactions/Arguments.d.ts +57 -0
- package/dist/cjs/transactions/Arguments.js +36 -0
- package/dist/cjs/transactions/Commands.d.ts +57 -0
- package/dist/cjs/transactions/Commands.js +143 -0
- package/dist/cjs/transactions/Inputs.d.ts +22 -0
- package/dist/cjs/transactions/Inputs.js +87 -0
- package/dist/cjs/transactions/ObjectCache.d.ts +83 -0
- package/dist/cjs/transactions/ObjectCache.js +251 -0
- package/dist/cjs/transactions/Transaction.d.ts +710 -0
- package/dist/cjs/transactions/Transaction.js +742 -0
- package/dist/cjs/transactions/TransactionData.d.ts +73 -0
- package/dist/cjs/transactions/TransactionData.js +472 -0
- package/dist/cjs/transactions/__tests__/Transaction.test.d.ts +1 -0
- package/dist/cjs/transactions/__tests__/bcs.test.d.ts +1 -0
- package/dist/cjs/transactions/data/internal.d.ts +1010 -0
- package/dist/cjs/transactions/data/internal.js +230 -0
- package/dist/cjs/transactions/data/v1.d.ts +312 -0
- package/dist/cjs/transactions/data/v1.js +538 -0
- package/dist/cjs/transactions/data/v2.d.ts +153 -0
- package/dist/cjs/transactions/data/v2.js +124 -0
- package/dist/cjs/transactions/executor/caching.d.ts +31 -0
- package/dist/cjs/transactions/executor/caching.js +118 -0
- package/dist/cjs/transactions/executor/parallel.d.ts +37 -0
- package/dist/cjs/transactions/executor/parallel.js +395 -0
- package/dist/cjs/transactions/executor/queue.d.ts +11 -0
- package/dist/cjs/transactions/executor/queue.js +87 -0
- package/dist/cjs/transactions/executor/serial.d.ts +31 -0
- package/dist/cjs/transactions/executor/serial.js +136 -0
- package/dist/cjs/transactions/hash.d.ts +7 -0
- package/dist/cjs/transactions/hash.js +31 -0
- package/dist/cjs/transactions/index.d.ts +21 -0
- package/dist/cjs/transactions/index.js +50 -0
- package/dist/cjs/transactions/intents/CoinWithBalance.d.ts +9 -0
- package/dist/cjs/transactions/intents/CoinWithBalance.js +206 -0
- package/dist/cjs/transactions/object.d.ts +24 -0
- package/dist/cjs/transactions/object.js +116 -0
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.d.ts +31 -0
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +37 -0
- package/dist/cjs/transactions/pure.d.ts +20 -0
- package/dist/cjs/transactions/pure.js +64 -0
- package/dist/cjs/transactions/resolve.d.ts +13 -0
- package/dist/cjs/transactions/resolve.js +103 -0
- package/dist/cjs/transactions/serializer.d.ts +7 -0
- package/dist/cjs/transactions/serializer.js +189 -0
- package/dist/cjs/transactions/utils.d.ts +10 -0
- package/dist/cjs/transactions/utils.js +143 -0
- package/dist/cjs/utils/constants.d.ts +17 -0
- package/dist/cjs/utils/constants.js +57 -0
- package/dist/cjs/utils/derived-objects.d.ts +5 -0
- package/dist/cjs/utils/derived-objects.js +33 -0
- package/dist/cjs/utils/dynamic-fields.d.ts +2 -0
- package/dist/cjs/utils/dynamic-fields.js +40 -0
- package/dist/cjs/utils/format.d.ts +2 -0
- package/dist/cjs/utils/format.js +35 -0
- package/dist/cjs/utils/index.d.ts +8 -0
- package/dist/cjs/utils/index.js +65 -0
- package/dist/cjs/utils/move-registry.d.ts +6 -0
- package/dist/cjs/utils/move-registry.js +44 -0
- package/dist/cjs/utils/sui-types.d.ts +26 -0
- package/dist/cjs/utils/sui-types.js +90 -0
- package/dist/cjs/utils/suins.d.ts +2 -0
- package/dist/cjs/utils/suins.js +56 -0
- package/dist/cjs/verify/index.d.ts +1 -0
- package/dist/cjs/verify/index.js +28 -0
- package/dist/cjs/verify/verify.d.ts +16 -0
- package/dist/cjs/verify/verify.js +125 -0
- package/dist/cjs/version.d.ts +2 -0
- package/dist/cjs/version.js +26 -0
- package/dist/cjs/w/call/allocation.d.ts +35 -0
- package/dist/cjs/w/call/allocation.js +439 -0
- package/dist/cjs/w/call/arb.d.ts +17 -0
- package/dist/cjs/w/call/arb.js +149 -0
- package/dist/cjs/w/call/arbitration.d.ts +106 -0
- package/dist/cjs/w/call/arbitration.js +1623 -0
- package/dist/cjs/w/call/base.d.ts +42 -0
- package/dist/cjs/w/call/base.js +363 -0
- package/dist/cjs/w/call/contact.d.ts +45 -0
- package/dist/cjs/w/call/contact.js +479 -0
- package/dist/cjs/w/call/demand.d.ts +79 -0
- package/dist/cjs/w/call/demand.js +872 -0
- package/dist/cjs/w/call/entity.d.ts +33 -0
- package/dist/cjs/w/call/entity.js +230 -0
- package/dist/cjs/w/call/guard-ins.d.ts +32 -0
- package/dist/cjs/w/call/guard-ins.js +4396 -0
- package/dist/cjs/w/call/guard.d.ts +264 -0
- package/dist/cjs/w/call/guard.js +1203 -0
- package/dist/cjs/w/call/index.d.ts +37 -0
- package/dist/cjs/w/call/index.js +72 -0
- package/dist/cjs/w/call/machine.d.ts +124 -0
- package/dist/cjs/w/call/machine.js +1486 -0
- package/dist/cjs/w/call/order.d.ts +73 -0
- package/dist/cjs/w/call/order.js +485 -0
- package/dist/cjs/w/call/passport.d.ts +24 -0
- package/dist/cjs/w/call/passport.js +281 -0
- package/dist/cjs/w/call/payment.d.ts +27 -0
- package/dist/cjs/w/call/payment.js +241 -0
- package/dist/cjs/w/call/permission.d.ts +222 -0
- package/dist/cjs/w/call/permission.js +1368 -0
- package/dist/cjs/w/call/personal.d.ts +51 -0
- package/dist/cjs/w/call/personal.js +184 -0
- package/dist/cjs/w/call/progress.d.ts +94 -0
- package/dist/cjs/w/call/progress.js +833 -0
- package/dist/cjs/w/call/proof.d.ts +27 -0
- package/dist/cjs/w/call/proof.js +124 -0
- package/dist/cjs/w/call/repository.d.ts +97 -0
- package/dist/cjs/w/call/repository.js +1324 -0
- package/dist/cjs/w/call/resource.d.ts +27 -0
- package/dist/cjs/w/call/resource.js +149 -0
- package/dist/cjs/w/call/reward.d.ts +52 -0
- package/dist/cjs/w/call/reward.js +879 -0
- package/dist/cjs/w/call/service.d.ts +184 -0
- package/dist/cjs/w/call/service.js +2468 -0
- package/dist/cjs/w/call/treasury.d.ts +77 -0
- package/dist/cjs/w/call/treasury.js +1192 -0
- package/dist/cjs/w/call/util.d.ts +12 -0
- package/dist/cjs/w/call/util.js +661 -0
- package/dist/cjs/w/common.d.ts +359 -0
- package/dist/cjs/w/common.js +625 -0
- package/dist/cjs/w/exception.d.ts +82 -0
- package/dist/cjs/w/exception.js +604 -0
- package/dist/cjs/w/index.d.ts +8 -0
- package/dist/cjs/w/index.js +25 -0
- package/dist/cjs/w/local/.eslintrc.js +15 -0
- package/dist/cjs/w/local/account.d.ts +134 -0
- package/dist/cjs/w/local/account.js +770 -0
- package/dist/cjs/w/local/cache.d.ts +35 -0
- package/dist/cjs/w/local/cache.js +181 -0
- package/dist/cjs/w/local/config.d.ts +15 -0
- package/dist/cjs/w/local/config.js +83 -0
- package/dist/cjs/w/local/index.d.ts +193 -0
- package/dist/cjs/w/local/index.js +322 -0
- package/dist/cjs/w/local/local.d.ts +93 -0
- package/dist/cjs/w/local/local.js +673 -0
- package/dist/cjs/w/local/storage.d.ts +61 -0
- package/dist/cjs/w/local/storage.js +219 -0
- package/dist/cjs/w/local/token.d.ts +22 -0
- package/dist/cjs/w/local/token.js +182 -0
- package/dist/cjs/w/local/util.d.ts +5 -0
- package/dist/cjs/w/local/util.js +57 -0
- package/dist/cjs/w/local/wip.d.ts +218 -0
- package/dist/cjs/w/local/wip.js +911 -0
- package/dist/cjs/w/messenger/.eslintrc.js +15 -0
- package/dist/cjs/w/messenger/crypto.d.ts +269 -0
- package/dist/cjs/w/messenger/crypto.js +448 -0
- package/dist/cjs/w/messenger/index.d.ts +23 -0
- package/dist/cjs/w/messenger/index.js +37 -0
- package/dist/cjs/w/messenger/messenger-api.d.ts +225 -0
- package/dist/cjs/w/messenger/messenger-api.js +1247 -0
- package/dist/cjs/w/messenger/messenger-manager.d.ts +80 -0
- package/dist/cjs/w/messenger/messenger-manager.js +1143 -0
- package/dist/cjs/w/messenger/messenger.d.ts +231 -0
- package/dist/cjs/w/messenger/messenger.js +1512 -0
- package/dist/cjs/w/messenger/server.d.ts +134 -0
- package/dist/cjs/w/messenger/server.js +535 -0
- package/dist/cjs/w/messenger/session.d.ts +78 -0
- package/dist/cjs/w/messenger/session.js +418 -0
- package/dist/cjs/w/messenger/storage.d.ts +192 -0
- package/dist/cjs/w/messenger/storage.js +964 -0
- package/dist/cjs/w/messenger/types.d.ts +705 -0
- package/dist/cjs/w/messenger/types.js +107 -0
- package/dist/cjs/w/messenger/utils.d.ts +15 -0
- package/dist/cjs/w/messenger/utils.js +37 -0
- package/dist/cjs/w/query/bult-in.d.ts +73 -0
- package/dist/cjs/w/query/bult-in.js +121 -0
- package/dist/cjs/w/query/event.d.ts +82 -0
- package/dist/cjs/w/query/event.js +157 -0
- package/dist/cjs/w/query/index.d.ts +5 -0
- package/dist/cjs/w/query/index.js +22 -0
- package/dist/cjs/w/query/object.d.ts +658 -0
- package/dist/cjs/w/query/object.js +1671 -0
- package/dist/cjs/w/query/received.d.ts +34 -0
- package/dist/cjs/w/query/received.js +93 -0
- package/dist/cjs/w/query/util.d.ts +5 -0
- package/dist/cjs/w/query/util.js +82 -0
- package/dist/cjs/w/util.d.ts +19 -0
- package/dist/cjs/w/util.js +715 -0
- package/dist/cjs/zklogin/address.js +93 -0
- package/dist/cjs/zklogin/bcs.js +41 -0
- package/dist/cjs/zklogin/index.js +45 -0
- package/dist/cjs/zklogin/jwt-decode.js +88 -0
- package/dist/cjs/zklogin/jwt-utils.js +128 -0
- package/dist/cjs/zklogin/nonce.js +60 -0
- package/dist/cjs/zklogin/poseidon.js +64 -0
- package/dist/cjs/zklogin/publickey.js +281 -0
- package/dist/cjs/zklogin/signature.js +57 -0
- package/dist/cjs/zklogin/utils.js +98 -0
- package/dist/esm/bcs/bcs.d.ts +1973 -0
- package/dist/esm/bcs/bcs.js +319 -0
- package/dist/esm/bcs/effects.d.ts +579 -0
- package/dist/esm/bcs/effects.js +211 -0
- package/dist/esm/bcs/index.d.ts +2589 -0
- package/dist/esm/bcs/index.js +98 -0
- package/dist/esm/bcs/pure.d.ts +22 -0
- package/dist/esm/bcs/pure.js +42 -0
- package/dist/esm/bcs/type-tag-serializer.d.ts +7 -0
- package/dist/esm/bcs/type-tag-serializer.js +104 -0
- package/dist/esm/bcs/types.d.ts +114 -0
- package/dist/esm/bcs/types.js +6 -0
- package/dist/esm/client/index.d.ts +5 -0
- package/dist/esm/client/index.js +23 -0
- package/dist/esm/client/network.d.ts +5 -0
- package/dist/esm/client/network.js +23 -0
- package/dist/esm/cryptography/index.d.ts +7 -0
- package/dist/esm/cryptography/index.js +46 -0
- package/dist/esm/cryptography/intent.d.ts +6 -0
- package/dist/esm/cryptography/intent.js +14 -0
- package/dist/esm/cryptography/keypair.d.ts +73 -0
- package/dist/esm/cryptography/keypair.js +108 -0
- package/dist/esm/cryptography/mnemonics.d.ts +27 -0
- package/dist/esm/cryptography/mnemonics.js +30 -0
- package/dist/esm/cryptography/publickey.d.ts +67 -0
- package/dist/esm/cryptography/publickey.js +125 -0
- package/dist/esm/cryptography/signature-scheme.d.ts +24 -0
- package/dist/esm/cryptography/signature-scheme.js +27 -0
- package/dist/esm/cryptography/signature.d.ts +62 -0
- package/dist/esm/cryptography/signature.js +54 -0
- package/dist/esm/experimental/cache.d.ts +12 -0
- package/dist/esm/experimental/client.d.ts +12 -0
- package/dist/esm/experimental/core.d.ts +33 -0
- package/dist/esm/experimental/errors.d.ts +8 -0
- package/dist/esm/experimental/index.d.ts +7 -0
- package/dist/esm/experimental/persistent-storage.d.ts +134 -0
- package/dist/esm/experimental/persistent-storage.test.d.ts +5 -0
- package/dist/esm/experimental/transports/utils.d.ts +3 -0
- package/dist/esm/experimental/types.d.ts +367 -0
- package/dist/esm/faucet/faucet.d.ts +66 -0
- package/dist/esm/faucet/faucet.js +118 -0
- package/dist/esm/faucet/index.d.ts +1 -0
- package/dist/esm/faucet/index.js +16 -0
- package/dist/esm/graphql/client.js +79 -0
- package/dist/esm/graphql/core.js +505 -0
- package/dist/esm/graphql/generated/2024.1/tada-env.js +13121 -0
- package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +16 -0
- package/dist/esm/graphql/generated/2024.4/tada-env.js +13267 -0
- package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +16 -0
- package/dist/esm/graphql/generated/latest/tada-env.js +12905 -0
- package/dist/esm/graphql/generated/latest/tsconfig.tada.js +16 -0
- package/dist/esm/graphql/generated/queries.js +788 -0
- package/dist/esm/graphql/index.js +8 -0
- package/dist/esm/graphql/schemas/2024.1/index.js +8 -0
- package/dist/esm/graphql/schemas/2024.4/index.js +8 -0
- package/dist/esm/graphql/schemas/latest/index.js +8 -0
- package/dist/esm/graphql/types.js +0 -0
- package/dist/esm/grpc/client.d.ts +32 -0
- package/dist/esm/grpc/client.js +45 -0
- package/dist/esm/grpc/core.d.ts +28 -0
- package/dist/esm/grpc/core.js +634 -0
- package/dist/esm/grpc/index.d.ts +4 -0
- package/dist/esm/grpc/index.js +6 -0
- package/dist/esm/grpc/proto/google/protobuf/any.d.ts +173 -0
- package/dist/esm/grpc/proto/google/protobuf/any.js +118 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +104 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.js +74 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +25 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.js +10 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js +57 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +169 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.js +204 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js +114 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +525 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.js +297 -0
- package/dist/esm/grpc/proto/google/rpc/status.d.ts +46 -0
- package/dist/esm/grpc/proto/google/rpc/status.js +32 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.d.ts +66 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +50 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.d.ts +34 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +32 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/bcs.d.ts +30 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +25 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.d.ts +68 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +57 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +74 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +64 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +195 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +150 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.d.ts +338 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +280 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.d.ts +62 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +67 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.d.ts +17 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +9 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/event.d.ts +88 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/event.js +66 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +80 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +67 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.d.ts +843 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +499 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +41 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +43 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/input.d.ts +98 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/input.js +65 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.d.ts +70 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +61 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +95 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +103 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.d.ts +420 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +348 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.d.ts +579 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +465 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +61 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +62 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.d.ts +229 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +221 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.d.ts +41 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +36 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.d.ts +144 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +121 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/object.d.ts +127 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/object.js +94 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.d.ts +34 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +33 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.d.ts +61 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +43 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.d.ts +30 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +41 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.d.ts +630 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +521 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +40 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +13 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +35 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +31 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +79 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +70 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.d.ts +71 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +69 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.d.ts +690 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +526 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +55 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +35 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.d.ts +57 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +45 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.d.ts +684 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +720 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.d.ts +1321 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +985 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +41 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +30 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +184 -0
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +157 -0
- package/dist/esm/index.d.ts +25 -0
- package/dist/esm/index.js +119 -0
- package/dist/esm/jsonRpc/client.d.ts +261 -0
- package/dist/esm/jsonRpc/client.js +734 -0
- package/dist/esm/jsonRpc/core.d.ts +87 -0
- package/dist/esm/jsonRpc/core.js +621 -0
- package/dist/esm/jsonRpc/errors.d.ts +12 -0
- package/dist/esm/jsonRpc/errors.js +46 -0
- package/dist/esm/jsonRpc/http-transport.d.ts +42 -0
- package/dist/esm/jsonRpc/http-transport.js +101 -0
- package/dist/esm/jsonRpc/index.d.ts +4 -0
- package/dist/esm/jsonRpc/index.js +20 -0
- package/dist/esm/jsonRpc/json-rpc-resolver.d.ts +4 -0
- package/dist/esm/jsonRpc/json-rpc-resolver.js +309 -0
- package/dist/esm/jsonRpc/rpc-websocket-client.d.ts +43 -0
- package/dist/esm/jsonRpc/rpc-websocket-client.js +201 -0
- package/dist/esm/jsonRpc/types/chain.d.ts +99 -0
- package/dist/esm/jsonRpc/types/chain.js +0 -0
- package/dist/esm/jsonRpc/types/changes.d.ts +19 -0
- package/dist/esm/jsonRpc/types/changes.js +0 -0
- package/dist/esm/jsonRpc/types/coins.d.ts +6 -0
- package/dist/esm/jsonRpc/types/coins.js +0 -0
- package/dist/esm/jsonRpc/types/common.d.ts +2 -0
- package/dist/esm/jsonRpc/types/common.js +0 -0
- package/dist/esm/jsonRpc/types/generated.d.ts +1492 -0
- package/dist/esm/jsonRpc/types/generated.js +0 -0
- package/dist/esm/jsonRpc/types/index.d.ts +6 -0
- package/dist/esm/jsonRpc/types/index.js +0 -0
- package/dist/esm/jsonRpc/types/params.d.ts +656 -0
- package/dist/esm/jsonRpc/types/params.js +0 -0
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.d.ts +8 -0
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +62 -0
- package/dist/esm/keypairs/ed25519/index.d.ts +2 -0
- package/dist/esm/keypairs/ed25519/index.js +10 -0
- package/dist/esm/keypairs/ed25519/keypair.d.ts +74 -0
- package/dist/esm/keypairs/ed25519/keypair.js +158 -0
- package/dist/esm/keypairs/ed25519/publickey.d.ts +30 -0
- package/dist/esm/keypairs/ed25519/publickey.js +75 -0
- package/dist/esm/keypairs/index.d.ts +4 -0
- package/dist/esm/keypairs/index.js +4 -0
- package/dist/esm/keypairs/passkey/index.d.ts +3 -0
- package/dist/esm/keypairs/passkey/index.js +12 -0
- package/dist/esm/keypairs/passkey/keypair.d.ts +113 -0
- package/dist/esm/keypairs/passkey/keypair.js +258 -0
- package/dist/esm/keypairs/passkey/publickey.d.ts +72 -0
- package/dist/esm/keypairs/passkey/publickey.js +156 -0
- package/dist/esm/keypairs/passkey/types.d.ts +12 -0
- package/dist/esm/keypairs/passkey/types.js +0 -0
- package/dist/esm/keypairs/secp256k1/index.d.ts +2 -0
- package/dist/esm/keypairs/secp256k1/index.js +10 -0
- package/dist/esm/keypairs/secp256k1/keypair.d.ts +73 -0
- package/dist/esm/keypairs/secp256k1/keypair.js +147 -0
- package/dist/esm/keypairs/secp256k1/publickey.d.ts +30 -0
- package/dist/esm/keypairs/secp256k1/publickey.js +80 -0
- package/dist/esm/keypairs/secp256r1/index.d.ts +2 -0
- package/dist/esm/keypairs/secp256r1/index.js +10 -0
- package/dist/esm/keypairs/secp256r1/keypair.d.ts +73 -0
- package/dist/esm/keypairs/secp256r1/keypair.js +143 -0
- package/dist/esm/keypairs/secp256r1/publickey.d.ts +30 -0
- package/dist/esm/keypairs/secp256r1/publickey.js +77 -0
- package/dist/esm/multisig/index.d.ts +2 -0
- package/dist/esm/multisig/index.js +10 -0
- package/dist/esm/multisig/publickey.d.ts +79 -0
- package/dist/esm/multisig/publickey.js +280 -0
- package/dist/esm/multisig/signer.d.ts +20 -0
- package/dist/esm/multisig/signer.js +94 -0
- package/dist/esm/package.json +5 -0
- package/dist/esm/transactions/Arguments.d.ts +57 -0
- package/dist/esm/transactions/Arguments.js +16 -0
- package/dist/esm/transactions/Commands.d.ts +57 -0
- package/dist/esm/transactions/Commands.js +123 -0
- package/dist/esm/transactions/Inputs.d.ts +22 -0
- package/dist/esm/transactions/Inputs.js +67 -0
- package/dist/esm/transactions/ObjectCache.d.ts +83 -0
- package/dist/esm/transactions/ObjectCache.js +231 -0
- package/dist/esm/transactions/Transaction.d.ts +710 -0
- package/dist/esm/transactions/Transaction.js +731 -0
- package/dist/esm/transactions/TransactionData.d.ts +73 -0
- package/dist/esm/transactions/TransactionData.js +453 -0
- package/dist/esm/transactions/__tests__/Transaction.test.d.ts +1 -0
- package/dist/esm/transactions/__tests__/bcs.test.d.ts +1 -0
- package/dist/esm/transactions/data/internal.d.ts +1010 -0
- package/dist/esm/transactions/data/internal.js +232 -0
- package/dist/esm/transactions/data/v1.d.ts +312 -0
- package/dist/esm/transactions/data/v1.js +542 -0
- package/dist/esm/transactions/data/v2.d.ts +153 -0
- package/dist/esm/transactions/data/v2.js +126 -0
- package/dist/esm/transactions/executor/caching.d.ts +31 -0
- package/dist/esm/transactions/executor/caching.js +99 -0
- package/dist/esm/transactions/executor/parallel.d.ts +37 -0
- package/dist/esm/transactions/executor/parallel.js +375 -0
- package/dist/esm/transactions/executor/queue.d.ts +11 -0
- package/dist/esm/transactions/executor/queue.js +68 -0
- package/dist/esm/transactions/executor/serial.d.ts +31 -0
- package/dist/esm/transactions/executor/serial.js +116 -0
- package/dist/esm/transactions/hash.d.ts +7 -0
- package/dist/esm/transactions/hash.js +11 -0
- package/dist/esm/transactions/index.d.ts +21 -0
- package/dist/esm/transactions/index.js +41 -0
- package/dist/esm/transactions/intents/CoinWithBalance.d.ts +9 -0
- package/dist/esm/transactions/intents/CoinWithBalance.js +186 -0
- package/dist/esm/transactions/object.d.ts +24 -0
- package/dist/esm/transactions/object.js +96 -0
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.d.ts +31 -0
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +17 -0
- package/dist/esm/transactions/pure.d.ts +20 -0
- package/dist/esm/transactions/pure.js +44 -0
- package/dist/esm/transactions/resolve.d.ts +13 -0
- package/dist/esm/transactions/resolve.js +83 -0
- package/dist/esm/transactions/serializer.d.ts +7 -0
- package/dist/esm/transactions/serializer.js +169 -0
- package/dist/esm/transactions/utils.d.ts +10 -0
- package/dist/esm/transactions/utils.js +123 -0
- package/dist/esm/utils/constants.d.ts +17 -0
- package/dist/esm/utils/constants.js +37 -0
- package/dist/esm/utils/derived-objects.d.ts +5 -0
- package/dist/esm/utils/derived-objects.js +13 -0
- package/dist/esm/utils/dynamic-fields.d.ts +2 -0
- package/dist/esm/utils/dynamic-fields.js +20 -0
- package/dist/esm/utils/format.d.ts +2 -0
- package/dist/esm/utils/format.js +15 -0
- package/dist/esm/utils/index.d.ts +8 -0
- package/dist/esm/utils/index.js +76 -0
- package/dist/esm/utils/move-registry.d.ts +6 -0
- package/dist/esm/utils/move-registry.js +24 -0
- package/dist/esm/utils/sui-types.d.ts +26 -0
- package/dist/esm/utils/sui-types.js +70 -0
- package/dist/esm/utils/suins.d.ts +2 -0
- package/dist/esm/utils/suins.js +36 -0
- package/dist/esm/verify/index.d.ts +1 -0
- package/dist/esm/verify/index.js +14 -0
- package/dist/esm/verify/verify.d.ts +16 -0
- package/dist/esm/verify/verify.js +108 -0
- package/dist/esm/version.d.ts +2 -0
- package/dist/esm/version.js +6 -0
- package/dist/esm/w/call/allocation.d.ts +35 -0
- package/dist/esm/w/call/allocation.js +433 -0
- package/dist/esm/w/call/arb.d.ts +17 -0
- package/dist/esm/w/call/arb.js +138 -0
- package/dist/esm/w/call/arbitration.d.ts +106 -0
- package/dist/esm/w/call/arbitration.js +1620 -0
- package/dist/esm/w/call/base.d.ts +42 -0
- package/dist/esm/w/call/base.js +350 -0
- package/dist/esm/w/call/contact.d.ts +45 -0
- package/dist/esm/w/call/contact.js +474 -0
- package/dist/esm/w/call/demand.d.ts +79 -0
- package/dist/esm/w/call/demand.js +869 -0
- package/dist/esm/w/call/entity.d.ts +33 -0
- package/dist/esm/w/call/entity.js +220 -0
- package/dist/esm/w/call/guard-ins.d.ts +32 -0
- package/dist/esm/w/call/guard-ins.js +4376 -0
- package/dist/esm/w/call/guard.d.ts +264 -0
- package/dist/esm/w/call/guard.js +1195 -0
- package/dist/esm/w/call/index.d.ts +37 -0
- package/dist/esm/w/call/index.js +59 -0
- package/dist/esm/w/call/machine.d.ts +124 -0
- package/dist/esm/w/call/machine.js +1492 -0
- package/dist/esm/w/call/order.d.ts +73 -0
- package/dist/esm/w/call/order.js +481 -0
- package/dist/esm/w/call/passport.d.ts +24 -0
- package/dist/esm/w/call/passport.js +266 -0
- package/dist/esm/w/call/payment.d.ts +27 -0
- package/dist/esm/w/call/payment.js +233 -0
- package/dist/esm/w/call/permission.d.ts +222 -0
- package/dist/esm/w/call/permission.js +1375 -0
- package/dist/esm/w/call/personal.d.ts +51 -0
- package/dist/esm/w/call/personal.js +177 -0
- package/dist/esm/w/call/progress.d.ts +94 -0
- package/dist/esm/w/call/progress.js +827 -0
- package/dist/esm/w/call/proof.d.ts +27 -0
- package/dist/esm/w/call/proof.js +110 -0
- package/dist/esm/w/call/repository.d.ts +97 -0
- package/dist/esm/w/call/repository.js +1325 -0
- package/dist/esm/w/call/resource.d.ts +27 -0
- package/dist/esm/w/call/resource.js +135 -0
- package/dist/esm/w/call/reward.d.ts +52 -0
- package/dist/esm/w/call/reward.js +874 -0
- package/dist/esm/w/call/service.d.ts +184 -0
- package/dist/esm/w/call/service.js +2472 -0
- package/dist/esm/w/call/treasury.d.ts +77 -0
- package/dist/esm/w/call/treasury.js +1186 -0
- package/dist/esm/w/call/util.d.ts +12 -0
- package/dist/esm/w/call/util.js +646 -0
- package/dist/esm/w/common.d.ts +359 -0
- package/dist/esm/w/common.js +605 -0
- package/dist/esm/w/exception.d.ts +82 -0
- package/dist/esm/w/exception.js +585 -0
- package/dist/esm/w/index.d.ts +8 -0
- package/dist/esm/w/index.js +8 -0
- package/dist/esm/w/local/.eslintrc.js +23 -0
- package/dist/esm/w/local/account.d.ts +134 -0
- package/dist/esm/w/local/account.js +746 -0
- package/dist/esm/w/local/cache.d.ts +35 -0
- package/dist/esm/w/local/cache.js +162 -0
- package/dist/esm/w/local/config.d.ts +15 -0
- package/dist/esm/w/local/config.js +64 -0
- package/dist/esm/w/local/index.d.ts +193 -0
- package/dist/esm/w/local/index.js +301 -0
- package/dist/esm/w/local/local.d.ts +93 -0
- package/dist/esm/w/local/local.js +654 -0
- package/dist/esm/w/local/storage.d.ts +61 -0
- package/dist/esm/w/local/storage.js +190 -0
- package/dist/esm/w/local/token.d.ts +22 -0
- package/dist/esm/w/local/token.js +163 -0
- package/dist/esm/w/local/util.d.ts +5 -0
- package/dist/esm/w/local/util.js +27 -0
- package/dist/esm/w/local/wip.d.ts +218 -0
- package/dist/esm/w/local/wip.js +882 -0
- package/dist/esm/w/messenger/.eslintrc.js +23 -0
- package/dist/esm/w/messenger/crypto.d.ts +269 -0
- package/dist/esm/w/messenger/crypto.js +428 -0
- package/dist/esm/w/messenger/index.d.ts +23 -0
- package/dist/esm/w/messenger/index.js +25 -0
- package/dist/esm/w/messenger/messenger-api.d.ts +225 -0
- package/dist/esm/w/messenger/messenger-api.js +1228 -0
- package/dist/esm/w/messenger/messenger-manager.d.ts +80 -0
- package/dist/esm/w/messenger/messenger-manager.js +1118 -0
- package/dist/esm/w/messenger/messenger.d.ts +231 -0
- package/dist/esm/w/messenger/messenger.js +1492 -0
- package/dist/esm/w/messenger/server.d.ts +134 -0
- package/dist/esm/w/messenger/server.js +520 -0
- package/dist/esm/w/messenger/session.d.ts +78 -0
- package/dist/esm/w/messenger/session.js +415 -0
- package/dist/esm/w/messenger/storage.d.ts +192 -0
- package/dist/esm/w/messenger/storage.js +935 -0
- package/dist/esm/w/messenger/types.d.ts +705 -0
- package/dist/esm/w/messenger/types.js +88 -0
- package/dist/esm/w/messenger/utils.d.ts +15 -0
- package/dist/esm/w/messenger/utils.js +17 -0
- package/dist/esm/w/query/bult-in.d.ts +73 -0
- package/dist/esm/w/query/bult-in.js +112 -0
- package/dist/esm/w/query/event.d.ts +82 -0
- package/dist/esm/w/query/event.js +137 -0
- package/dist/esm/w/query/index.d.ts +5 -0
- package/dist/esm/w/query/index.js +5 -0
- package/dist/esm/w/query/object.d.ts +658 -0
- package/dist/esm/w/query/object.js +1648 -0
- package/dist/esm/w/query/received.d.ts +34 -0
- package/dist/esm/w/query/received.js +73 -0
- package/dist/esm/w/query/util.d.ts +5 -0
- package/dist/esm/w/query/util.js +62 -0
- package/dist/esm/w/util.d.ts +19 -0
- package/dist/esm/w/util.js +710 -0
- package/dist/esm/zklogin/address.js +78 -0
- package/dist/esm/zklogin/bcs.js +21 -0
- package/dist/esm/zklogin/index.js +38 -0
- package/dist/esm/zklogin/jwt-decode.js +68 -0
- package/dist/esm/zklogin/jwt-utils.js +108 -0
- package/dist/esm/zklogin/nonce.js +40 -0
- package/dist/esm/zklogin/poseidon.js +61 -0
- package/dist/esm/zklogin/publickey.js +265 -0
- package/dist/esm/zklogin/signature.js +37 -0
- package/dist/esm/zklogin/utils.js +78 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +297 -61
- package/dist/arbitration.d.ts +0 -65
- package/dist/arbitration.d.ts.map +0 -1
- package/dist/arbitration.js +0 -517
- package/dist/arbitration.js.map +0 -1
- package/dist/demand.d.ts +0 -27
- package/dist/demand.d.ts.map +0 -1
- package/dist/demand.js +0 -266
- package/dist/demand.js.map +0 -1
- package/dist/entity.d.ts +0 -46
- package/dist/entity.d.ts.map +0 -1
- package/dist/entity.js +0 -146
- package/dist/entity.js.map +0 -1
- package/dist/exception.d.ts +0 -37
- package/dist/exception.d.ts.map +0 -1
- package/dist/exception.js +0 -41
- package/dist/exception.js.map +0 -1
- package/dist/guard.d.ts +0 -110
- package/dist/guard.d.ts.map +0 -1
- package/dist/guard.js +0 -936
- package/dist/guard.js.map +0 -1
- package/dist/index.d.ts +0 -40
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -28
- package/dist/index.js.map +0 -1
- package/dist/machine.d.ts +0 -68
- package/dist/machine.d.ts.map +0 -1
- package/dist/machine.js +0 -520
- package/dist/machine.js.map +0 -1
- package/dist/passport.d.ts +0 -129
- package/dist/passport.d.ts.map +0 -1
- package/dist/passport.js +0 -1233
- package/dist/passport.js.map +0 -1
- package/dist/payment.d.ts +0 -28
- package/dist/payment.d.ts.map +0 -1
- package/dist/payment.js +0 -60
- package/dist/payment.js.map +0 -1
- package/dist/permission.d.ts +0 -155
- package/dist/permission.d.ts.map +0 -1
- package/dist/permission.js +0 -462
- package/dist/permission.js.map +0 -1
- package/dist/progress.d.ts +0 -66
- package/dist/progress.d.ts.map +0 -1
- package/dist/progress.js +0 -311
- package/dist/progress.js.map +0 -1
- package/dist/protocol.d.ts +0 -247
- package/dist/protocol.d.ts.map +0 -1
- package/dist/protocol.js +0 -726
- package/dist/protocol.js.map +0 -1
- package/dist/repository.d.ts +0 -95
- package/dist/repository.d.ts.map +0 -1
- package/dist/repository.js +0 -793
- package/dist/repository.js.map +0 -1
- package/dist/resource.d.ts +0 -36
- package/dist/resource.d.ts.map +0 -1
- package/dist/resource.js +0 -129
- package/dist/resource.js.map +0 -1
- package/dist/service.d.ts +0 -144
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -1303
- package/dist/service.js.map +0 -1
- package/dist/treasury.d.ts +0 -55
- package/dist/treasury.d.ts.map +0 -1
- package/dist/treasury.js +0 -393
- package/dist/treasury.js.map +0 -1
- package/dist/utils.d.ts +0 -94
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -582
- package/dist/utils.js.map +0 -1
- package/dist/wowok.d.ts +0 -15
- package/dist/wowok.d.ts.map +0 -1
- package/dist/wowok.js +0 -66
- package/dist/wowok.js.map +0 -1
package/dist/passport.js
DELETED
|
@@ -1,1233 +0,0 @@
|
|
|
1
|
-
var _a;
|
|
2
|
-
import { Inputs } from '@mysten/sui/transactions';
|
|
3
|
-
import { Protocol, ContextType, OperatorType, ValueType, SER_VALUE, IsContextWitness, MODULES, WitnessObjectModule, WitnessForModule } from './protocol.js';
|
|
4
|
-
import { parse_object_type, array_unique, Bcs, ulebDecode, IsValidAddress, IsValidArray, deepCopy } from './utils.js';
|
|
5
|
-
import { ERROR, Errors } from './exception.js';
|
|
6
|
-
import { CMD_CHECK_GUARD, Guard, GUARD_QUERIES, GuardMaker } from './guard.js';
|
|
7
|
-
import { bcs } from '@mysten/sui/bcs';
|
|
8
|
-
import { Service } from './service.js';
|
|
9
|
-
import { Arbitration } from './arbitration.js';
|
|
10
|
-
import { Progress } from './progress.js';
|
|
11
|
-
export class GuardParser {
|
|
12
|
-
constructor(guards) {
|
|
13
|
-
this.guard_list = [];
|
|
14
|
-
this.guardlist = () => { return this.guard_list; };
|
|
15
|
-
this.future_fills = () => {
|
|
16
|
-
const ret = [];
|
|
17
|
-
this.guard_list.forEach((g) => {
|
|
18
|
-
// cmd already in query_list, so filter it out.
|
|
19
|
-
//console.log(g.constant); console.log(g.input)
|
|
20
|
-
g.constant.filter((i) => i.bWitness).forEach((v) => {
|
|
21
|
-
let cited = 0;
|
|
22
|
-
g.input.forEach((k) => {
|
|
23
|
-
if (k.identifier === v.identifier)
|
|
24
|
-
cited++;
|
|
25
|
-
});
|
|
26
|
-
ret.push({ guard: g.id, witness: undefined, identifier: v.identifier, ..._a.ConstantWitnessModule(v),
|
|
27
|
-
type: v.type, cmd: v.cmd, witnessTypes: v.witness, cited: cited, description: v?.description }); // module 很重要,需要得到
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
return ret;
|
|
31
|
-
};
|
|
32
|
-
this.fetch_witness = async (fill) => {
|
|
33
|
-
if (!fill || fill.length === 0)
|
|
34
|
-
return;
|
|
35
|
-
// 所有需要查询的witness, 根据module字段获得
|
|
36
|
-
const witness = array_unique(fill.filter(v => v.witness_module !== undefined).map(v => v.witness));
|
|
37
|
-
if (witness.length === 0)
|
|
38
|
-
return;
|
|
39
|
-
const res = await Protocol.Instance().query_raw(witness, { showType: true, showContent: true });
|
|
40
|
-
//console.log(res);
|
|
41
|
-
const witnessObjectInfo = new Map(); // 报错witness 类型信息等
|
|
42
|
-
// 查询并填充cmd的witness
|
|
43
|
-
for (let i = 0; i < res.length; ++i) {
|
|
44
|
-
const v = res[i];
|
|
45
|
-
const type_raw = v?.data?.type ?? undefined;
|
|
46
|
-
const objectid = v?.data?.objectId ?? undefined;
|
|
47
|
-
if (!type_raw || !objectid)
|
|
48
|
-
return;
|
|
49
|
-
const t = Protocol.Instance().object_name_from_type_repr(type_raw);
|
|
50
|
-
switch (t) {
|
|
51
|
-
case 'Progress': {
|
|
52
|
-
const machine = v?.data?.content?.fields?.machine;
|
|
53
|
-
fill.filter(v => v.witness === objectid && v.witness_module === MODULES.progress).forEach(v => {
|
|
54
|
-
v.cmd.forEach(i => {
|
|
55
|
-
switch (i.witness) {
|
|
56
|
-
case ContextType.TYPE_PROGRESS_MACHINE:
|
|
57
|
-
i.witness_object = machine;
|
|
58
|
-
break;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
witnessObjectInfo.set(objectid, { module: MODULES.progress });
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
case 'Order': {
|
|
66
|
-
const service = v?.data?.content?.fields?.service;
|
|
67
|
-
const machine = v?.data?.content?.fields?.machine;
|
|
68
|
-
const progress = v?.data?.content?.fields?.progress;
|
|
69
|
-
fill.filter(v => v.witness === objectid && v.witness_module === MODULES.order).forEach(v => {
|
|
70
|
-
v.cmd.forEach(i => {
|
|
71
|
-
switch (i.witness) {
|
|
72
|
-
case ContextType.TYPE_ORDER_MACHINE:
|
|
73
|
-
i.witness_object = machine;
|
|
74
|
-
break;
|
|
75
|
-
case ContextType.TYPE_ORDER_PROGRESS:
|
|
76
|
-
i.witness_object = progress;
|
|
77
|
-
break;
|
|
78
|
-
case ContextType.TYPE_ORDER_SERVICE:
|
|
79
|
-
i.witness_object = service;
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
witnessObjectInfo.set(objectid, { module: MODULES.order, type: Service.parseOrderObjectType(type_raw) });
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
case 'Arb': {
|
|
88
|
-
const arbitration = v?.data?.content?.fields?.arbitration;
|
|
89
|
-
const order = v?.data?.content?.fields?.order;
|
|
90
|
-
const order_res = await Protocol.Instance().query_raw([order], { showType: true, showContent: true });
|
|
91
|
-
const service = order_res[0]?.data?.content?.fields?.service;
|
|
92
|
-
const machine = order_res[0]?.data?.content?.fields?.machine;
|
|
93
|
-
const progress = order_res[0]?.data?.content?.fields?.progress;
|
|
94
|
-
const order_type = order_res[0]?.data?.type ?? undefined;
|
|
95
|
-
fill.filter(v => v.witness === objectid && v.witness_module === MODULES.arb).forEach(v => {
|
|
96
|
-
v.cmd.forEach(i => {
|
|
97
|
-
switch (i.witness) {
|
|
98
|
-
case ContextType.TYPE_ARB_MACHINE:
|
|
99
|
-
i.witness_object = machine;
|
|
100
|
-
break;
|
|
101
|
-
case ContextType.TYPE_ARB_PROGRESS:
|
|
102
|
-
i.witness_object = progress;
|
|
103
|
-
break;
|
|
104
|
-
case ContextType.TYPE_ARB_SERVICE:
|
|
105
|
-
i.witness_object = service;
|
|
106
|
-
break;
|
|
107
|
-
case ContextType.TYPE_ARB_ORDER:
|
|
108
|
-
i.witness_object = order;
|
|
109
|
-
break;
|
|
110
|
-
case ContextType.TYPE_ARB_ARBITRATION:
|
|
111
|
-
i.witness_object = arbitration;
|
|
112
|
-
break;
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
witnessObjectInfo.set(objectid, { module: MODULES.arb, type: Arbitration.parseArbObjectType(type_raw),
|
|
117
|
-
order: order, order_type: order_type
|
|
118
|
-
});
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
;
|
|
124
|
-
// 检查结果的完整性
|
|
125
|
-
fill.filter(v => v.witness_module !== undefined).forEach(v => {
|
|
126
|
-
v.cmd.forEach(i => {
|
|
127
|
-
if (i.witness && !i.witness_object) {
|
|
128
|
-
ERROR(Errors.Fail, `fetch_witness : ${i}`);
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
return witnessObjectInfo;
|
|
133
|
-
};
|
|
134
|
-
this.done = async (fill, onPassportQueryReady) => {
|
|
135
|
-
let objects = [];
|
|
136
|
-
// 填充所有的witness object
|
|
137
|
-
const witnessObjectInfo = await this.fetch_witness(fill);
|
|
138
|
-
// check all witness and get all objects to query.
|
|
139
|
-
this.guard_list.forEach((g) => {
|
|
140
|
-
g.constant.forEach((v) => {
|
|
141
|
-
if (v.bWitness) {
|
|
142
|
-
const value = fill?.find((i) => i.identifier === v.identifier && i.guard === g.id);
|
|
143
|
-
if (!value) {
|
|
144
|
-
ERROR(Errors.Fail, 'done: invalid witness ' + v.identifier);
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
v.value = value.witness; // 写witness
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
g.input.filter((v) => v.cmd !== undefined).forEach((i) => {
|
|
152
|
-
if (i.identifier !== undefined) {
|
|
153
|
-
if (IsContextWitness(i.value)) { //是否是 type witness
|
|
154
|
-
const value = fill?.find(c => c.guard === g.id && c.identifier === i.identifier);
|
|
155
|
-
const cmd = value?.cmd.find(c => c.cmd === i.cmd);
|
|
156
|
-
if (!value || !cmd || !IsValidAddress(cmd.witness_object))
|
|
157
|
-
ERROR(Errors.Fail, `witness invalid or not found: ${i}`);
|
|
158
|
-
objects.push(cmd.witness_object); // 将witness查询对象地址加入
|
|
159
|
-
}
|
|
160
|
-
else { // self witness
|
|
161
|
-
const value = g.constant.find((c) => c.identifier === i.identifier && c.type === ValueType.TYPE_ADDRESS);
|
|
162
|
-
if (!value || !IsValidAddress(value.value))
|
|
163
|
-
ERROR(Errors.Fail, 'done: invalid identifier ' + i.identifier);
|
|
164
|
-
objects.push(value.value); // const address(witness or not)
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
objects.push(i.value); //@ address
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
if (onPassportQueryReady) {
|
|
173
|
-
if (objects.length === 0) {
|
|
174
|
-
onPassportQueryReady(this.done_helper([], fill, witnessObjectInfo));
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
Protocol.Instance().query_raw(array_unique(objects), { showType: true }).then((res) => {
|
|
178
|
-
onPassportQueryReady(this.done_helper(res, fill, witnessObjectInfo));
|
|
179
|
-
}).catch(e => {
|
|
180
|
-
console.log(e);
|
|
181
|
-
onPassportQueryReady(undefined);
|
|
182
|
-
});
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
let res = [];
|
|
187
|
-
if (objects.length > 0) {
|
|
188
|
-
res = await Protocol.Instance().query_raw(array_unique(objects), { showType: true });
|
|
189
|
-
}
|
|
190
|
-
return this.done_helper(res, fill, witnessObjectInfo);
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
// create onchain query for objects : object, movecall-types, id
|
|
194
|
-
this.object_query = (data, method = 'guard_query') => {
|
|
195
|
-
for (let k = 0; k < Protocol.Instance().WOWOK_OBJECTS_TYPE().length; k++) {
|
|
196
|
-
if (data.type.includes(Protocol.Instance().WOWOK_OBJECTS_TYPE()[k])) { // type: pack::m::Object<...>
|
|
197
|
-
return { target: Protocol.Instance().WOWOK_OBJECTS_PREFIX_TYPE()[k] + method,
|
|
198
|
-
object: Inputs.SharedObjectRef({
|
|
199
|
-
objectId: data.objectId,
|
|
200
|
-
mutable: false,
|
|
201
|
-
initialSharedVersion: data.version,
|
|
202
|
-
}),
|
|
203
|
-
types: parse_object_type(data.type),
|
|
204
|
-
id: data.objectId, };
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
};
|
|
208
|
-
this.guards = guards;
|
|
209
|
-
}
|
|
210
|
-
// ============================================
|
|
211
|
-
static Parse_Guard_Helper(guards, res) {
|
|
212
|
-
const protocol = Protocol.Instance();
|
|
213
|
-
const me = new _a(guards);
|
|
214
|
-
res.forEach((r) => {
|
|
215
|
-
const c = r.data?.content;
|
|
216
|
-
if (!c)
|
|
217
|
-
ERROR(Errors.Fail, 'Parse_Guard_Helper invalid content');
|
|
218
|
-
const index = protocol.WOWOK_OBJECTS_TYPE().findIndex(v => { return v.includes('guard::Guard') && v == c.type; });
|
|
219
|
-
if (index === -1)
|
|
220
|
-
ERROR(Errors.Fail, 'Parse_Guard_Helper invalid type: ' + c.type);
|
|
221
|
-
if (c.fields.input.type === (protocol.package('base') + '::bcs::BCS')) {
|
|
222
|
-
const constants = _a.parse_constant(c.fields.constants, c.fields?.id_description?.fields?.contents); // MUST first
|
|
223
|
-
const inputs = _a.parse_bcs(constants, Uint8Array.from(c.fields.input.fields.bytes));
|
|
224
|
-
me.guard_list.push({ id: c.fields.id.id, input: [...inputs], constant: [...constants], digest: r.data?.digest ?? '', version: r.data?.version ?? '' });
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
ERROR(Errors.Fail, 'Parse_Guard_Helper invalid package: ' + c.fields.input.type);
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
return me;
|
|
231
|
-
}
|
|
232
|
-
// 检查cmd(含非witness)和witness的模块一致性,并返回模块
|
|
233
|
-
static ConstantWitnessModule(constant) {
|
|
234
|
-
let module;
|
|
235
|
-
let witness_module;
|
|
236
|
-
for (let i = 0; i < constant.cmd.length; ++i) {
|
|
237
|
-
if (constant.cmd[i].witness !== undefined) { // witness cmd
|
|
238
|
-
if (!IsContextWitness(constant.cmd[i].witness)) {
|
|
239
|
-
ERROR(Errors.Fail, `ConstantWitnessModule witness type invalid on identifier ${constant}`);
|
|
240
|
-
}
|
|
241
|
-
const m = WitnessObjectModule(constant.cmd[i].witness);
|
|
242
|
-
if (!witness_module) {
|
|
243
|
-
witness_module = m;
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
if (witness_module !== m) {
|
|
247
|
-
ERROR(Errors.Fail, `ConstantWitnessModule wintesses modules are different on identifier ${constant}`);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
else {
|
|
252
|
-
const q = GUARD_QUERIES.find((q) => q.query_id == constant.cmd[i].cmd);
|
|
253
|
-
if (q) {
|
|
254
|
-
if (!module) {
|
|
255
|
-
module = q.module;
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
if (module !== q.module) {
|
|
259
|
-
ERROR(Errors.Fail, `ConstantWitnessModule modules are different on identifier ${constant}`);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
ERROR(Errors.Fail, `ConstantWitnessModule. cmd not found on identifier ${constant}`);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
for (let i = 0; i < constant.witness.length; ++i) {
|
|
269
|
-
const m = WitnessObjectModule(constant.witness[i]);
|
|
270
|
-
if (!witness_module) {
|
|
271
|
-
witness_module = m;
|
|
272
|
-
}
|
|
273
|
-
else {
|
|
274
|
-
if (witness_module !== m) {
|
|
275
|
-
ERROR(Errors.Fail, `ConstantWitnessModule modules are different on identifier ${constant}`);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
return { module: module, witness_module: witness_module };
|
|
280
|
-
}
|
|
281
|
-
static AddConstantWitness(constants, identifier, type) {
|
|
282
|
-
const c = constants.find(i => i.bWitness && i.identifier === identifier);
|
|
283
|
-
if (!c)
|
|
284
|
-
ERROR(Errors.Fail, `AddConstantWitness identifier ${identifier} with witness not found`);
|
|
285
|
-
const module = _a.ConstantWitnessModule(c);
|
|
286
|
-
const m = WitnessObjectModule(type);
|
|
287
|
-
if (module.witness_module && m !== module.witness_module) {
|
|
288
|
-
ERROR(Errors.Fail, `AddConstantWitness.type module not matach ${type}`);
|
|
289
|
-
}
|
|
290
|
-
const n = c.witness.find(v => v === type);
|
|
291
|
-
c.info = { module: m };
|
|
292
|
-
if (!n)
|
|
293
|
-
c.witness.push(type);
|
|
294
|
-
}
|
|
295
|
-
static AddConstantCmd(constants, identifier, cmd) {
|
|
296
|
-
let c;
|
|
297
|
-
if (cmd.witness !== undefined) {
|
|
298
|
-
c = constants.find(i => i.bWitness && i.identifier === identifier);
|
|
299
|
-
if (!c)
|
|
300
|
-
ERROR(Errors.Fail, `AddConstantCmd identifier ${identifier} with witness not found`);
|
|
301
|
-
const module = _a.ConstantWitnessModule(c);
|
|
302
|
-
GuardMaker.checkCmdWitness(cmd.cmd, cmd.witness);
|
|
303
|
-
const m = WitnessForModule(cmd.witness);
|
|
304
|
-
if (module.witness_module && m !== module.witness_module) { // 使用module_witness字段
|
|
305
|
-
ERROR(Errors.WitnessTypeInvalid, `AddConstantCmd module not match ${identifier} ${cmd.cmd}`);
|
|
306
|
-
}
|
|
307
|
-
c.info = { module: m };
|
|
308
|
-
}
|
|
309
|
-
else {
|
|
310
|
-
c = constants.find(i => i.identifier === identifier);
|
|
311
|
-
if (!c)
|
|
312
|
-
ERROR(Errors.Fail, `AddConstantCmd identifier ${identifier} with witness not found`);
|
|
313
|
-
const module = _a.ConstantWitnessModule(c);
|
|
314
|
-
const m = GUARD_QUERIES.find(v => v.query_id === cmd.cmd);
|
|
315
|
-
if (!m) {
|
|
316
|
-
ERROR(Errors.Fail, `AddConstantCmd.cmd not found ${cmd}`);
|
|
317
|
-
}
|
|
318
|
-
if (module.module && m?.module !== module.module) { // 使用module字段
|
|
319
|
-
ERROR(Errors.Fail, `AddConstantCmd module not match ${identifier} ${cmd.cmd}`);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
c.cmd.push(cmd); //@ 每个命令都添加进去,不考虑重复
|
|
323
|
-
}
|
|
324
|
-
done_helper(res, fill, info) {
|
|
325
|
-
let query = [];
|
|
326
|
-
let guards = [];
|
|
327
|
-
this.guard_list.forEach(g => {
|
|
328
|
-
guards.push(g.id);
|
|
329
|
-
let object_id;
|
|
330
|
-
g.input.filter((v) => v.cmd !== undefined).forEach(q => {
|
|
331
|
-
if (q.identifier !== undefined) {
|
|
332
|
-
if (IsContextWitness(q.value)) { //是否是 type witness
|
|
333
|
-
const value = fill?.find(c => c.guard === g.id && c.identifier === q.identifier);
|
|
334
|
-
object_id = value?.cmd.find(c => c.cmd === q.cmd)?.witness_object;
|
|
335
|
-
}
|
|
336
|
-
else { // self witness
|
|
337
|
-
const value = g.constant.find((c) => c.identifier === q.identifier && c.type === ValueType.TYPE_ADDRESS);
|
|
338
|
-
if (!value || !IsValidAddress(value.value)) {
|
|
339
|
-
ERROR(Errors.Fail, `done_helper: invalid identifier ${q.identifier}`);
|
|
340
|
-
}
|
|
341
|
-
object_id = value?.value;
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
else {
|
|
345
|
-
object_id = q.value; //@ address
|
|
346
|
-
}
|
|
347
|
-
let r = res.find(r => r.data?.objectId == object_id);
|
|
348
|
-
if (!r) {
|
|
349
|
-
ERROR(Errors.Fail, 'query object not match');
|
|
350
|
-
}
|
|
351
|
-
let object = this.object_query(r.data); // build passport query objects
|
|
352
|
-
if (!object) {
|
|
353
|
-
ERROR(Errors.Fail, 'query object fail');
|
|
354
|
-
}
|
|
355
|
-
query.push(object);
|
|
356
|
-
});
|
|
357
|
-
});
|
|
358
|
-
return { query: query, info: this.guard_list, witnessObjectInfo: info };
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
_a = GuardParser;
|
|
362
|
-
// 解析一个Guard的数据,生成树结构和表结构
|
|
363
|
-
GuardParser.DeGuardObject_FromData = (guard_constants, guard_input_bytes, id_description) => {
|
|
364
|
-
let constants = _a.parse_constant(guard_constants, id_description);
|
|
365
|
-
// console.log(constants)
|
|
366
|
-
let inputs = _a.parse_bcs(constants, guard_input_bytes);
|
|
367
|
-
if (!inputs || inputs.length == 0)
|
|
368
|
-
ERROR(Errors.Fail, 'GuardObject: data parsed error');
|
|
369
|
-
let stack = [];
|
|
370
|
-
inputs.forEach((d) => {
|
|
371
|
-
_a.ResolveData(constants, stack, { ...d, child: [] });
|
|
372
|
-
});
|
|
373
|
-
if (stack.length != 1) {
|
|
374
|
-
ERROR(Errors.Fail, 'GuardObject: parse error');
|
|
375
|
-
}
|
|
376
|
-
return { object: stack.pop(), constant: constants };
|
|
377
|
-
};
|
|
378
|
-
/// 解析一个Guard地址,生成树结构(通过ResolveData)和表结构。 用于UI对单个guard作图
|
|
379
|
-
GuardParser.DeGuardObject = async (protocol, guard) => {
|
|
380
|
-
if (!IsValidAddress(guard)) {
|
|
381
|
-
ERROR(Errors.IsValidAddress, 'GuardObject guard');
|
|
382
|
-
}
|
|
383
|
-
let res = await protocol.query_raw([guard]);
|
|
384
|
-
if (res.length == 0 || !res[0].data || res[0].data?.objectId != guard) {
|
|
385
|
-
ERROR(Errors.Fail, 'GuardObject query error');
|
|
386
|
-
}
|
|
387
|
-
// console.log(res[0].data?.content);
|
|
388
|
-
let content = res[0].data.content;
|
|
389
|
-
if (content?.type != protocol.package('base') + '::guard::Guard') {
|
|
390
|
-
ERROR(Errors.Fail, 'GuardObject object invalid');
|
|
391
|
-
}
|
|
392
|
-
console.log(content);
|
|
393
|
-
return _a.DeGuardObject_FromData(content.fields.constants, content.fields.input.fields.bytes, content.fields?.id_description?.fields?.contents);
|
|
394
|
-
};
|
|
395
|
-
GuardParser.ResolveData = (constants, stack, current) => {
|
|
396
|
-
switch (current.type) {
|
|
397
|
-
case OperatorType.TYPE_LOGIC_NOT:
|
|
398
|
-
current.ret_type = ValueType.TYPE_BOOL;
|
|
399
|
-
if (stack.length < 1)
|
|
400
|
-
ERROR(Errors.Fail, `ResolveData: TYPE_LOGIC_NOT`);
|
|
401
|
-
var param = stack.pop();
|
|
402
|
-
if (!param.ret_type || param.ret_type != ValueType.TYPE_BOOL) {
|
|
403
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_LOGIC_NOT type invalid');
|
|
404
|
-
}
|
|
405
|
-
current.child.push(param);
|
|
406
|
-
stack.push(current);
|
|
407
|
-
current.description = `Logical NOT operation on the child node`;
|
|
408
|
-
return;
|
|
409
|
-
case OperatorType.TYPE_NUMBER_ADDRESS:
|
|
410
|
-
current.ret_type = ValueType.TYPE_ADDRESS;
|
|
411
|
-
if (stack.length < 1)
|
|
412
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_NUMBER_ADDRESS');
|
|
413
|
-
var param = stack.pop();
|
|
414
|
-
if (!param.ret_type || !GuardMaker.match_u256(param.ret_type)) {
|
|
415
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_NUMBER_ADDRESS type invalid');
|
|
416
|
-
}
|
|
417
|
-
current.child.push(param);
|
|
418
|
-
stack.push(current);
|
|
419
|
-
current.description = `Convert the child node to an address type`;
|
|
420
|
-
return;
|
|
421
|
-
case OperatorType.TYPE_SAFE_U8:
|
|
422
|
-
current.ret_type = ValueType.TYPE_U8;
|
|
423
|
-
if (stack.length < 1)
|
|
424
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U8');
|
|
425
|
-
var param = stack.pop();
|
|
426
|
-
if (!param.ret_type || !GuardMaker.match_u256(param.ret_type)) {
|
|
427
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U8 type invalid');
|
|
428
|
-
}
|
|
429
|
-
current.child.push(param);
|
|
430
|
-
stack.push(current);
|
|
431
|
-
current.description = `Convert the child node to a safe u8 type`;
|
|
432
|
-
return;
|
|
433
|
-
case OperatorType.TYPE_SAFE_U16:
|
|
434
|
-
current.ret_type = ValueType.TYPE_U16;
|
|
435
|
-
if (stack.length < 1)
|
|
436
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U16');
|
|
437
|
-
var param = stack.pop();
|
|
438
|
-
if (!param.ret_type || !GuardMaker.match_u256(param.ret_type)) {
|
|
439
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U16 type invalid');
|
|
440
|
-
}
|
|
441
|
-
current.child.push(param);
|
|
442
|
-
stack.push(current);
|
|
443
|
-
current.description = `Convert the child node to a safe u16 type`;
|
|
444
|
-
return;
|
|
445
|
-
case OperatorType.TYPE_SAFE_U64:
|
|
446
|
-
current.ret_type = ValueType.TYPE_U64;
|
|
447
|
-
if (stack.length < 1)
|
|
448
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U64');
|
|
449
|
-
var param = stack.pop();
|
|
450
|
-
if (!param.ret_type || !GuardMaker.match_u256(param.ret_type)) {
|
|
451
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U64 type invalid');
|
|
452
|
-
}
|
|
453
|
-
current.child.push(param);
|
|
454
|
-
stack.push(current);
|
|
455
|
-
current.description = `Convert the child node to a safe u64 type`;
|
|
456
|
-
return;
|
|
457
|
-
case OperatorType.TYPE_STRING_LOWERCASE:
|
|
458
|
-
current.ret_type = ValueType.TYPE_STRING;
|
|
459
|
-
if (stack.length < 1)
|
|
460
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_STRING_LOWERCASE');
|
|
461
|
-
var param = stack.pop();
|
|
462
|
-
if (!param.ret_type || param.ret_type !== ValueType.TYPE_STRING) {
|
|
463
|
-
ERROR(Errors.Fail, 'ResolveData: TYPE_STRING_LOWERCASE type invalid');
|
|
464
|
-
}
|
|
465
|
-
current.child.push(param);
|
|
466
|
-
stack.push(current);
|
|
467
|
-
current.description = `Convert the child node to a lowercase string type`;
|
|
468
|
-
return;
|
|
469
|
-
case OperatorType.TYPE_LOGIC_AS_U256_GREATER:
|
|
470
|
-
case OperatorType.TYPE_LOGIC_AS_U256_GREATER_EQUAL:
|
|
471
|
-
case OperatorType.TYPE_LOGIC_AS_U256_LESSER:
|
|
472
|
-
case OperatorType.TYPE_LOGIC_AS_U256_LESSER_EQUAL:
|
|
473
|
-
case OperatorType.TYPE_LOGIC_AS_U256_EQUAL:
|
|
474
|
-
case OperatorType.TYPE_NUMBER_ADD:
|
|
475
|
-
case OperatorType.TYPE_NUMBER_DEVIDE:
|
|
476
|
-
case OperatorType.TYPE_NUMBER_MOD:
|
|
477
|
-
case OperatorType.TYPE_NUMBER_MULTIPLY:
|
|
478
|
-
case OperatorType.TYPE_NUMBER_SUBTRACT:
|
|
479
|
-
if (current.type === OperatorType.TYPE_LOGIC_AS_U256_GREATER || current.type === OperatorType.TYPE_LOGIC_AS_U256_GREATER_EQUAL ||
|
|
480
|
-
current.type === OperatorType.TYPE_LOGIC_AS_U256_LESSER || current.type === OperatorType.TYPE_LOGIC_AS_U256_LESSER_EQUAL ||
|
|
481
|
-
current.type === OperatorType.TYPE_LOGIC_AS_U256_EQUAL) {
|
|
482
|
-
current.ret_type = ValueType.TYPE_BOOL;
|
|
483
|
-
}
|
|
484
|
-
else {
|
|
485
|
-
current.ret_type = ValueType.TYPE_U256;
|
|
486
|
-
}
|
|
487
|
-
if (stack.length < current.value || current.value < 2)
|
|
488
|
-
ERROR(Errors.Fail, 'ResolveData: ' + current.type);
|
|
489
|
-
for (let i = 0; i < current.value; ++i) {
|
|
490
|
-
var p = stack.pop();
|
|
491
|
-
if (!p.ret_type || !GuardMaker.match_u256(p.ret_type))
|
|
492
|
-
ERROR(Errors.Fail, 'ResolveData: ' + current.type + ' INVALID param type');
|
|
493
|
-
current.child.push(p);
|
|
494
|
-
}
|
|
495
|
-
stack.push(current);
|
|
496
|
-
switch (current.type) {
|
|
497
|
-
case OperatorType.TYPE_LOGIC_AS_U256_GREATER:
|
|
498
|
-
current.description = `When the value of the first node is greater than the value of each subsequent node, return True; Otherwise, it is False.`;
|
|
499
|
-
break;
|
|
500
|
-
case OperatorType.TYPE_LOGIC_AS_U256_GREATER_EQUAL:
|
|
501
|
-
current.description = `When the value of the first node is greater than or equal to the value of each subsequent node, return True; Otherwise, it is False.`;
|
|
502
|
-
break;
|
|
503
|
-
case OperatorType.TYPE_LOGIC_AS_U256_LESSER:
|
|
504
|
-
current.description = `When the value of the first node is less than the value of each subsequent node, return True; Otherwise, it is False.`;
|
|
505
|
-
break;
|
|
506
|
-
case OperatorType.TYPE_LOGIC_AS_U256_LESSER_EQUAL:
|
|
507
|
-
current.description = `When the value of the first node is less than or equal to the value of each subsequent node, return True; Otherwise, it is False.`;
|
|
508
|
-
break;
|
|
509
|
-
case OperatorType.TYPE_LOGIC_AS_U256_EQUAL:
|
|
510
|
-
current.description = `When the value of the first node is equal to the value of each subsequent node, return True; Otherwise, it is False.`;
|
|
511
|
-
break;
|
|
512
|
-
case OperatorType.TYPE_NUMBER_ADD:
|
|
513
|
-
current.description = `The value of the first child node is added to the values of each subsequent child node, returning a ${current.ret_type} type result.`;
|
|
514
|
-
break;
|
|
515
|
-
case OperatorType.TYPE_NUMBER_DEVIDE:
|
|
516
|
-
current.description = `The value of the first child node is successively divided by the values of each subsequent child node, returning a ${current.ret_type} type result.`;
|
|
517
|
-
break;
|
|
518
|
-
case OperatorType.TYPE_NUMBER_MOD:
|
|
519
|
-
current.description = `The first child node performs a modulus operation with the value of each subsequent child node in sequence. `;
|
|
520
|
-
break;
|
|
521
|
-
case OperatorType.TYPE_NUMBER_MULTIPLY:
|
|
522
|
-
current.description = `The value of the first child node is multiplied by the values of each subsequent child node, returning a ${current.ret_type} type result.`;
|
|
523
|
-
break;
|
|
524
|
-
case OperatorType.TYPE_NUMBER_SUBTRACT:
|
|
525
|
-
current.description = `The value of the first child node is subtracted by the values of each subsequent child node, returning a ${current.ret_type} type result.`;
|
|
526
|
-
break;
|
|
527
|
-
}
|
|
528
|
-
return;
|
|
529
|
-
case OperatorType.TYPE_LOGIC_EQUAL:
|
|
530
|
-
current.ret_type = ValueType.TYPE_BOOL;
|
|
531
|
-
if (stack.length < current.value || current.value < 2)
|
|
532
|
-
ERROR(Errors.Fail, 'ResolveData: ' + current.type);
|
|
533
|
-
var p0 = stack.pop();
|
|
534
|
-
current.child.push(p0);
|
|
535
|
-
for (let i = 1; i < current.value; ++i) {
|
|
536
|
-
var p = stack.pop();
|
|
537
|
-
if (!p.ret_type || (p.ret_type != p0.ret_type))
|
|
538
|
-
ERROR(Errors.Fail, 'ResolveData: ' + current.type + ' INVALID param type');
|
|
539
|
-
current.child.push(p);
|
|
540
|
-
}
|
|
541
|
-
stack.push(current);
|
|
542
|
-
current.description = `When the value and type of the first node is equal to the value and type of each subsequent node, return True; Otherwise, it is False.`;
|
|
543
|
-
return;
|
|
544
|
-
case OperatorType.TYPE_LOGIC_HAS_SUBSTRING:
|
|
545
|
-
current.ret_type = ValueType.TYPE_BOOL;
|
|
546
|
-
if (stack.length < current.value || current.value < 2)
|
|
547
|
-
ERROR(Errors.Fail, 'ResolveData: ' + current.type);
|
|
548
|
-
for (let i = 0; i < current.value; ++i) {
|
|
549
|
-
var p = stack.pop();
|
|
550
|
-
if (!p.ret_type || (p.ret_type != ValueType.TYPE_STRING))
|
|
551
|
-
ERROR(Errors.Fail, 'ResolveData: ' + current.type + ' INVALID param type');
|
|
552
|
-
current.child.push(p);
|
|
553
|
-
}
|
|
554
|
-
stack.push(current);
|
|
555
|
-
current.description = `When the first node contains the substring of each subsequent node, return True; Otherwise, it is False.`;
|
|
556
|
-
return;
|
|
557
|
-
case OperatorType.TYPE_LOGIC_AND:
|
|
558
|
-
case OperatorType.TYPE_LOGIC_OR:
|
|
559
|
-
current.ret_type = ValueType.TYPE_BOOL;
|
|
560
|
-
if (stack.length < current.value || current.value < 2)
|
|
561
|
-
ERROR(Errors.Fail, 'ResolveData: ' + current.type);
|
|
562
|
-
for (let i = 0; i < current.value; ++i) {
|
|
563
|
-
var p = stack.pop();
|
|
564
|
-
if (!p.ret_type || (p.ret_type != ValueType.TYPE_BOOL))
|
|
565
|
-
ERROR(Errors.Fail, 'ResolveData: ' + current.type + ' INVALID param type');
|
|
566
|
-
current.child.push(p);
|
|
567
|
-
}
|
|
568
|
-
stack.push(current);
|
|
569
|
-
switch (current.type) {
|
|
570
|
-
case OperatorType.TYPE_LOGIC_AND:
|
|
571
|
-
current.description = `When the value of all child nodes is True, return True; Otherwise, it is False.`;
|
|
572
|
-
break;
|
|
573
|
-
case OperatorType.TYPE_LOGIC_OR:
|
|
574
|
-
current.description = `When the value of at least one child node is True, return True; Otherwise, it is False.`;
|
|
575
|
-
break;
|
|
576
|
-
}
|
|
577
|
-
return;
|
|
578
|
-
case OperatorType.TYPE_QUERY:
|
|
579
|
-
if (!current?.cmd)
|
|
580
|
-
ERROR(Errors.Fail, 'ResolveData: cmd invalid ' + current.type);
|
|
581
|
-
let r = Guard.GetCmd(current.cmd);
|
|
582
|
-
if (!r)
|
|
583
|
-
ERROR(Errors.Fail, 'ResolveData: cmd not supported ' + current.type);
|
|
584
|
-
current.ret_type = r?.return;
|
|
585
|
-
if (stack.length < r.parameters.length)
|
|
586
|
-
ERROR(Errors.Fail, 'ResolveData: cmd param lost ' + current.type);
|
|
587
|
-
r.parameters.forEach((e) => {
|
|
588
|
-
let d = stack.pop();
|
|
589
|
-
if (!d?.ret_type || d.ret_type != e) {
|
|
590
|
-
ERROR(Errors.Fail, 'ResolveData: cmd param not match ' + current.type);
|
|
591
|
-
}
|
|
592
|
-
current.child.push(d);
|
|
593
|
-
});
|
|
594
|
-
stack.push(current);
|
|
595
|
-
const d = current?.identifier !== undefined ? constants.find((e) => e.identifier == current?.identifier) : undefined;
|
|
596
|
-
current.description = d?.bWitness ? `Query the ${r?.module} object with a witness object(provided by the Guard verifier) for the constant identifier ${current?.identifier}: '${r?.description}'` :
|
|
597
|
-
`Query the ${r?.module} object ${current?.value}: '${r?.description}'`;
|
|
598
|
-
current.description += ` The return type is ${SER_VALUE.find(s => s.type === current.ret_type)?.description}. And parameters are ${current.child.length > 0 ? current.child.map((e) => e.description).join(', ') : 'none'}.`;
|
|
599
|
-
return;
|
|
600
|
-
case ValueType.TYPE_ADDRESS:
|
|
601
|
-
case ValueType.TYPE_BOOL:
|
|
602
|
-
case ValueType.TYPE_U128:
|
|
603
|
-
case ValueType.TYPE_U256:
|
|
604
|
-
case ValueType.TYPE_U64:
|
|
605
|
-
case ValueType.TYPE_U8:
|
|
606
|
-
case ValueType.TYPE_VEC_ADDRESS:
|
|
607
|
-
case ValueType.TYPE_VEC_BOOL:
|
|
608
|
-
case ValueType.TYPE_VEC_U128:
|
|
609
|
-
case ValueType.TYPE_VEC_U256:
|
|
610
|
-
case ValueType.TYPE_VEC_U64:
|
|
611
|
-
case ValueType.TYPE_VEC_U8:
|
|
612
|
-
case ValueType.TYPE_VEC_VEC_U8:
|
|
613
|
-
case ValueType.TYPE_VEC_STRING:
|
|
614
|
-
case ValueType.TYPE_U16:
|
|
615
|
-
case ValueType.TYPE_VEC_U16:
|
|
616
|
-
/*case ValueType.TYPE_OPTION_ADDRESS:
|
|
617
|
-
case ValueType.TYPE_OPTION_BOOL:
|
|
618
|
-
case ValueType.TYPE_OPTION_U128:
|
|
619
|
-
case ValueType.TYPE_OPTION_U256:
|
|
620
|
-
case ValueType.TYPE_OPTION_U64:
|
|
621
|
-
case ValueType.TYPE_OPTION_U8:*/
|
|
622
|
-
case ValueType.TYPE_STRING:
|
|
623
|
-
current.ret_type = current.type;
|
|
624
|
-
stack.push(current);
|
|
625
|
-
switch (current.type) {
|
|
626
|
-
case ValueType.TYPE_ADDRESS:
|
|
627
|
-
current.description = `'${current?.value}' (address type)`;
|
|
628
|
-
break;
|
|
629
|
-
case ValueType.TYPE_BOOL:
|
|
630
|
-
current.description = `'${current?.value}' (boolean type)`;
|
|
631
|
-
break;
|
|
632
|
-
case ValueType.TYPE_U128:
|
|
633
|
-
current.description = `'${current?.value}' (128-bit unsigned integer type)`;
|
|
634
|
-
break;
|
|
635
|
-
case ValueType.TYPE_U256:
|
|
636
|
-
current.description = `'${current?.value}' (256-bit unsigned integer type)`;
|
|
637
|
-
break;
|
|
638
|
-
case ValueType.TYPE_U64:
|
|
639
|
-
current.description = `'${current?.value}' (64-bit unsigned integer type)`;
|
|
640
|
-
break;
|
|
641
|
-
case ValueType.TYPE_U8:
|
|
642
|
-
current.description = `'${current?.value}' (8-bit unsigned integer type)`;
|
|
643
|
-
break;
|
|
644
|
-
case ValueType.TYPE_U16:
|
|
645
|
-
current.description = `'${current?.value}' (16-bit unsigned integer type)`;
|
|
646
|
-
break;
|
|
647
|
-
case ValueType.TYPE_VEC_ADDRESS:
|
|
648
|
-
current.description = `'${current?.value}' (array of address types)`;
|
|
649
|
-
break;
|
|
650
|
-
case ValueType.TYPE_VEC_BOOL:
|
|
651
|
-
current.description = `'${current?.value}' (array of boolean types)`;
|
|
652
|
-
break;
|
|
653
|
-
case ValueType.TYPE_VEC_U128:
|
|
654
|
-
current.description = `'${current?.value}' (array of 128-bit unsigned integer types)`;
|
|
655
|
-
break;
|
|
656
|
-
case ValueType.TYPE_VEC_U16:
|
|
657
|
-
current.description = `'${current?.value}' (array of 16-bit unsigned integer types)`;
|
|
658
|
-
break;
|
|
659
|
-
case ValueType.TYPE_VEC_U256:
|
|
660
|
-
current.description = `'${current?.value}' (array of 256-bit unsigned integer types)`;
|
|
661
|
-
break;
|
|
662
|
-
case ValueType.TYPE_VEC_U64:
|
|
663
|
-
current.description = `'${current?.value}' (array of 64-bit unsigned integer types)`;
|
|
664
|
-
break;
|
|
665
|
-
case ValueType.TYPE_VEC_U8:
|
|
666
|
-
current.description = `'${current?.value}' (array of 8-bit unsigned integer types)`;
|
|
667
|
-
break;
|
|
668
|
-
case ValueType.TYPE_VEC_VEC_U8:
|
|
669
|
-
current.description = `'${current?.value}' (array of arrays of 8-bit unsigned integer types)`;
|
|
670
|
-
break;
|
|
671
|
-
case ValueType.TYPE_VEC_STRING:
|
|
672
|
-
current.description = `'${current?.value}' (array of string types)`;
|
|
673
|
-
break;
|
|
674
|
-
case ValueType.TYPE_STRING:
|
|
675
|
-
current.description = `'${current?.value}' (string type)`;
|
|
676
|
-
break;
|
|
677
|
-
}
|
|
678
|
-
return;
|
|
679
|
-
case ContextType.TYPE_CLOCK:
|
|
680
|
-
current.ret_type = ValueType.TYPE_U64;
|
|
681
|
-
stack.push(current);
|
|
682
|
-
current.description = `Representing the current time in microseconds since the Unix epoch.`;
|
|
683
|
-
return;
|
|
684
|
-
case ContextType.TYPE_SIGNER:
|
|
685
|
-
current.ret_type = ValueType.TYPE_ADDRESS;
|
|
686
|
-
stack.push(current);
|
|
687
|
-
current.description = `Representing the address of the signer.`;
|
|
688
|
-
return;
|
|
689
|
-
case ContextType.TYPE_GUARD:
|
|
690
|
-
current.ret_type = ValueType.TYPE_ADDRESS;
|
|
691
|
-
stack.push(current);
|
|
692
|
-
current.description = `Representing the address of the current guard object address.`;
|
|
693
|
-
return;
|
|
694
|
-
case ContextType.TYPE_CONSTANT:
|
|
695
|
-
let v = constants.find((e) => e.identifier == current?.identifier);
|
|
696
|
-
if (!v)
|
|
697
|
-
ERROR(Errors.Fail, 'ResolveData: identifier invalid ' + current.type);
|
|
698
|
-
current.ret_type = v?.type;
|
|
699
|
-
stack.push(current);
|
|
700
|
-
current.description = v?.bWitness ? `Representing a witness constant(provided by the Guard verifier) with identifier ${current?.identifier} and type ${SER_VALUE.find(s => s.type === current.ret_type)?.description}.` :
|
|
701
|
-
`Representing a constant '${v?.value}' with identifier ${current?.identifier}.`;
|
|
702
|
-
return;
|
|
703
|
-
case ContextType.TYPE_ARB_ARBITRATION:
|
|
704
|
-
case ContextType.TYPE_ARB_MACHINE:
|
|
705
|
-
case ContextType.TYPE_ARB_ORDER:
|
|
706
|
-
case ContextType.TYPE_ARB_PROGRESS:
|
|
707
|
-
case ContextType.TYPE_ARB_SERVICE:
|
|
708
|
-
case ContextType.TYPE_ORDER_MACHINE:
|
|
709
|
-
case ContextType.TYPE_ORDER_PROGRESS:
|
|
710
|
-
case ContextType.TYPE_ORDER_SERVICE:
|
|
711
|
-
case ContextType.TYPE_PROGRESS_MACHINE: {
|
|
712
|
-
current.ret_type = ValueType.TYPE_ADDRESS;
|
|
713
|
-
stack.push(current);
|
|
714
|
-
switch (current.type) {
|
|
715
|
-
case ContextType.TYPE_ARB_ARBITRATION:
|
|
716
|
-
current.description = `Representing its Arbitration object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
|
|
717
|
-
break;
|
|
718
|
-
case ContextType.TYPE_ARB_MACHINE:
|
|
719
|
-
current.description = `Representing its Machine object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
|
|
720
|
-
break;
|
|
721
|
-
case ContextType.TYPE_ARB_ORDER:
|
|
722
|
-
current.description = `Representing its Order object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
|
|
723
|
-
break;
|
|
724
|
-
case ContextType.TYPE_ARB_PROGRESS:
|
|
725
|
-
current.description = `Representing its Progress object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
|
|
726
|
-
break;
|
|
727
|
-
case ContextType.TYPE_ARB_SERVICE:
|
|
728
|
-
current.description = `Representing its Service object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
|
|
729
|
-
break;
|
|
730
|
-
case ContextType.TYPE_ORDER_MACHINE:
|
|
731
|
-
current.description = `Representing its Machine object address, When the user provides a witness(provided by the Guard verifier) for an Order object.`;
|
|
732
|
-
break;
|
|
733
|
-
case ContextType.TYPE_ORDER_PROGRESS:
|
|
734
|
-
current.description = `Representing its Progress object address, When the user provides a witness(provided by the Guard verifier) for an Order object.`;
|
|
735
|
-
break;
|
|
736
|
-
case ContextType.TYPE_ORDER_SERVICE:
|
|
737
|
-
current.description = `Representing its Service object address, When the user provides a witness(provided by the Guard verifier) for an Order object.`;
|
|
738
|
-
break;
|
|
739
|
-
case ContextType.TYPE_PROGRESS_MACHINE:
|
|
740
|
-
current.description = `Representing its Machine object address, When the user provides a witness(provided by the Guard verifier) for a Progress object.`;
|
|
741
|
-
break;
|
|
742
|
-
}
|
|
743
|
-
return;
|
|
744
|
-
}
|
|
745
|
-
}
|
|
746
|
-
ERROR(Errors.Fail, 'ResolveData: type invalid ' + current.type);
|
|
747
|
-
};
|
|
748
|
-
// 解析一些Guards,生成parser结构。用于生成fill数据或进行passport验证。
|
|
749
|
-
GuardParser.Create = async (guards) => {
|
|
750
|
-
if (guards.length == 0)
|
|
751
|
-
return;
|
|
752
|
-
if (!IsValidArray(guards, IsValidAddress)) {
|
|
753
|
-
ERROR(Errors.InvalidParam, `GuardParser.Create guards invalid: ${guards}`);
|
|
754
|
-
}
|
|
755
|
-
let guard_list = array_unique(guards);
|
|
756
|
-
let check_guards = [...guard_list];
|
|
757
|
-
let i = 0;
|
|
758
|
-
const parsers = [];
|
|
759
|
-
for (; i < _a.MAX_REPOSITORY_DEPTH; ++i) {
|
|
760
|
-
const res = await Protocol.Instance().query_raw(check_guards);
|
|
761
|
-
const p = _a.Parse_Guard_Helper(guards, res);
|
|
762
|
-
const repositories = [];
|
|
763
|
-
p.guardlist().forEach((g) => {
|
|
764
|
-
g.input.forEach((i) => {
|
|
765
|
-
if (i.cmd !== undefined && CMD_CHECK_GUARD.includes(i.cmd)) {
|
|
766
|
-
if (i.identifier !== undefined) {
|
|
767
|
-
const id = g.constant.find((c) => c.identifier === i.identifier);
|
|
768
|
-
if (id && id.value) {
|
|
769
|
-
repositories.push(id.value);
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
else if (i.value) {
|
|
773
|
-
repositories.push(i.value);
|
|
774
|
-
}
|
|
775
|
-
}
|
|
776
|
-
});
|
|
777
|
-
});
|
|
778
|
-
parsers.push(p);
|
|
779
|
-
if (repositories.length === 0) {
|
|
780
|
-
break;
|
|
781
|
-
}
|
|
782
|
-
check_guards = await _a.RepositoryGuards(repositories);
|
|
783
|
-
if (check_guards.length === 0) {
|
|
784
|
-
break;
|
|
785
|
-
}
|
|
786
|
-
}
|
|
787
|
-
if (i >= _a.MAX_REPOSITORY_DEPTH) {
|
|
788
|
-
ERROR(Errors.Fail, `GuardParser.Create: Retrieve guards from the Repository with a maximum depth of more than ${_a.MAX_REPOSITORY_DEPTH} levels.`);
|
|
789
|
-
}
|
|
790
|
-
// concatenate all parsers
|
|
791
|
-
for (let i = 1; i < parsers.length; ++i) {
|
|
792
|
-
parsers[0].guard_list = parsers[0].guard_list.concat(deepCopy(parsers[i].guard_list));
|
|
793
|
-
parsers[0].guards = parsers[0].guards.concat(parsers[i].guards);
|
|
794
|
-
}
|
|
795
|
-
if (parsers.length > 0) {
|
|
796
|
-
return parsers[0];
|
|
797
|
-
}
|
|
798
|
-
};
|
|
799
|
-
// fetch repository guards
|
|
800
|
-
GuardParser.RepositoryGuards = async (repositories) => {
|
|
801
|
-
const res = await Protocol.Instance().query_raw(repositories);
|
|
802
|
-
const guards = [];
|
|
803
|
-
for (let i = 0; i < res.length; ++i) {
|
|
804
|
-
if (res[i].data?.content?.fields?.guard) {
|
|
805
|
-
guards.push((res[i].data?.content).fields.guard);
|
|
806
|
-
}
|
|
807
|
-
}
|
|
808
|
-
return guards;
|
|
809
|
-
};
|
|
810
|
-
GuardParser.parse_constant = (constants, id_description) => {
|
|
811
|
-
let ret = [];
|
|
812
|
-
constants.forEach((c) => {
|
|
813
|
-
let v = c?.fields ?? c; // graphql dosnot 'fields', but rpcall has.
|
|
814
|
-
const data = Uint8Array.from(v.value);
|
|
815
|
-
const type = data.slice(0, 1)[0];
|
|
816
|
-
const description = id_description.find((i) => i.fields?.key == v.identifier)?.fields?.value;
|
|
817
|
-
if (v.bWitness) { //@ witness
|
|
818
|
-
ret.push({ identifier: v.identifier, type: type, bWitness: v.bWitness, value: undefined, cmd: [], witness: [], description: description });
|
|
819
|
-
return;
|
|
820
|
-
}
|
|
821
|
-
var value = data.slice(1);
|
|
822
|
-
switch (type) {
|
|
823
|
-
case ValueType.TYPE_ADDRESS:
|
|
824
|
-
value = Bcs.getInstance().de(ValueType.TYPE_ADDRESS, Uint8Array.from(value)).toString();
|
|
825
|
-
break;
|
|
826
|
-
case ValueType.TYPE_BOOL:
|
|
827
|
-
case ValueType.TYPE_U8:
|
|
828
|
-
case ValueType.TYPE_U64:
|
|
829
|
-
case ValueType.TYPE_U128:
|
|
830
|
-
case ValueType.TYPE_U256:
|
|
831
|
-
case ValueType.TYPE_VEC_U8:
|
|
832
|
-
case ValueType.TYPE_VEC_U64:
|
|
833
|
-
case ValueType.TYPE_VEC_U128:
|
|
834
|
-
case ValueType.TYPE_VEC_ADDRESS:
|
|
835
|
-
case ValueType.TYPE_VEC_BOOL:
|
|
836
|
-
case ValueType.TYPE_VEC_VEC_U8:
|
|
837
|
-
case ValueType.TYPE_VEC_U256:
|
|
838
|
-
case ValueType.TYPE_STRING:
|
|
839
|
-
case ValueType.TYPE_U16:
|
|
840
|
-
case ValueType.TYPE_VEC_U16:
|
|
841
|
-
case ValueType.TYPE_VEC_STRING:
|
|
842
|
-
let de = SER_VALUE.find(s => s.type == type);
|
|
843
|
-
if (!de)
|
|
844
|
-
ERROR(Errors.Fail, 'GuardObject de error');
|
|
845
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(value));
|
|
846
|
-
break;
|
|
847
|
-
default:
|
|
848
|
-
ERROR(Errors.Fail, 'GuardObject constant type invalid:' + type);
|
|
849
|
-
}
|
|
850
|
-
ret.push({ identifier: v.identifier, type: type, bWitness: v.bWitness, value: value, witness: [], cmd: [], description: description });
|
|
851
|
-
});
|
|
852
|
-
return ret;
|
|
853
|
-
};
|
|
854
|
-
GuardParser.parse_bcs = (constants, chain_bytes) => {
|
|
855
|
-
let bytes = Uint8Array.from(chain_bytes);
|
|
856
|
-
let arr = [].slice.call(bytes.reverse());
|
|
857
|
-
let data = [];
|
|
858
|
-
while (arr.length > 0) {
|
|
859
|
-
let type = arr.shift();
|
|
860
|
-
let value;
|
|
861
|
-
let cmd;
|
|
862
|
-
let identifier;
|
|
863
|
-
switch (type) {
|
|
864
|
-
case ContextType.TYPE_SIGNER:
|
|
865
|
-
case ContextType.TYPE_CLOCK:
|
|
866
|
-
case ContextType.TYPE_GUARD:
|
|
867
|
-
case OperatorType.TYPE_LOGIC_NOT:
|
|
868
|
-
case OperatorType.TYPE_NUMBER_ADDRESS:
|
|
869
|
-
case OperatorType.TYPE_STRING_LOWERCASE:
|
|
870
|
-
case OperatorType.TYPE_SAFE_U64:
|
|
871
|
-
case OperatorType.TYPE_SAFE_U8:
|
|
872
|
-
case OperatorType.TYPE_SAFE_U16:
|
|
873
|
-
break;
|
|
874
|
-
case OperatorType.TYPE_LOGIC_AS_U256_GREATER:
|
|
875
|
-
case OperatorType.TYPE_LOGIC_AS_U256_GREATER_EQUAL:
|
|
876
|
-
case OperatorType.TYPE_LOGIC_AS_U256_LESSER:
|
|
877
|
-
case OperatorType.TYPE_LOGIC_AS_U256_LESSER_EQUAL:
|
|
878
|
-
case OperatorType.TYPE_LOGIC_AS_U256_EQUAL:
|
|
879
|
-
case OperatorType.TYPE_LOGIC_EQUAL:
|
|
880
|
-
case OperatorType.TYPE_LOGIC_HAS_SUBSTRING:
|
|
881
|
-
case OperatorType.TYPE_NUMBER_ADD:
|
|
882
|
-
case OperatorType.TYPE_NUMBER_DEVIDE:
|
|
883
|
-
case OperatorType.TYPE_NUMBER_MOD:
|
|
884
|
-
case OperatorType.TYPE_NUMBER_MULTIPLY:
|
|
885
|
-
case OperatorType.TYPE_NUMBER_SUBTRACT:
|
|
886
|
-
case OperatorType.TYPE_LOGIC_AND: //@ with logics count
|
|
887
|
-
case OperatorType.TYPE_LOGIC_OR:
|
|
888
|
-
value = arr.shift();
|
|
889
|
-
break;
|
|
890
|
-
case ContextType.TYPE_ARB_ARBITRATION:
|
|
891
|
-
case ContextType.TYPE_ARB_MACHINE:
|
|
892
|
-
case ContextType.TYPE_ARB_ORDER:
|
|
893
|
-
case ContextType.TYPE_ARB_PROGRESS:
|
|
894
|
-
case ContextType.TYPE_ARB_SERVICE:
|
|
895
|
-
case ContextType.TYPE_ORDER_MACHINE:
|
|
896
|
-
case ContextType.TYPE_ORDER_PROGRESS:
|
|
897
|
-
case ContextType.TYPE_ORDER_SERVICE:
|
|
898
|
-
case ContextType.TYPE_PROGRESS_MACHINE:
|
|
899
|
-
identifier = arr.shift(); // identifier
|
|
900
|
-
let v = constants.find((v) => (v.identifier == identifier) &&
|
|
901
|
-
((v.type == ValueType.TYPE_ADDRESS)));
|
|
902
|
-
if (!v) {
|
|
903
|
-
ERROR(Errors.Fail, `GuardParser.parse_bcs: indentifier ${identifier} with type ${ValueType.TYPE_ADDRESS} not in constant`);
|
|
904
|
-
}
|
|
905
|
-
value = type; //@ type used
|
|
906
|
-
//@ 将witness数据加入到常量中
|
|
907
|
-
_a.AddConstantWitness(constants, identifier, type);
|
|
908
|
-
break;
|
|
909
|
-
case ContextType.TYPE_CONSTANT:
|
|
910
|
-
identifier = arr.shift(); // identifier
|
|
911
|
-
break;
|
|
912
|
-
case ValueType.TYPE_ADDRESS:
|
|
913
|
-
value = Bcs.getInstance().de(ValueType.TYPE_ADDRESS, Uint8Array.from(arr)).toString();
|
|
914
|
-
arr.splice(0, 32); // address
|
|
915
|
-
break;
|
|
916
|
-
case ValueType.TYPE_BOOL:
|
|
917
|
-
case ValueType.TYPE_U8:
|
|
918
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
919
|
-
arr.shift();
|
|
920
|
-
break;
|
|
921
|
-
case ValueType.TYPE_U16:
|
|
922
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
923
|
-
arr.splice(0, 2);
|
|
924
|
-
break;
|
|
925
|
-
case ValueType.TYPE_U64:
|
|
926
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
927
|
-
arr.splice(0, 8);
|
|
928
|
-
break;
|
|
929
|
-
case ValueType.TYPE_U128:
|
|
930
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
931
|
-
arr.splice(0, 16);
|
|
932
|
-
break;
|
|
933
|
-
case ValueType.TYPE_U256:
|
|
934
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
935
|
-
arr.splice(0, 32);
|
|
936
|
-
break;
|
|
937
|
-
case ValueType.TYPE_VEC_U8:
|
|
938
|
-
case ValueType.TYPE_VEC_BOOL:
|
|
939
|
-
case ValueType.TYPE_STRING:
|
|
940
|
-
let r = ulebDecode(Uint8Array.from(arr));
|
|
941
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
942
|
-
arr.splice(0, r.value + r.length);
|
|
943
|
-
break;
|
|
944
|
-
case ValueType.TYPE_VEC_ADDRESS:
|
|
945
|
-
r = ulebDecode(Uint8Array.from(arr));
|
|
946
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
947
|
-
arr.splice(0, r.value * 32 + r.length);
|
|
948
|
-
break;
|
|
949
|
-
case ValueType.TYPE_VEC_U16:
|
|
950
|
-
r = ulebDecode(Uint8Array.from(arr));
|
|
951
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
952
|
-
arr.splice(0, r.value * 2 + r.length);
|
|
953
|
-
break;
|
|
954
|
-
case ValueType.TYPE_VEC_U128:
|
|
955
|
-
r = ulebDecode(Uint8Array.from(arr));
|
|
956
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
957
|
-
arr.splice(0, r.value * 16 + r.length);
|
|
958
|
-
break;
|
|
959
|
-
case ValueType.TYPE_VEC_U256:
|
|
960
|
-
r = ulebDecode(Uint8Array.from(arr));
|
|
961
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
962
|
-
arr.splice(0, r.value * 32 + r.length);
|
|
963
|
-
break;
|
|
964
|
-
case ValueType.TYPE_VEC_U64:
|
|
965
|
-
r = ulebDecode(Uint8Array.from(arr));
|
|
966
|
-
value = Bcs.getInstance().de(type, Uint8Array.from(arr));
|
|
967
|
-
arr.splice(0, r.value * 8 + r.length);
|
|
968
|
-
break;
|
|
969
|
-
case ValueType.TYPE_VEC_VEC_U8:
|
|
970
|
-
case ValueType.TYPE_VEC_STRING:
|
|
971
|
-
r = ulebDecode(Uint8Array.from(arr));
|
|
972
|
-
arr.splice(0, r.length);
|
|
973
|
-
let res = [];
|
|
974
|
-
for (let i = 0; i < r.value; i++) {
|
|
975
|
-
let r2 = ulebDecode(Uint8Array.from(arr));
|
|
976
|
-
res.push(Bcs.getInstance().de(ValueType.TYPE_VEC_U8, Uint8Array.from(arr)));
|
|
977
|
-
arr.splice(0, r2.length + r2.value);
|
|
978
|
-
}
|
|
979
|
-
value = res;
|
|
980
|
-
break;
|
|
981
|
-
case OperatorType.TYPE_QUERY:
|
|
982
|
-
let t = arr.splice(0, 1); // data-type
|
|
983
|
-
switch (t[0]) {
|
|
984
|
-
case ValueType.TYPE_ADDRESS: {
|
|
985
|
-
let addr = Bcs.getInstance().de(ValueType.TYPE_ADDRESS, Uint8Array.from(arr)).toString();
|
|
986
|
-
arr.splice(0, 32); // address
|
|
987
|
-
value = addr;
|
|
988
|
-
cmd = bcs.u16().parse(Uint8Array.from(arr.splice(0, 2))); // cmd(u16)
|
|
989
|
-
break;
|
|
990
|
-
}
|
|
991
|
-
case ContextType.TYPE_CONSTANT: {
|
|
992
|
-
let id = arr.splice(0, 1); // key
|
|
993
|
-
let v = constants.find((v) => (v.identifier == id[0]) &&
|
|
994
|
-
((v.type == ValueType.TYPE_ADDRESS)));
|
|
995
|
-
if (!v) {
|
|
996
|
-
ERROR(Errors.Fail, `GuardParser.parse_bcs: indentifier ${id[0]} with type ${ValueType.TYPE_ADDRESS} not in constant`);
|
|
997
|
-
}
|
|
998
|
-
identifier = id[0];
|
|
999
|
-
cmd = bcs.u16().parse(Uint8Array.from(arr.splice(0, 2))); // cmd(u16)
|
|
1000
|
-
_a.AddConstantCmd(constants, identifier, { cmd: cmd }); //@ witness的cmd都添加(Self类型)
|
|
1001
|
-
break;
|
|
1002
|
-
}
|
|
1003
|
-
case ContextType.TYPE_ARB_ARBITRATION:
|
|
1004
|
-
case ContextType.TYPE_ARB_MACHINE:
|
|
1005
|
-
case ContextType.TYPE_ARB_ORDER:
|
|
1006
|
-
case ContextType.TYPE_ARB_PROGRESS:
|
|
1007
|
-
case ContextType.TYPE_ARB_SERVICE:
|
|
1008
|
-
case ContextType.TYPE_ORDER_MACHINE:
|
|
1009
|
-
case ContextType.TYPE_ORDER_PROGRESS:
|
|
1010
|
-
case ContextType.TYPE_ORDER_SERVICE:
|
|
1011
|
-
case ContextType.TYPE_PROGRESS_MACHINE: {
|
|
1012
|
-
let id = arr.splice(0, 1); // key
|
|
1013
|
-
let v = constants.find((v) => (v.identifier == id[0]) && v.bWitness &&
|
|
1014
|
-
((v.type == ValueType.TYPE_ADDRESS))); // witness, address type
|
|
1015
|
-
if (!v) {
|
|
1016
|
-
ERROR(Errors.Fail, `GuardParser.parse_bcs: indentifier ${id[0]} with type ${ValueType.TYPE_ADDRESS} not in constant`);
|
|
1017
|
-
}
|
|
1018
|
-
identifier = id[0];
|
|
1019
|
-
cmd = bcs.u16().parse(Uint8Array.from(arr.splice(0, 2))); // cmd(u16)
|
|
1020
|
-
value = t[0]; //@ value used
|
|
1021
|
-
// 添加witness cmd(witness类型)
|
|
1022
|
-
_a.AddConstantCmd(constants, identifier, { witness: t[0], cmd: cmd });
|
|
1023
|
-
break;
|
|
1024
|
-
}
|
|
1025
|
-
default:
|
|
1026
|
-
ERROR(Errors.Fail, 'GuardObject: type invalid');
|
|
1027
|
-
}
|
|
1028
|
-
break;
|
|
1029
|
-
/*case ValueType.TYPE_OPTION_ADDRESS:
|
|
1030
|
-
let read = readOption(arr, ValueType.TYPE_ADDRESS);
|
|
1031
|
-
value = read.value;
|
|
1032
|
-
if (!read.bNone) arr.splice(0, 32);
|
|
1033
|
-
break;
|
|
1034
|
-
case ValueType.TYPE_OPTION_BOOL:
|
|
1035
|
-
read = readOption(arr, ValueType.TYPE_BOOL);
|
|
1036
|
-
value = read.value;
|
|
1037
|
-
if (!read.bNone) arr.splice(0, 1);
|
|
1038
|
-
break;
|
|
1039
|
-
case ValueType.TYPE_OPTION_U8:
|
|
1040
|
-
read = readOption(arr, ValueType.TYPE_U8);
|
|
1041
|
-
value = read.value;
|
|
1042
|
-
if (!read.bNone) arr.splice(0, 1);
|
|
1043
|
-
break;
|
|
1044
|
-
case ValueType.TYPE_OPTION_U128:
|
|
1045
|
-
read = readOption(arr, ValueType.TYPE_U128);
|
|
1046
|
-
value = read.value;
|
|
1047
|
-
if (!read.bNone) arr.splice(0, 16);
|
|
1048
|
-
break;
|
|
1049
|
-
case ValueType.TYPE_OPTION_U256:
|
|
1050
|
-
read = readOption(arr, ValueType.TYPE_U256);
|
|
1051
|
-
value = read.value;
|
|
1052
|
-
if (!read.bNone) arr.splice(0, 32);
|
|
1053
|
-
break;
|
|
1054
|
-
case ValueType.TYPE_OPTION_U64:
|
|
1055
|
-
read = readOption(arr, ValueType.TYPE_U64);
|
|
1056
|
-
value = read.value;
|
|
1057
|
-
if (!read.bNone) arr.splice(0, 8);
|
|
1058
|
-
break;
|
|
1059
|
-
case ValueType.TYPE_OPTION_STRING:
|
|
1060
|
-
read = readOptionString(arr); // splice in it
|
|
1061
|
-
value = read.value;
|
|
1062
|
-
break;*/
|
|
1063
|
-
default:
|
|
1064
|
-
ERROR(Errors.Fail, 'GuardObject: parse_bcs types ' + type);
|
|
1065
|
-
}
|
|
1066
|
-
data.push({ type: type, value: value, cmd: cmd, identifier: identifier });
|
|
1067
|
-
}
|
|
1068
|
-
return data;
|
|
1069
|
-
};
|
|
1070
|
-
GuardParser.MAX_REPOSITORY_DEPTH = 3;
|
|
1071
|
-
export class Passport {
|
|
1072
|
-
get_object() { return this.passport; }
|
|
1073
|
-
// return passport object used
|
|
1074
|
-
// bObject(true) in cmd env; (false) in service env
|
|
1075
|
-
constructor(txb, query) {
|
|
1076
|
-
this.query_result_async = async (sender) => {
|
|
1077
|
-
this.txb.moveCall({
|
|
1078
|
-
target: Protocol.Instance().passportFn('query_result'),
|
|
1079
|
-
arguments: [this.passport]
|
|
1080
|
-
});
|
|
1081
|
-
const res = await Protocol.Client().devInspectTransactionBlock({ sender: sender, transactionBlock: this.txb });
|
|
1082
|
-
//console.log(res)
|
|
1083
|
-
return Passport.ResolveQueryRes(this.txb, res);
|
|
1084
|
-
};
|
|
1085
|
-
if (query.info.length > Passport.MAX_GUARD_COUNT) {
|
|
1086
|
-
ERROR(Errors.InvalidParam, `Passport: guards count max ${Passport.MAX_GUARD_COUNT}`);
|
|
1087
|
-
}
|
|
1088
|
-
this.txb = txb; //console.log(query)
|
|
1089
|
-
this.passport = this.txb.moveCall({
|
|
1090
|
-
target: Protocol.Instance().passportFn('new'),
|
|
1091
|
-
arguments: []
|
|
1092
|
-
});
|
|
1093
|
-
// add others guards, if any
|
|
1094
|
-
query.info.forEach((g, guard_index) => {
|
|
1095
|
-
const ids = g.constant.filter((i) => i.bWitness).map((v) => v.identifier);
|
|
1096
|
-
const values = g.constant.filter((i) => i.bWitness).map((v) => {
|
|
1097
|
-
const bcs = Bcs.getInstance().ser(v.type, v.value);
|
|
1098
|
-
let r = new Uint8Array(bcs.length + 1);
|
|
1099
|
-
r.set([v.type], 0);
|
|
1100
|
-
r.set(bcs, 1);
|
|
1101
|
-
return [].slice.call(r);
|
|
1102
|
-
});
|
|
1103
|
-
const guard = g.version !== undefined && g.digest !== undefined ?
|
|
1104
|
-
txb.objectRef({ objectId: g.id, version: g.version, digest: g.digest }) :
|
|
1105
|
-
txb.object(g.id);
|
|
1106
|
-
//console.log(ids); console.log(values)
|
|
1107
|
-
this.txb.moveCall({
|
|
1108
|
-
target: Protocol.Instance().passportFn('guard_add'),
|
|
1109
|
-
arguments: [this.passport, guard, this.txb.pure.vector('u8', [].slice.call(ids)),
|
|
1110
|
-
this.txb.pure(bcs.vector(bcs.vector(bcs.u8())).serialize([...values]).toBytes())]
|
|
1111
|
-
});
|
|
1112
|
-
// 对每个witness object处理所有的witness类型请求
|
|
1113
|
-
const witness_objects = new Map();
|
|
1114
|
-
g.constant.forEach(v => {
|
|
1115
|
-
const types = [];
|
|
1116
|
-
v.cmd.forEach(i => {
|
|
1117
|
-
if (i.witness && IsContextWitness(i.witness) && !types.includes(i.witness)) {
|
|
1118
|
-
types.push(i.witness);
|
|
1119
|
-
}
|
|
1120
|
-
});
|
|
1121
|
-
v.witness.forEach(i => {
|
|
1122
|
-
if (i && IsContextWitness(i) && !types.includes(i)) {
|
|
1123
|
-
types.push(i);
|
|
1124
|
-
}
|
|
1125
|
-
});
|
|
1126
|
-
if (types.length > 0) {
|
|
1127
|
-
let obj = witness_objects.get(v.value); // 用户提供的witness地址
|
|
1128
|
-
if (obj) {
|
|
1129
|
-
obj.types = array_unique(types.concat(obj.types));
|
|
1130
|
-
obj.identifier.push(v.identifier); // identifier加入
|
|
1131
|
-
}
|
|
1132
|
-
else {
|
|
1133
|
-
witness_objects.set(v.value, { types: types, identifier: [v.identifier] });
|
|
1134
|
-
}
|
|
1135
|
-
}
|
|
1136
|
-
});
|
|
1137
|
-
// 调用witness object的witness
|
|
1138
|
-
witness_objects.forEach((v, k) => {
|
|
1139
|
-
const r = query.witnessObjectInfo?.get(k);
|
|
1140
|
-
if (!r) {
|
|
1141
|
-
ERROR(Errors.Fail, `Passport: witness not found ${k}`);
|
|
1142
|
-
}
|
|
1143
|
-
switch (r?.module) {
|
|
1144
|
-
case MODULES.progress:
|
|
1145
|
-
Progress.witness(txb, k, guard_index, v.identifier, this.passport);
|
|
1146
|
-
break;
|
|
1147
|
-
case MODULES.order:
|
|
1148
|
-
Service.witness(txb, k, r.type, guard_index, v.identifier, v.types, this.passport);
|
|
1149
|
-
break;
|
|
1150
|
-
case MODULES.arb:
|
|
1151
|
-
Arbitration.witness(txb, k, r.type, guard_index, v.identifier, v.types, r.order, r.order_type, this.passport);
|
|
1152
|
-
break;
|
|
1153
|
-
default:
|
|
1154
|
-
ERROR(Errors.Fail, `Passport: witness type invalid ${r?.module}`);
|
|
1155
|
-
}
|
|
1156
|
-
});
|
|
1157
|
-
});
|
|
1158
|
-
const clock = this.txb.sharedObjectRef(Protocol.CLOCK_OBJECT);
|
|
1159
|
-
// rules: 'verify' & 'query' in turns; 'verify' at final end.
|
|
1160
|
-
query?.query.forEach((q) => {
|
|
1161
|
-
this.txb.moveCall({
|
|
1162
|
-
target: Protocol.Instance().passportFn('passport_verify'),
|
|
1163
|
-
arguments: [this.passport, this.txb.object(clock)]
|
|
1164
|
-
});
|
|
1165
|
-
this.txb.moveCall({
|
|
1166
|
-
target: q.target,
|
|
1167
|
-
arguments: [this.txb.object(q.id), this.passport],
|
|
1168
|
-
typeArguments: q.types,
|
|
1169
|
-
});
|
|
1170
|
-
});
|
|
1171
|
-
this.txb.moveCall({
|
|
1172
|
-
target: Protocol.Instance().passportFn('passport_verify'),
|
|
1173
|
-
arguments: [this.passport, this.txb.object(clock)]
|
|
1174
|
-
});
|
|
1175
|
-
}
|
|
1176
|
-
destroy() {
|
|
1177
|
-
this.txb.moveCall({
|
|
1178
|
-
target: Protocol.Instance().passportFn('destroy'),
|
|
1179
|
-
arguments: [this.passport]
|
|
1180
|
-
});
|
|
1181
|
-
}
|
|
1182
|
-
freeze() {
|
|
1183
|
-
this.txb.moveCall({
|
|
1184
|
-
target: Protocol.Instance().passportFn('freezen'),
|
|
1185
|
-
arguments: [this.passport]
|
|
1186
|
-
});
|
|
1187
|
-
}
|
|
1188
|
-
query_result(sender, handleResult) {
|
|
1189
|
-
this.txb.moveCall({
|
|
1190
|
-
target: Protocol.Instance().passportFn('query_result'),
|
|
1191
|
-
arguments: [this.passport]
|
|
1192
|
-
});
|
|
1193
|
-
Protocol.Client().devInspectTransactionBlock({ sender: sender, transactionBlock: this.txb }).then((res) => {
|
|
1194
|
-
const r = Passport.ResolveQueryRes(this.txb, res);
|
|
1195
|
-
if (r)
|
|
1196
|
-
handleResult(r);
|
|
1197
|
-
}).catch(e => {
|
|
1198
|
-
console.log(e);
|
|
1199
|
-
});
|
|
1200
|
-
}
|
|
1201
|
-
static ResolveQueryRes(txb, res) {
|
|
1202
|
-
for (let i = 0; i < res.results?.length; ++i) {
|
|
1203
|
-
const v = res.results[i];
|
|
1204
|
-
if (v?.returnValues && v.returnValues.length === 2 &&
|
|
1205
|
-
v.returnValues[0][1] === 'bool' && v.returnValues[1][1] === 'vector<address>') { // (bool, vector<address>)
|
|
1206
|
-
const result = bcs.bool().parse(Uint8Array.from(v.returnValues[0][0]));
|
|
1207
|
-
const guards = bcs.vector(bcs.Address).parse(Uint8Array.from(v.returnValues[1][0])).map((v) => '0x' + v);
|
|
1208
|
-
return { txb: txb, result: result, guards: guards };
|
|
1209
|
-
}
|
|
1210
|
-
}
|
|
1211
|
-
return undefined;
|
|
1212
|
-
}
|
|
1213
|
-
static getPayloadValue(payload, parser) {
|
|
1214
|
-
if (payload && parser) {
|
|
1215
|
-
payload.forEach((v) => {
|
|
1216
|
-
const val = parser.guardlist().find((i) => i.id === v.guard)?.constant?.find((j) => j.identifier === v.identifier);
|
|
1217
|
-
if (val !== undefined) {
|
|
1218
|
-
v.value = val.value;
|
|
1219
|
-
v.value_type = val.type;
|
|
1220
|
-
v.bWitness = val.bWitness;
|
|
1221
|
-
}
|
|
1222
|
-
else {
|
|
1223
|
-
v.value = null;
|
|
1224
|
-
v.value_type = undefined;
|
|
1225
|
-
v.bWitness = undefined;
|
|
1226
|
-
}
|
|
1227
|
-
});
|
|
1228
|
-
return payload;
|
|
1229
|
-
}
|
|
1230
|
-
}
|
|
1231
|
-
}
|
|
1232
|
-
Passport.MAX_GUARD_COUNT = 8;
|
|
1233
|
-
//# sourceMappingURL=passport.js.map
|