wowok 1.8.2 → 2.1.9
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/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 +31 -0
- package/dist/cjs/w/call/guard-ins.js +4391 -0
- package/dist/cjs/w/call/guard.d.ts +254 -0
- package/dist/cjs/w/call/guard.js +1210 -0
- package/dist/cjs/w/call/index.d.ts +37 -0
- package/dist/cjs/w/call/index.js +71 -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 +31 -0
- package/dist/esm/w/call/guard-ins.js +4371 -0
- package/dist/esm/w/call/guard.d.ts +254 -0
- package/dist/esm/w/call/guard.js +1202 -0
- package/dist/esm/w/call/index.d.ts +37 -0
- package/dist/esm/w/call/index.js +57 -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 +295 -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 -94
- package/dist/repository.d.ts.map +0 -1
- package/dist/repository.js +0 -783
- 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
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { blake2b } from "@noble/hashes/blake2b";
|
|
2
|
+
import { bytesToHex } from "@noble/hashes/utils";
|
|
3
|
+
import { SIGNATURE_SCHEME_TO_FLAG } from "../cryptography/signature-scheme.js";
|
|
4
|
+
import { normalizeWowAddress, WOW_ADDRESS_LENGTH } from "../utils/index.js";
|
|
5
|
+
import { decodeJwt } from "./jwt-utils.js";
|
|
6
|
+
import {
|
|
7
|
+
genAddressSeed,
|
|
8
|
+
normalizeZkLoginIssuer,
|
|
9
|
+
toBigEndianBytes,
|
|
10
|
+
toPaddedBigEndianBytes
|
|
11
|
+
} from "./utils.js";
|
|
12
|
+
function computeZkLoginAddressFromSeed(addressSeed, iss, legacyAddress = true) {
|
|
13
|
+
const addressSeedBytesBigEndian = legacyAddress ? toBigEndianBytes(addressSeed, 32) : toPaddedBigEndianBytes(addressSeed, 32);
|
|
14
|
+
const addressParamBytes = new TextEncoder().encode(
|
|
15
|
+
normalizeZkLoginIssuer(iss)
|
|
16
|
+
);
|
|
17
|
+
const tmp = new Uint8Array(
|
|
18
|
+
2 + addressSeedBytesBigEndian.length + addressParamBytes.length
|
|
19
|
+
);
|
|
20
|
+
tmp.set([SIGNATURE_SCHEME_TO_FLAG.ZkLogin]);
|
|
21
|
+
tmp.set([addressParamBytes.length], 1);
|
|
22
|
+
tmp.set(addressParamBytes, 2);
|
|
23
|
+
tmp.set(addressSeedBytesBigEndian, 2 + addressParamBytes.length);
|
|
24
|
+
return normalizeWowAddress(
|
|
25
|
+
bytesToHex(blake2b(tmp, { dkLen: 32 })).slice(
|
|
26
|
+
0,
|
|
27
|
+
WOW_ADDRESS_LENGTH * 2
|
|
28
|
+
)
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
const MAX_HEADER_LEN_B64 = 248;
|
|
32
|
+
const MAX_PADDED_UNSIGNED_JWT_LEN = 64 * 25;
|
|
33
|
+
function lengthChecks(jwt) {
|
|
34
|
+
const [header, payload] = jwt.split(".");
|
|
35
|
+
if (header.length > MAX_HEADER_LEN_B64) {
|
|
36
|
+
throw new Error(`Header is too long`);
|
|
37
|
+
}
|
|
38
|
+
const L = (header.length + 1 + payload.length) * 8;
|
|
39
|
+
const K = (512 + 448 - (L % 512 + 1)) % 512;
|
|
40
|
+
const padded_unsigned_jwt_len = (L + 1 + K + 64) / 8;
|
|
41
|
+
if (padded_unsigned_jwt_len > MAX_PADDED_UNSIGNED_JWT_LEN) {
|
|
42
|
+
throw new Error(`JWT is too long`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function jwtToAddress(jwt, userSalt, legacyAddress = false) {
|
|
46
|
+
lengthChecks(jwt);
|
|
47
|
+
const decodedJWT = decodeJwt(jwt);
|
|
48
|
+
return computeZkLoginAddress({
|
|
49
|
+
userSalt,
|
|
50
|
+
claimName: "sub",
|
|
51
|
+
claimValue: decodedJWT.sub,
|
|
52
|
+
aud: decodedJWT.aud,
|
|
53
|
+
iss: decodedJWT.iss,
|
|
54
|
+
legacyAddress
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function computeZkLoginAddress({
|
|
58
|
+
claimName,
|
|
59
|
+
claimValue,
|
|
60
|
+
iss,
|
|
61
|
+
aud,
|
|
62
|
+
userSalt,
|
|
63
|
+
legacyAddress = false
|
|
64
|
+
}) {
|
|
65
|
+
return computeZkLoginAddressFromSeed(
|
|
66
|
+
genAddressSeed(userSalt, claimName, claimValue, aud),
|
|
67
|
+
iss,
|
|
68
|
+
legacyAddress
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
MAX_HEADER_LEN_B64,
|
|
73
|
+
MAX_PADDED_UNSIGNED_JWT_LEN,
|
|
74
|
+
computeZkLoginAddress,
|
|
75
|
+
computeZkLoginAddressFromSeed,
|
|
76
|
+
jwtToAddress,
|
|
77
|
+
lengthChecks
|
|
78
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { bcs } from "@mysten/bcs";
|
|
2
|
+
const zkLoginSignature = bcs.struct("ZkLoginSignature", {
|
|
3
|
+
inputs: bcs.struct("ZkLoginSignatureInputs", {
|
|
4
|
+
proofPoints: bcs.struct("ZkLoginSignatureInputsProofPoints", {
|
|
5
|
+
a: bcs.vector(bcs.string()),
|
|
6
|
+
b: bcs.vector(bcs.vector(bcs.string())),
|
|
7
|
+
c: bcs.vector(bcs.string())
|
|
8
|
+
}),
|
|
9
|
+
issBase64Details: bcs.struct("ZkLoginSignatureInputsClaim", {
|
|
10
|
+
value: bcs.string(),
|
|
11
|
+
indexMod4: bcs.u8()
|
|
12
|
+
}),
|
|
13
|
+
headerBase64: bcs.string(),
|
|
14
|
+
addressSeed: bcs.string()
|
|
15
|
+
}),
|
|
16
|
+
maxEpoch: bcs.u64(),
|
|
17
|
+
userSignature: bcs.byteVector()
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
zkLoginSignature
|
|
21
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getZkLoginSignature, parseZkLoginSignature } from "./signature.js";
|
|
2
|
+
import {
|
|
3
|
+
toBigEndianBytes,
|
|
4
|
+
toPaddedBigEndianBytes,
|
|
5
|
+
hashASCIIStrToField,
|
|
6
|
+
genAddressSeed,
|
|
7
|
+
getExtendedEphemeralPublicKey
|
|
8
|
+
} from "./utils.js";
|
|
9
|
+
import {
|
|
10
|
+
computeZkLoginAddressFromSeed,
|
|
11
|
+
computeZkLoginAddress,
|
|
12
|
+
jwtToAddress
|
|
13
|
+
} from "./address.js";
|
|
14
|
+
import {
|
|
15
|
+
toZkLoginPublicIdentifier,
|
|
16
|
+
ZkLoginPublicIdentifier
|
|
17
|
+
} from "./publickey.js";
|
|
18
|
+
import { poseidonHash } from "./poseidon.js";
|
|
19
|
+
import { generateNonce, generateRandomness } from "./nonce.js";
|
|
20
|
+
import { decodeJwt } from "./jwt-utils.js";
|
|
21
|
+
export {
|
|
22
|
+
ZkLoginPublicIdentifier,
|
|
23
|
+
computeZkLoginAddress,
|
|
24
|
+
computeZkLoginAddressFromSeed,
|
|
25
|
+
decodeJwt,
|
|
26
|
+
genAddressSeed,
|
|
27
|
+
generateNonce,
|
|
28
|
+
generateRandomness,
|
|
29
|
+
getExtendedEphemeralPublicKey,
|
|
30
|
+
getZkLoginSignature,
|
|
31
|
+
hashASCIIStrToField,
|
|
32
|
+
jwtToAddress,
|
|
33
|
+
parseZkLoginSignature,
|
|
34
|
+
poseidonHash,
|
|
35
|
+
toBigEndianBytes,
|
|
36
|
+
toPaddedBigEndianBytes,
|
|
37
|
+
toZkLoginPublicIdentifier
|
|
38
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
class InvalidTokenError extends Error {
|
|
2
|
+
}
|
|
3
|
+
InvalidTokenError.prototype.name = "InvalidTokenError";
|
|
4
|
+
function b64DecodeUnicode(str) {
|
|
5
|
+
return decodeURIComponent(
|
|
6
|
+
atob(str).replace(/(.)/g, (_m, p) => {
|
|
7
|
+
let code = p.charCodeAt(0).toString(16).toUpperCase();
|
|
8
|
+
if (code.length < 2) {
|
|
9
|
+
code = "0" + code;
|
|
10
|
+
}
|
|
11
|
+
return "%" + code;
|
|
12
|
+
})
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
function base64UrlDecode(str) {
|
|
16
|
+
let output = str.replace(/-/g, "+").replace(/_/g, "/");
|
|
17
|
+
switch (output.length % 4) {
|
|
18
|
+
case 0:
|
|
19
|
+
break;
|
|
20
|
+
case 2:
|
|
21
|
+
output += "==";
|
|
22
|
+
break;
|
|
23
|
+
case 3:
|
|
24
|
+
output += "=";
|
|
25
|
+
break;
|
|
26
|
+
default:
|
|
27
|
+
throw new Error("base64 string is not of the correct length");
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
return b64DecodeUnicode(output);
|
|
31
|
+
} catch {
|
|
32
|
+
return atob(output);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function jwtDecode(token, options) {
|
|
36
|
+
if (typeof token !== "string") {
|
|
37
|
+
throw new InvalidTokenError(
|
|
38
|
+
"Invalid token specified: must be a string"
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
options || (options = {});
|
|
42
|
+
const pos = options.header === true ? 0 : 1;
|
|
43
|
+
const part = token.split(".")[pos];
|
|
44
|
+
if (typeof part !== "string") {
|
|
45
|
+
throw new InvalidTokenError(
|
|
46
|
+
`Invalid token specified: missing part #${pos + 1}`
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
let decoded;
|
|
50
|
+
try {
|
|
51
|
+
decoded = base64UrlDecode(part);
|
|
52
|
+
} catch (e) {
|
|
53
|
+
throw new InvalidTokenError(
|
|
54
|
+
`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
return JSON.parse(decoded);
|
|
59
|
+
} catch (e) {
|
|
60
|
+
throw new InvalidTokenError(
|
|
61
|
+
`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
InvalidTokenError,
|
|
67
|
+
jwtDecode
|
|
68
|
+
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jwtDecode } from "./jwt-decode.js";
|
|
2
|
+
import { normalizeZkLoginIssuer } from "./utils.js";
|
|
3
|
+
function base64UrlCharTo6Bits(base64UrlChar) {
|
|
4
|
+
if (base64UrlChar.length !== 1) {
|
|
5
|
+
throw new Error("Invalid base64Url character: " + base64UrlChar);
|
|
6
|
+
}
|
|
7
|
+
const base64UrlCharacterSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
|
|
8
|
+
const index = base64UrlCharacterSet.indexOf(base64UrlChar);
|
|
9
|
+
if (index === -1) {
|
|
10
|
+
throw new Error("Invalid base64Url character: " + base64UrlChar);
|
|
11
|
+
}
|
|
12
|
+
const binaryString = index.toString(2).padStart(6, "0");
|
|
13
|
+
const bits = Array.from(binaryString).map(Number);
|
|
14
|
+
return bits;
|
|
15
|
+
}
|
|
16
|
+
function base64UrlStringToBitVector(base64UrlString) {
|
|
17
|
+
let bitVector = [];
|
|
18
|
+
for (let i = 0; i < base64UrlString.length; i++) {
|
|
19
|
+
const base64UrlChar = base64UrlString.charAt(i);
|
|
20
|
+
const bits = base64UrlCharTo6Bits(base64UrlChar);
|
|
21
|
+
bitVector = bitVector.concat(bits);
|
|
22
|
+
}
|
|
23
|
+
return bitVector;
|
|
24
|
+
}
|
|
25
|
+
function decodeBase64URL(s, i) {
|
|
26
|
+
if (s.length < 2) {
|
|
27
|
+
throw new Error(
|
|
28
|
+
`Input (s = ${s}) is not tightly packed because s.length < 2`
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
let bits = base64UrlStringToBitVector(s);
|
|
32
|
+
const firstCharOffset = i % 4;
|
|
33
|
+
if (firstCharOffset === 0) {
|
|
34
|
+
} else if (firstCharOffset === 1) {
|
|
35
|
+
bits = bits.slice(2);
|
|
36
|
+
} else if (firstCharOffset === 2) {
|
|
37
|
+
bits = bits.slice(4);
|
|
38
|
+
} else {
|
|
39
|
+
throw new Error(
|
|
40
|
+
`Input (s = ${s}) is not tightly packed because i%4 = 3 (i = ${i}))`
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
const lastCharOffset = (i + s.length - 1) % 4;
|
|
44
|
+
if (lastCharOffset === 3) {
|
|
45
|
+
} else if (lastCharOffset === 2) {
|
|
46
|
+
bits = bits.slice(0, bits.length - 2);
|
|
47
|
+
} else if (lastCharOffset === 1) {
|
|
48
|
+
bits = bits.slice(0, bits.length - 4);
|
|
49
|
+
} else {
|
|
50
|
+
throw new Error(
|
|
51
|
+
`Input (s = ${s}) is not tightly packed because (i + s.length - 1)%4 = 0 (i = ${i}))`
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
if (bits.length % 8 !== 0) {
|
|
55
|
+
throw new Error(`We should never reach here...`);
|
|
56
|
+
}
|
|
57
|
+
const bytes = new Uint8Array(Math.floor(bits.length / 8));
|
|
58
|
+
let currentByteIndex = 0;
|
|
59
|
+
for (let i2 = 0; i2 < bits.length; i2 += 8) {
|
|
60
|
+
const bitChunk = bits.slice(i2, i2 + 8);
|
|
61
|
+
const byte = parseInt(bitChunk.join(""), 2);
|
|
62
|
+
bytes[currentByteIndex++] = byte;
|
|
63
|
+
}
|
|
64
|
+
return new TextDecoder().decode(bytes);
|
|
65
|
+
}
|
|
66
|
+
function verifyExtendedClaim(claim) {
|
|
67
|
+
if (!(claim.slice(-1) === "}" || claim.slice(-1) === ",")) {
|
|
68
|
+
throw new Error("Invalid claim");
|
|
69
|
+
}
|
|
70
|
+
const json = JSON.parse("{" + claim.slice(0, -1) + "}");
|
|
71
|
+
if (Object.keys(json).length !== 1) {
|
|
72
|
+
throw new Error("Invalid claim");
|
|
73
|
+
}
|
|
74
|
+
const key = Object.keys(json)[0];
|
|
75
|
+
return [key, json[key]];
|
|
76
|
+
}
|
|
77
|
+
function extractClaimValue(claim, claimName) {
|
|
78
|
+
const extendedClaim = decodeBase64URL(claim.value, claim.indexMod4);
|
|
79
|
+
const [name, value] = verifyExtendedClaim(extendedClaim);
|
|
80
|
+
if (name !== claimName) {
|
|
81
|
+
throw new Error(
|
|
82
|
+
`Invalid field name: found ${name} expected ${claimName}`
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
return value;
|
|
86
|
+
}
|
|
87
|
+
function decodeJwt(jwt) {
|
|
88
|
+
const { iss, aud, sub, ...decodedJWT } = jwtDecode(jwt);
|
|
89
|
+
if (!sub || !iss || !aud) {
|
|
90
|
+
throw new Error("Missing jwt data");
|
|
91
|
+
}
|
|
92
|
+
if (Array.isArray(aud)) {
|
|
93
|
+
throw new Error(
|
|
94
|
+
"Not supported aud. Aud is an array, string was expected."
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
...decodedJWT,
|
|
99
|
+
iss: normalizeZkLoginIssuer(iss),
|
|
100
|
+
rawIss: iss,
|
|
101
|
+
aud,
|
|
102
|
+
sub
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
decodeJwt,
|
|
107
|
+
extractClaimValue
|
|
108
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { toHex } from "@mysten/bcs";
|
|
2
|
+
import { randomBytes } from "@noble/hashes/utils";
|
|
3
|
+
import { base64urlnopad } from "@scure/base";
|
|
4
|
+
import { poseidonHash } from "./poseidon.js";
|
|
5
|
+
import { toPaddedBigEndianBytes } from "./utils.js";
|
|
6
|
+
const NONCE_LENGTH = 27;
|
|
7
|
+
function toBigIntBE(bytes) {
|
|
8
|
+
const hex = toHex(bytes);
|
|
9
|
+
if (hex.length === 0) {
|
|
10
|
+
return BigInt(0);
|
|
11
|
+
}
|
|
12
|
+
return BigInt(`0x${hex}`);
|
|
13
|
+
}
|
|
14
|
+
function generateRandomness() {
|
|
15
|
+
return String(toBigIntBE(randomBytes(16)));
|
|
16
|
+
}
|
|
17
|
+
function generateNonce(publicKey, maxEpoch, randomness) {
|
|
18
|
+
const publicKeyBytes = toBigIntBE(publicKey.toWBytes());
|
|
19
|
+
const eph_public_key_0 = publicKeyBytes / 2n ** 128n;
|
|
20
|
+
const eph_public_key_1 = publicKeyBytes % 2n ** 128n;
|
|
21
|
+
const bigNum = poseidonHash([
|
|
22
|
+
eph_public_key_0,
|
|
23
|
+
eph_public_key_1,
|
|
24
|
+
maxEpoch,
|
|
25
|
+
BigInt(randomness)
|
|
26
|
+
]);
|
|
27
|
+
const Z = toPaddedBigEndianBytes(bigNum, 20);
|
|
28
|
+
const nonce = base64urlnopad.encode(Z);
|
|
29
|
+
if (nonce.length !== NONCE_LENGTH) {
|
|
30
|
+
throw new Error(
|
|
31
|
+
`Length of nonce ${nonce} (${nonce.length}) is not equal to ${NONCE_LENGTH}`
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
return nonce;
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
NONCE_LENGTH,
|
|
38
|
+
generateNonce,
|
|
39
|
+
generateRandomness
|
|
40
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import {
|
|
2
|
+
poseidon1,
|
|
3
|
+
poseidon2,
|
|
4
|
+
poseidon3,
|
|
5
|
+
poseidon4,
|
|
6
|
+
poseidon5,
|
|
7
|
+
poseidon6,
|
|
8
|
+
poseidon7,
|
|
9
|
+
poseidon8,
|
|
10
|
+
poseidon9,
|
|
11
|
+
poseidon10,
|
|
12
|
+
poseidon11,
|
|
13
|
+
poseidon12,
|
|
14
|
+
poseidon13,
|
|
15
|
+
poseidon14,
|
|
16
|
+
poseidon15,
|
|
17
|
+
poseidon16
|
|
18
|
+
} from "poseidon-lite";
|
|
19
|
+
const poseidonNumToHashFN = [
|
|
20
|
+
poseidon1,
|
|
21
|
+
poseidon2,
|
|
22
|
+
poseidon3,
|
|
23
|
+
poseidon4,
|
|
24
|
+
poseidon5,
|
|
25
|
+
poseidon6,
|
|
26
|
+
poseidon7,
|
|
27
|
+
poseidon8,
|
|
28
|
+
poseidon9,
|
|
29
|
+
poseidon10,
|
|
30
|
+
poseidon11,
|
|
31
|
+
poseidon12,
|
|
32
|
+
poseidon13,
|
|
33
|
+
poseidon14,
|
|
34
|
+
poseidon15,
|
|
35
|
+
poseidon16
|
|
36
|
+
];
|
|
37
|
+
const BN254_FIELD_SIZE = 21888242871839275222246405745257275088548364400416034343698204186575808495617n;
|
|
38
|
+
function poseidonHash(inputs) {
|
|
39
|
+
inputs.forEach((x) => {
|
|
40
|
+
const b = BigInt(x);
|
|
41
|
+
if (b < 0 || b >= BN254_FIELD_SIZE) {
|
|
42
|
+
throw new Error(`Element ${b} not in the BN254 field`);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
const hashFN = poseidonNumToHashFN[inputs.length - 1];
|
|
46
|
+
if (hashFN) {
|
|
47
|
+
return hashFN(inputs);
|
|
48
|
+
} else if (inputs.length <= 32) {
|
|
49
|
+
const hash1 = poseidonHash(inputs.slice(0, 16));
|
|
50
|
+
const hash2 = poseidonHash(inputs.slice(16));
|
|
51
|
+
return poseidonHash([hash1, hash2]);
|
|
52
|
+
} else {
|
|
53
|
+
throw new Error(
|
|
54
|
+
`Yet to implement: Unable to hash a vector of length ${inputs.length}`
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
BN254_FIELD_SIZE,
|
|
60
|
+
poseidonHash
|
|
61
|
+
};
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
var __typeError = (msg) => {
|
|
2
|
+
throw TypeError(msg);
|
|
3
|
+
};
|
|
4
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
9
|
+
var _data, _client, _legacyAddress, _ZkLoginPublicIdentifier_instances, toLegacyAddress_fn;
|
|
10
|
+
import { fromBase64, toBase64, toHex } from "@mysten/bcs";
|
|
11
|
+
import { blake2b } from "@noble/hashes/blake2b";
|
|
12
|
+
import { bytesToHex } from "@noble/hashes/utils";
|
|
13
|
+
import { PublicKey } from "../cryptography/publickey.js";
|
|
14
|
+
import { SIGNATURE_SCHEME_TO_FLAG } from "../cryptography/signature-scheme.js";
|
|
15
|
+
import { SuiGraphQLClient } from "../graphql/client.js";
|
|
16
|
+
import { normalizeWowAddress, WOW_ADDRESS_LENGTH } from "../utils/sui-types.js";
|
|
17
|
+
import { extractClaimValue } from "./jwt-utils.js";
|
|
18
|
+
import { parseZkLoginSignature } from "./signature.js";
|
|
19
|
+
import {
|
|
20
|
+
normalizeZkLoginIssuer,
|
|
21
|
+
toBigEndianBytes,
|
|
22
|
+
toPaddedBigEndianBytes
|
|
23
|
+
} from "./utils.js";
|
|
24
|
+
const _ZkLoginPublicIdentifier = class _ZkLoginPublicIdentifier extends PublicKey {
|
|
25
|
+
/**
|
|
26
|
+
* Create a new ZkLoginPublicIdentifier object
|
|
27
|
+
* @param value zkLogin public identifier as buffer or base-64 encoded string
|
|
28
|
+
*/
|
|
29
|
+
constructor(value, { client } = {}) {
|
|
30
|
+
super();
|
|
31
|
+
__privateAdd(this, _ZkLoginPublicIdentifier_instances);
|
|
32
|
+
__privateAdd(this, _data);
|
|
33
|
+
__privateAdd(this, _client);
|
|
34
|
+
__privateAdd(this, _legacyAddress);
|
|
35
|
+
__privateSet(this, _client, client);
|
|
36
|
+
if (typeof value === "string") {
|
|
37
|
+
__privateSet(this, _data, fromBase64(value));
|
|
38
|
+
} else if (value instanceof Uint8Array) {
|
|
39
|
+
__privateSet(this, _data, value);
|
|
40
|
+
} else {
|
|
41
|
+
__privateSet(this, _data, Uint8Array.from(value));
|
|
42
|
+
}
|
|
43
|
+
__privateSet(this, _legacyAddress, __privateGet(this, _data).length !== __privateGet(this, _data)[0] + 1 + 32);
|
|
44
|
+
if (__privateGet(this, _legacyAddress)) {
|
|
45
|
+
__privateSet(this, _data, normalizeZkLoginPublicKeyBytes(__privateGet(this, _data)));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
static fromBytes(bytes, {
|
|
49
|
+
client,
|
|
50
|
+
address,
|
|
51
|
+
legacyAddress
|
|
52
|
+
} = {}) {
|
|
53
|
+
let publicKey;
|
|
54
|
+
if (legacyAddress === true) {
|
|
55
|
+
publicKey = new _ZkLoginPublicIdentifier(
|
|
56
|
+
normalizeZkLoginPublicKeyBytes(bytes, true),
|
|
57
|
+
{
|
|
58
|
+
client
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
} else if (legacyAddress === false) {
|
|
62
|
+
publicKey = new _ZkLoginPublicIdentifier(
|
|
63
|
+
normalizeZkLoginPublicKeyBytes(bytes, false),
|
|
64
|
+
{
|
|
65
|
+
client
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
} else if (address) {
|
|
69
|
+
publicKey = new _ZkLoginPublicIdentifier(
|
|
70
|
+
normalizeZkLoginPublicKeyBytes(bytes, false),
|
|
71
|
+
{
|
|
72
|
+
client
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
if (publicKey.toWAddress() !== address) {
|
|
76
|
+
publicKey = new _ZkLoginPublicIdentifier(
|
|
77
|
+
normalizeZkLoginPublicKeyBytes(bytes, true),
|
|
78
|
+
{
|
|
79
|
+
client
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
publicKey = new _ZkLoginPublicIdentifier(bytes, {
|
|
85
|
+
client
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (address && publicKey.toWAddress() !== address) {
|
|
89
|
+
throw new Error("Public key does not match the provided address");
|
|
90
|
+
}
|
|
91
|
+
return publicKey;
|
|
92
|
+
}
|
|
93
|
+
static fromProof(address, proof) {
|
|
94
|
+
const { issBase64Details, addressSeed } = proof;
|
|
95
|
+
const iss = extractClaimValue(issBase64Details, "iss");
|
|
96
|
+
const legacyPublicKey = toZkLoginPublicIdentifier(
|
|
97
|
+
BigInt(addressSeed),
|
|
98
|
+
iss,
|
|
99
|
+
{
|
|
100
|
+
legacyAddress: true
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
if (legacyPublicKey.toWAddress() === address) {
|
|
104
|
+
return legacyPublicKey;
|
|
105
|
+
}
|
|
106
|
+
const publicKey = toZkLoginPublicIdentifier(BigInt(addressSeed), iss, {
|
|
107
|
+
legacyAddress: false
|
|
108
|
+
});
|
|
109
|
+
if (publicKey.toWAddress() !== address) {
|
|
110
|
+
throw new Error("Proof does not match address");
|
|
111
|
+
}
|
|
112
|
+
return publicKey;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Checks if two zkLogin public identifiers are equal
|
|
116
|
+
*/
|
|
117
|
+
equals(publicKey) {
|
|
118
|
+
return super.equals(publicKey);
|
|
119
|
+
}
|
|
120
|
+
toWAddress() {
|
|
121
|
+
if (__privateGet(this, _legacyAddress)) {
|
|
122
|
+
return __privateMethod(this, _ZkLoginPublicIdentifier_instances, toLegacyAddress_fn).call(this);
|
|
123
|
+
}
|
|
124
|
+
return super.toWAddress();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Return the byte array representation of the zkLogin public identifier
|
|
128
|
+
*/
|
|
129
|
+
toRawBytes() {
|
|
130
|
+
return __privateGet(this, _data);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Return the Sui address associated with this ZkLogin public identifier
|
|
134
|
+
*/
|
|
135
|
+
flag() {
|
|
136
|
+
return SIGNATURE_SCHEME_TO_FLAG["ZkLogin"];
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Verifies that the signature is valid for for the provided message
|
|
140
|
+
*/
|
|
141
|
+
async verify(_message, _signature) {
|
|
142
|
+
throw Error("does not support");
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Verifies that the signature is valid for for the provided PersonalMessage
|
|
146
|
+
*/
|
|
147
|
+
verifyPersonalMessage(message, signature) {
|
|
148
|
+
const parsedSignature = parseSerializedZkLoginSignature(signature);
|
|
149
|
+
const address = new _ZkLoginPublicIdentifier(
|
|
150
|
+
parsedSignature.publicKey
|
|
151
|
+
).toWAddress();
|
|
152
|
+
return graphqlVerifyZkLoginSignature({
|
|
153
|
+
address,
|
|
154
|
+
bytes: toBase64(message),
|
|
155
|
+
signature: parsedSignature.serializedSignature,
|
|
156
|
+
intentScope: "PersonalMessage",
|
|
157
|
+
client: __privateGet(this, _client)
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Verifies that the signature is valid for for the provided Transaction
|
|
162
|
+
*/
|
|
163
|
+
verifyTransaction(transaction, signature) {
|
|
164
|
+
const parsedSignature = parseSerializedZkLoginSignature(signature);
|
|
165
|
+
const address = new _ZkLoginPublicIdentifier(
|
|
166
|
+
parsedSignature.publicKey
|
|
167
|
+
).toWAddress();
|
|
168
|
+
return graphqlVerifyZkLoginSignature({
|
|
169
|
+
address,
|
|
170
|
+
bytes: toBase64(transaction),
|
|
171
|
+
signature: parsedSignature.serializedSignature,
|
|
172
|
+
intentScope: "TransactionData",
|
|
173
|
+
client: __privateGet(this, _client)
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Verifies that the public key is associated with the provided address
|
|
178
|
+
*/
|
|
179
|
+
verifyAddress(address) {
|
|
180
|
+
return address === super.toWAddress() || address === __privateMethod(this, _ZkLoginPublicIdentifier_instances, toLegacyAddress_fn).call(this);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
_data = new WeakMap();
|
|
184
|
+
_client = new WeakMap();
|
|
185
|
+
_legacyAddress = new WeakMap();
|
|
186
|
+
_ZkLoginPublicIdentifier_instances = new WeakSet();
|
|
187
|
+
toLegacyAddress_fn = function() {
|
|
188
|
+
const legacyBytes = normalizeZkLoginPublicKeyBytes(__privateGet(this, _data), true);
|
|
189
|
+
const addressBytes = new Uint8Array(legacyBytes.length + 1);
|
|
190
|
+
addressBytes[0] = this.flag();
|
|
191
|
+
addressBytes.set(legacyBytes, 1);
|
|
192
|
+
return normalizeWowAddress(
|
|
193
|
+
bytesToHex(blake2b(addressBytes, { dkLen: 32 })).slice(
|
|
194
|
+
0,
|
|
195
|
+
WOW_ADDRESS_LENGTH * 2
|
|
196
|
+
)
|
|
197
|
+
);
|
|
198
|
+
};
|
|
199
|
+
let ZkLoginPublicIdentifier = _ZkLoginPublicIdentifier;
|
|
200
|
+
function toZkLoginPublicIdentifier(addressSeed, iss, options) {
|
|
201
|
+
const addressSeedBytesBigEndian = options?.legacyAddress ? toBigEndianBytes(addressSeed, 32) : toPaddedBigEndianBytes(addressSeed, 32);
|
|
202
|
+
const issBytes = new TextEncoder().encode(normalizeZkLoginIssuer(iss));
|
|
203
|
+
const tmp = new Uint8Array(
|
|
204
|
+
1 + issBytes.length + addressSeedBytesBigEndian.length
|
|
205
|
+
);
|
|
206
|
+
tmp.set([issBytes.length], 0);
|
|
207
|
+
tmp.set(issBytes, 1);
|
|
208
|
+
tmp.set(addressSeedBytesBigEndian, 1 + issBytes.length);
|
|
209
|
+
return new ZkLoginPublicIdentifier(tmp, options);
|
|
210
|
+
}
|
|
211
|
+
function normalizeZkLoginPublicKeyBytes(bytes, legacyAddress = false) {
|
|
212
|
+
const issByteLength = bytes[0] + 1;
|
|
213
|
+
const addressSeed = BigInt(`0x${toHex(bytes.slice(issByteLength))}`);
|
|
214
|
+
const seedBytes = legacyAddress ? toBigEndianBytes(addressSeed, 32) : toPaddedBigEndianBytes(addressSeed, 32);
|
|
215
|
+
const data = new Uint8Array(issByteLength + seedBytes.length);
|
|
216
|
+
data.set(bytes.slice(0, issByteLength), 0);
|
|
217
|
+
data.set(seedBytes, issByteLength);
|
|
218
|
+
return data;
|
|
219
|
+
}
|
|
220
|
+
async function graphqlVerifyZkLoginSignature({
|
|
221
|
+
address,
|
|
222
|
+
bytes,
|
|
223
|
+
signature,
|
|
224
|
+
intentScope,
|
|
225
|
+
client = new SuiGraphQLClient({
|
|
226
|
+
url: "https://graphql.mainnet.sui.io/graphql"
|
|
227
|
+
})
|
|
228
|
+
}) {
|
|
229
|
+
const resp = await client.core.verifyZkLoginSignature({
|
|
230
|
+
bytes,
|
|
231
|
+
signature,
|
|
232
|
+
intentScope,
|
|
233
|
+
author: address
|
|
234
|
+
});
|
|
235
|
+
return resp.success === true && resp.errors.length === 0;
|
|
236
|
+
}
|
|
237
|
+
function parseSerializedZkLoginSignature(signature) {
|
|
238
|
+
const bytes = typeof signature === "string" ? fromBase64(signature) : signature;
|
|
239
|
+
if (bytes[0] !== SIGNATURE_SCHEME_TO_FLAG.ZkLogin) {
|
|
240
|
+
throw new Error("Invalid signature scheme");
|
|
241
|
+
}
|
|
242
|
+
const signatureBytes = bytes.slice(1);
|
|
243
|
+
const { inputs, maxEpoch, userSignature } = parseZkLoginSignature(signatureBytes);
|
|
244
|
+
const { issBase64Details, addressSeed } = inputs;
|
|
245
|
+
const iss = extractClaimValue(issBase64Details, "iss");
|
|
246
|
+
const publicIdentifer = toZkLoginPublicIdentifier(BigInt(addressSeed), iss);
|
|
247
|
+
return {
|
|
248
|
+
serializedSignature: toBase64(bytes),
|
|
249
|
+
signatureScheme: "ZkLogin",
|
|
250
|
+
zkLogin: {
|
|
251
|
+
inputs,
|
|
252
|
+
maxEpoch,
|
|
253
|
+
userSignature,
|
|
254
|
+
iss,
|
|
255
|
+
addressSeed: BigInt(addressSeed)
|
|
256
|
+
},
|
|
257
|
+
signature: bytes,
|
|
258
|
+
publicKey: publicIdentifer.toRawBytes()
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
export {
|
|
262
|
+
ZkLoginPublicIdentifier,
|
|
263
|
+
parseSerializedZkLoginSignature,
|
|
264
|
+
toZkLoginPublicIdentifier
|
|
265
|
+
};
|