@mysten/sui 1.40.0 → 1.41.0
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/CHANGELOG.md +12 -0
- package/dist/cjs/client/index.d.ts +4 -4
- package/dist/cjs/client/index.js +6 -6
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/experimental/core.js +1 -1
- package/dist/cjs/experimental/core.js.map +2 -2
- package/dist/cjs/faucet/faucet.d.ts +3 -3
- package/dist/cjs/faucet/faucet.js +1 -1
- package/dist/cjs/faucet/faucet.js.map +2 -2
- package/dist/cjs/graphql/client.d.ts +2 -2
- package/dist/cjs/graphql/client.js +2 -2
- package/dist/cjs/graphql/client.js.map +3 -3
- package/dist/cjs/{experimental/transports/graphql.d.ts → graphql/core.d.ts} +4 -4
- package/dist/cjs/{experimental/transports/graphql.js → graphql/core.js} +28 -28
- package/dist/cjs/graphql/core.js.map +7 -0
- package/dist/cjs/grpc/client.d.ts +31 -0
- package/dist/cjs/grpc/client.js +51 -0
- package/dist/cjs/grpc/client.js.map +7 -0
- package/dist/cjs/grpc/core.d.ts +27 -0
- package/dist/cjs/grpc/core.js +644 -0
- package/dist/cjs/grpc/core.js.map +7 -0
- package/dist/cjs/grpc/index.d.ts +4 -0
- package/dist/cjs/grpc/index.js +27 -0
- package/dist/cjs/grpc/index.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +173 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.js +139 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +104 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.js +88 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +25 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.js +31 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +73 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +169 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.js +199 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +123 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +7 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +525 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.js +332 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +7 -0
- package/dist/cjs/grpc/proto/google/rpc/status.d.ts +46 -0
- package/dist/cjs/grpc/proto/google/rpc/status.js +48 -0
- package/dist/cjs/grpc/proto/google/rpc/status.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/argument.d.ts +66 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/argument.js +71 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/argument.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/balance_change.d.ts +34 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/balance_change.js +56 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/balance_change.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/bcs.d.ts +30 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/bcs.js +48 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/bcs.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint.d.ts +55 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint.js +62 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.d.ts +74 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.js +89 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.d.ts +195 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.js +165 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/effects.d.ts +333 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/effects.js +286 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/effects.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/epoch.d.ts +62 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/epoch.js +73 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/epoch.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/error_reason.d.ts +17 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/error_reason.js +30 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/error_reason.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/event.d.ts +88 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/event.js +86 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/event.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/executed_transaction.d.ts +85 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/executed_transaction.js +87 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/executed_transaction.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/execution_status.d.ts +843 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/execution_status.js +513 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/execution_status.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.d.ts +41 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.js +64 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/input.d.ts +98 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/input.js +90 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/input.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.client.d.ts +95 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.client.js +127 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.d.ts +420 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.js +327 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.client.d.ts +81 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.client.js +0 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.d.ts +808 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.js +652 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package.d.ts +579 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package.js +483 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.client.d.ts +61 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.client.js +86 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.d.ts +229 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.js +226 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.client.d.ts +41 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.client.js +60 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.d.ts +144 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.js +138 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object.d.ts +107 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object.js +104 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object_reference.d.ts +34 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object_reference.js +56 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object_reference.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/owner.d.ts +61 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/owner.js +65 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/owner.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/protocol_config.d.ts +30 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/protocol_config.js +62 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/protocol_config.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature.d.ts +617 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature.js +509 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_scheme.d.ts +40 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_scheme.js +34 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_scheme.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.d.ts +35 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.js +49 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.d.ts +79 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.js +76 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.client.d.ts +55 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.client.js +59 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.d.ts +57 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.js +63 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/system_state.d.ts +684 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/system_state.js +674 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/system_state.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction.d.ts +1301 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction.js +987 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.d.ts +37 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.js +50 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.d.ts +115 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.js +94 -0
- package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.js.map +7 -0
- package/dist/cjs/{client → jsonRpc}/client.d.ts +12 -12
- package/dist/cjs/{client → jsonRpc}/client.js +9 -9
- package/dist/cjs/jsonRpc/client.js.map +7 -0
- package/dist/cjs/{experimental/transports/jsonRPC.d.ts → jsonRpc/core.d.ts} +7 -7
- package/dist/cjs/{experimental/transports/jsonRPC.js → jsonRpc/core.js} +18 -18
- package/dist/cjs/jsonRpc/core.js.map +7 -0
- package/dist/cjs/{client → jsonRpc}/errors.js.map +1 -1
- package/dist/{esm/client → cjs/jsonRpc}/http-transport.d.ts +10 -10
- package/dist/cjs/{client → jsonRpc}/http-transport.js +6 -6
- package/dist/cjs/jsonRpc/http-transport.js.map +7 -0
- package/dist/cjs/jsonRpc/index.d.ts +4 -0
- package/dist/cjs/jsonRpc/index.js +32 -0
- package/dist/cjs/jsonRpc/index.js.map +7 -0
- package/dist/cjs/jsonRpc/json-rpc-resolver.d.ts +4 -0
- package/dist/cjs/{experimental/transports → jsonRpc}/json-rpc-resolver.js +6 -6
- package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +7 -0
- package/dist/cjs/{client → jsonRpc}/rpc-websocket-client.js.map +1 -1
- package/dist/cjs/{client → jsonRpc}/types/chain.js.map +1 -1
- package/dist/cjs/{client → jsonRpc}/types/changes.js.map +1 -1
- package/dist/cjs/{client → jsonRpc}/types/coins.js.map +1 -1
- package/dist/cjs/{client → jsonRpc}/types/common.js.map +1 -1
- package/dist/cjs/{client → jsonRpc}/types/generated.js.map +1 -1
- package/dist/cjs/{client → jsonRpc}/types/index.js.map +1 -1
- package/dist/cjs/{client → jsonRpc}/types/params.js.map +1 -1
- package/dist/cjs/multisig/signer.d.ts +1 -0
- package/dist/cjs/multisig/signer.js +1 -0
- package/dist/cjs/multisig/signer.js.map +2 -2
- package/dist/cjs/transactions/ObjectCache.js +1 -1
- package/dist/cjs/transactions/ObjectCache.js.map +2 -2
- package/dist/cjs/transactions/Transaction.js +2 -2
- package/dist/cjs/transactions/Transaction.js.map +2 -2
- package/dist/cjs/transactions/resolve.js +2 -2
- package/dist/cjs/transactions/resolve.js.map +2 -2
- package/dist/cjs/utils/sui-types.js +1 -1
- package/dist/cjs/utils/sui-types.js.map +2 -2
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/zklogin/jwt-decode.js +1 -1
- package/dist/cjs/zklogin/jwt-decode.js.map +2 -2
- package/dist/esm/client/index.d.ts +4 -4
- package/dist/esm/client/index.js +9 -9
- package/dist/esm/client/index.js.map +2 -2
- package/dist/esm/experimental/core.js +1 -1
- package/dist/esm/experimental/core.js.map +2 -2
- package/dist/esm/faucet/faucet.d.ts +3 -3
- package/dist/esm/faucet/faucet.js +1 -1
- package/dist/esm/faucet/faucet.js.map +2 -2
- package/dist/esm/graphql/client.d.ts +2 -2
- package/dist/esm/graphql/client.js +2 -2
- package/dist/esm/graphql/client.js.map +2 -2
- package/dist/esm/{experimental/transports/graphql.d.ts → graphql/core.d.ts} +4 -4
- package/dist/esm/{experimental/transports/graphql.js → graphql/core.js} +28 -25
- package/dist/esm/graphql/core.js.map +7 -0
- package/dist/esm/grpc/client.d.ts +31 -0
- package/dist/esm/grpc/client.js +31 -0
- package/dist/esm/grpc/client.js.map +7 -0
- package/dist/esm/grpc/core.d.ts +27 -0
- package/dist/esm/grpc/core.js +633 -0
- package/dist/esm/grpc/core.js.map +7 -0
- package/dist/esm/grpc/index.d.ts +4 -0
- package/dist/esm/grpc/index.js +7 -0
- package/dist/esm/grpc/index.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/any.d.ts +173 -0
- package/dist/esm/grpc/proto/google/protobuf/any.js +119 -0
- package/dist/esm/grpc/proto/google/protobuf/any.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +104 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.js +68 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +25 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.js +11 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js +53 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +169 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.js +179 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js +103 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +7 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +525 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.js +312 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.js.map +7 -0
- package/dist/esm/grpc/proto/google/rpc/status.d.ts +46 -0
- package/dist/esm/grpc/proto/google/rpc/status.js +28 -0
- package/dist/esm/grpc/proto/google/rpc/status.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/argument.d.ts +66 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/argument.js +51 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/argument.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/balance_change.d.ts +34 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/balance_change.js +36 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/balance_change.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/bcs.d.ts +30 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/bcs.js +28 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/bcs.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint.d.ts +55 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint.js +42 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.d.ts +74 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.js +69 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.d.ts +195 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.js +145 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/effects.d.ts +333 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/effects.js +266 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/effects.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/epoch.d.ts +62 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/epoch.js +53 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/epoch.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/error_reason.d.ts +17 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/error_reason.js +10 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/error_reason.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/event.d.ts +88 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/event.js +66 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/event.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/executed_transaction.d.ts +85 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/executed_transaction.js +67 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/executed_transaction.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/execution_status.d.ts +843 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/execution_status.js +493 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/execution_status.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.d.ts +41 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.js +44 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/input.d.ts +98 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/input.js +70 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/input.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.client.d.ts +95 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.client.js +107 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.d.ts +420 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.js +307 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.client.d.ts +81 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.client.js +92 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.d.ts +808 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.js +632 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package.d.ts +579 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package.js +463 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.client.d.ts +61 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.client.js +66 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.d.ts +229 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.js +206 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.client.d.ts +41 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.client.js +40 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.d.ts +144 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.js +118 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/object.d.ts +107 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/object.js +84 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/object.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/object_reference.d.ts +34 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/object_reference.js +36 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/object_reference.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/owner.d.ts +61 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/owner.js +45 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/owner.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/protocol_config.d.ts +30 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/protocol_config.js +42 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/protocol_config.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature.d.ts +617 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature.js +489 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_scheme.d.ts +40 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_scheme.js +14 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_scheme.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.d.ts +35 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.js +29 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.d.ts +79 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.js +56 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.client.d.ts +55 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.client.js +39 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.d.ts +57 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.js +43 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/system_state.d.ts +684 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/system_state.js +654 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/system_state.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction.d.ts +1301 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction.js +967 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.d.ts +37 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.js +30 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.d.ts +115 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.js +74 -0
- package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.js.map +7 -0
- package/dist/esm/{client → jsonRpc}/client.d.ts +12 -12
- package/dist/esm/{client → jsonRpc}/client.js +10 -10
- package/dist/esm/jsonRpc/client.js.map +7 -0
- package/dist/esm/{experimental/transports/jsonRPC.d.ts → jsonRpc/core.d.ts} +7 -7
- package/dist/esm/{experimental/transports/jsonRPC.js → jsonRpc/core.js} +12 -12
- package/dist/esm/jsonRpc/core.js.map +7 -0
- package/dist/esm/{client → jsonRpc}/errors.js.map +1 -1
- package/dist/{cjs/client → esm/jsonRpc}/http-transport.d.ts +10 -10
- package/dist/esm/{client → jsonRpc}/http-transport.js +6 -6
- package/dist/esm/jsonRpc/http-transport.js.map +7 -0
- package/dist/esm/jsonRpc/index.d.ts +4 -0
- package/dist/esm/jsonRpc/index.js +17 -0
- package/dist/esm/jsonRpc/index.js.map +7 -0
- package/dist/esm/jsonRpc/json-rpc-resolver.d.ts +4 -0
- package/dist/esm/{experimental/transports → jsonRpc}/json-rpc-resolver.js +6 -6
- package/dist/esm/jsonRpc/json-rpc-resolver.js.map +7 -0
- package/dist/esm/{client → jsonRpc}/rpc-websocket-client.js.map +1 -1
- package/dist/esm/multisig/signer.d.ts +1 -0
- package/dist/esm/multisig/signer.js +1 -0
- package/dist/esm/multisig/signer.js.map +2 -2
- package/dist/esm/transactions/ObjectCache.js +1 -1
- package/dist/esm/transactions/ObjectCache.js.map +2 -2
- package/dist/esm/transactions/Transaction.js +2 -2
- package/dist/esm/transactions/Transaction.js.map +2 -2
- package/dist/esm/transactions/resolve.js +2 -2
- package/dist/esm/transactions/resolve.js.map +2 -2
- package/dist/esm/utils/sui-types.js +1 -1
- package/dist/esm/utils/sui-types.js.map +2 -2
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/zklogin/jwt-decode.js +1 -1
- package/dist/esm/zklogin/jwt-decode.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/grpc/package.json +6 -0
- package/jsonRpc/package.json +6 -0
- package/package.json +20 -3
- package/src/client/index.ts +12 -12
- package/src/experimental/core.ts +1 -1
- package/src/faucet/faucet.ts +4 -4
- package/src/graphql/client.ts +3 -3
- package/src/{experimental/transports/graphql.ts → graphql/core.ts} +14 -11
- package/src/grpc/client.ts +59 -0
- package/src/grpc/core.ts +727 -0
- package/src/grpc/index.ts +7 -0
- package/src/grpc/proto/google/protobuf/any.ts +296 -0
- package/src/grpc/proto/google/protobuf/duration.ts +187 -0
- package/src/grpc/proto/google/protobuf/empty.ts +64 -0
- package/src/grpc/proto/google/protobuf/field_mask.ts +309 -0
- package/src/grpc/proto/google/protobuf/struct.ts +327 -0
- package/src/grpc/proto/google/protobuf/timestamp.ts +260 -0
- package/src/grpc/proto/google/rpc/error_details.ts +667 -0
- package/src/grpc/proto/google/rpc/status.ts +74 -0
- package/src/grpc/proto/sui/rpc/v2beta2/argument.ts +90 -0
- package/src/grpc/proto/sui/rpc/v2beta2/balance_change.ts +51 -0
- package/src/grpc/proto/sui/rpc/v2beta2/bcs.ts +46 -0
- package/src/grpc/proto/sui/rpc/v2beta2/checkpoint.ts +88 -0
- package/src/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.ts +111 -0
- package/src/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.ts +295 -0
- package/src/grpc/proto/sui/rpc/v2beta2/effects.ts +479 -0
- package/src/grpc/proto/sui/rpc/v2beta2/epoch.ts +113 -0
- package/src/grpc/proto/sui/rpc/v2beta2/error_reason.ts +28 -0
- package/src/grpc/proto/sui/rpc/v2beta2/event.ts +115 -0
- package/src/grpc/proto/sui/rpc/v2beta2/executed_transaction.ts +140 -0
- package/src/grpc/proto/sui/rpc/v2beta2/execution_status.ts +1079 -0
- package/src/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.ts +87 -0
- package/src/grpc/proto/sui/rpc/v2beta2/input.ts +132 -0
- package/src/grpc/proto/sui/rpc/v2beta2/ledger_service.client.ts +217 -0
- package/src/grpc/proto/sui/rpc/v2beta2/ledger_service.ts +625 -0
- package/src/grpc/proto/sui/rpc/v2beta2/live_data_service.client.ts +187 -0
- package/src/grpc/proto/sui/rpc/v2beta2/live_data_service.ts +1066 -0
- package/src/grpc/proto/sui/rpc/v2beta2/move_package.ts +803 -0
- package/src/grpc/proto/sui/rpc/v2beta2/move_package_service.client.ts +135 -0
- package/src/grpc/proto/sui/rpc/v2beta2/move_package_service.ts +315 -0
- package/src/grpc/proto/sui/rpc/v2beta2/name_service.client.ts +83 -0
- package/src/grpc/proto/sui/rpc/v2beta2/name_service.ts +198 -0
- package/src/grpc/proto/sui/rpc/v2beta2/object.ts +161 -0
- package/src/grpc/proto/sui/rpc/v2beta2/object_reference.ts +58 -0
- package/src/grpc/proto/sui/rpc/v2beta2/owner.ts +91 -0
- package/src/grpc/proto/sui/rpc/v2beta2/protocol_config.ts +66 -0
- package/src/grpc/proto/sui/rpc/v2beta2/signature.ts +861 -0
- package/src/grpc/proto/sui/rpc/v2beta2/signature_scheme.ts +51 -0
- package/src/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.ts +63 -0
- package/src/grpc/proto/sui/rpc/v2beta2/signature_verification_service.ts +106 -0
- package/src/grpc/proto/sui/rpc/v2beta2/subscription_service.client.ts +81 -0
- package/src/grpc/proto/sui/rpc/v2beta2/subscription_service.ts +93 -0
- package/src/grpc/proto/sui/rpc/v2beta2/system_state.ts +1184 -0
- package/src/grpc/proto/sui/rpc/v2beta2/transaction.ts +2012 -0
- package/src/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.ts +65 -0
- package/src/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.ts +178 -0
- package/src/{client → jsonRpc}/client.ts +21 -16
- package/src/{experimental/transports/jsonRPC.ts → jsonRpc/core.ts} +15 -15
- package/src/{client → jsonRpc}/http-transport.ts +13 -11
- package/src/jsonRpc/index.ts +20 -0
- package/src/{experimental/transports → jsonRpc}/json-rpc-resolver.ts +17 -14
- package/src/multisig/signer.ts +1 -0
- package/src/transactions/ObjectCache.ts +1 -1
- package/src/transactions/Transaction.ts +2 -2
- package/src/transactions/resolve.ts +3 -3
- package/src/utils/sui-types.ts +1 -1
- package/src/version.ts +1 -1
- package/src/zklogin/jwt-decode.ts +2 -1
- package/dist/cjs/client/client.js.map +0 -7
- package/dist/cjs/client/http-transport.js.map +0 -7
- package/dist/cjs/experimental/transports/graphql.js.map +0 -7
- package/dist/cjs/experimental/transports/json-rpc-resolver.d.ts +0 -4
- package/dist/cjs/experimental/transports/json-rpc-resolver.js.map +0 -7
- package/dist/cjs/experimental/transports/jsonRPC.js.map +0 -7
- package/dist/esm/client/client.js.map +0 -7
- package/dist/esm/client/http-transport.js.map +0 -7
- package/dist/esm/experimental/transports/graphql.js.map +0 -7
- package/dist/esm/experimental/transports/json-rpc-resolver.d.ts +0 -4
- package/dist/esm/experimental/transports/json-rpc-resolver.js.map +0 -7
- package/dist/esm/experimental/transports/jsonRPC.js.map +0 -7
- /package/dist/cjs/{client → jsonRpc}/errors.d.ts +0 -0
- /package/dist/cjs/{client → jsonRpc}/errors.js +0 -0
- /package/dist/cjs/{client → jsonRpc}/rpc-websocket-client.d.ts +0 -0
- /package/dist/cjs/{client → jsonRpc}/rpc-websocket-client.js +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/chain.d.ts +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/chain.js +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/changes.d.ts +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/changes.js +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/coins.d.ts +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/coins.js +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/common.d.ts +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/common.js +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/generated.d.ts +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/generated.js +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/index.d.ts +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/index.js +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/params.d.ts +0 -0
- /package/dist/cjs/{client → jsonRpc}/types/params.js +0 -0
- /package/dist/esm/{client → jsonRpc}/errors.d.ts +0 -0
- /package/dist/esm/{client → jsonRpc}/errors.js +0 -0
- /package/dist/esm/{client → jsonRpc}/rpc-websocket-client.d.ts +0 -0
- /package/dist/esm/{client → jsonRpc}/rpc-websocket-client.js +0 -0
- /package/dist/esm/{client → jsonRpc}/types/chain.d.ts +0 -0
- /package/dist/esm/{client → jsonRpc}/types/chain.js +0 -0
- /package/dist/esm/{client → jsonRpc}/types/chain.js.map +0 -0
- /package/dist/esm/{client → jsonRpc}/types/changes.d.ts +0 -0
- /package/dist/esm/{client → jsonRpc}/types/changes.js +0 -0
- /package/dist/esm/{client → jsonRpc}/types/changes.js.map +0 -0
- /package/dist/esm/{client → jsonRpc}/types/coins.d.ts +0 -0
- /package/dist/esm/{client → jsonRpc}/types/coins.js +0 -0
- /package/dist/esm/{client → jsonRpc}/types/coins.js.map +0 -0
- /package/dist/esm/{client → jsonRpc}/types/common.d.ts +0 -0
- /package/dist/esm/{client → jsonRpc}/types/common.js +0 -0
- /package/dist/esm/{client → jsonRpc}/types/common.js.map +0 -0
- /package/dist/esm/{client → jsonRpc}/types/generated.d.ts +0 -0
- /package/dist/esm/{client → jsonRpc}/types/generated.js +0 -0
- /package/dist/esm/{client → jsonRpc}/types/generated.js.map +0 -0
- /package/dist/esm/{client → jsonRpc}/types/index.d.ts +0 -0
- /package/dist/esm/{client → jsonRpc}/types/index.js +0 -0
- /package/dist/esm/{client → jsonRpc}/types/index.js.map +0 -0
- /package/dist/esm/{client → jsonRpc}/types/params.d.ts +0 -0
- /package/dist/esm/{client → jsonRpc}/types/params.js +0 -0
- /package/dist/esm/{client → jsonRpc}/types/params.js.map +0 -0
- /package/src/{client → jsonRpc}/errors.ts +0 -0
- /package/src/{client → jsonRpc}/rpc-websocket-client.ts +0 -0
- /package/src/{client → jsonRpc}/types/chain.ts +0 -0
- /package/src/{client → jsonRpc}/types/changes.ts +0 -0
- /package/src/{client → jsonRpc}/types/coins.ts +0 -0
- /package/src/{client → jsonRpc}/types/common.ts +0 -0
- /package/src/{client → jsonRpc}/types/generated.ts +0 -0
- /package/src/{client → jsonRpc}/types/index.ts +0 -0
- /package/src/{client → jsonRpc}/types/params.ts +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/jsonRpc/client.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromBase58, toBase64, toHex } from '@mysten/bcs';\n\nimport type { Signer } from '../cryptography/index.js';\nimport { Experimental_BaseClient } from '../experimental/client.js';\nimport type {\n\tExperimental_SuiClientTypes,\n\tSelfRegisteringClientExtension,\n} from '../experimental/types.js';\nimport type { Transaction } from '../transactions/Transaction.js';\nimport { isTransaction } from '../transactions/Transaction.js';\nimport {\n\tisValidSuiAddress,\n\tisValidSuiObjectId,\n\tisValidTransactionDigest,\n\tnormalizeSuiAddress,\n\tnormalizeSuiObjectId,\n} from '../utils/sui-types.js';\nimport { normalizeSuiNSName } from '../utils/suins.js';\nimport { JsonRpcHTTPTransport } from './http-transport.js';\nimport type { JsonRpcTransport } from './http-transport.js';\nimport type {\n\tAddressMetrics,\n\tAllEpochsAddressMetrics,\n\tCheckpoint,\n\tCheckpointPage,\n\tCoinBalance,\n\tCoinMetadata,\n\tCoinSupply,\n\tCommitteeInfo,\n\tDelegatedStake,\n\tDevInspectResults,\n\tDevInspectTransactionBlockParams,\n\tDryRunTransactionBlockParams,\n\tDryRunTransactionBlockResponse,\n\tDynamicFieldPage,\n\tEpochInfo,\n\tEpochMetricsPage,\n\tEpochPage,\n\tExecuteTransactionBlockParams,\n\tGetAllBalancesParams,\n\tGetAllCoinsParams,\n\tGetBalanceParams,\n\tGetCheckpointParams,\n\tGetCheckpointsParams,\n\tGetCoinMetadataParams,\n\tGetCoinsParams,\n\tGetCommitteeInfoParams,\n\tGetDynamicFieldObjectParams,\n\tGetDynamicFieldsParams,\n\tGetLatestCheckpointSequenceNumberParams,\n\tGetLatestSuiSystemStateParams,\n\tGetMoveFunctionArgTypesParams,\n\tGetNormalizedMoveFunctionParams,\n\tGetNormalizedMoveModuleParams,\n\tGetNormalizedMoveModulesByPackageParams,\n\tGetNormalizedMoveStructParams,\n\tGetObjectParams,\n\tGetOwnedObjectsParams,\n\tGetProtocolConfigParams,\n\tGetReferenceGasPriceParams,\n\tGetStakesByIdsParams,\n\tGetStakesParams,\n\tGetTotalSupplyParams,\n\tGetTransactionBlockParams,\n\tMoveCallMetrics,\n\tMultiGetObjectsParams,\n\tMultiGetTransactionBlocksParams,\n\tNetworkMetrics,\n\tObjectRead,\n\tOrder,\n\tPaginatedCoins,\n\tPaginatedEvents,\n\tPaginatedObjectsResponse,\n\tPaginatedTransactionResponse,\n\tProtocolConfig,\n\tQueryEventsParams,\n\tQueryTransactionBlocksParams,\n\tResolvedNameServiceNames,\n\tResolveNameServiceAddressParams,\n\tResolveNameServiceNamesParams,\n\tSubscribeEventParams,\n\tSubscribeTransactionParams,\n\tSuiEvent,\n\tSuiMoveFunctionArgType,\n\tSuiMoveNormalizedFunction,\n\tSuiMoveNormalizedModule,\n\tSuiMoveNormalizedModules,\n\tSuiMoveNormalizedStruct,\n\tSuiObjectResponse,\n\tSuiObjectResponseQuery,\n\tSuiSystemStateSummary,\n\tSuiTransactionBlockResponse,\n\tSuiTransactionBlockResponseQuery,\n\tTransactionEffects,\n\tTryGetPastObjectParams,\n\tUnsubscribe,\n\tValidatorsApy,\n\tVerifyZkLoginSignatureParams,\n\tZkLoginVerifyResult,\n} from './types/index.js';\nimport { isValidNamedPackage } from '../utils/move-registry.js';\nimport { hasMvrName } from '../experimental/mvr.js';\nimport { JSONRpcCoreClient } from './core.js';\n\nexport interface PaginationArguments<Cursor> {\n\t/** Optional paging cursor */\n\tcursor?: Cursor;\n\t/** Maximum item returned per page */\n\tlimit?: number | null;\n}\n\nexport interface OrderArguments {\n\torder?: Order | null;\n}\n\n/**\n * Configuration options for the SuiClient\n * You must provide either a `url` or a `transport`\n */\nexport type SuiJsonRpcClientOptions = NetworkOrTransport & {\n\tnetwork?: Experimental_SuiClientTypes.Network;\n\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n};\n\ntype NetworkOrTransport =\n\t| {\n\t\t\turl: string;\n\t\t\ttransport?: never;\n\t }\n\t| {\n\t\t\ttransport: JsonRpcTransport;\n\t\t\turl?: never;\n\t };\n\nconst SUI_CLIENT_BRAND = Symbol.for('@mysten/SuiClient') as never;\n\nexport function isSuiJsonRpcClient(client: unknown): client is SuiJsonRpcClient {\n\treturn (\n\t\ttypeof client === 'object' && client !== null && (client as any)[SUI_CLIENT_BRAND] === true\n\t);\n}\n\nexport class SuiJsonRpcClient\n\textends Experimental_BaseClient\n\timplements SelfRegisteringClientExtension\n{\n\tcore: JSONRpcCoreClient;\n\tjsonRpc = this;\n\tprotected transport: JsonRpcTransport;\n\n\tget [SUI_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Establish a connection to a Sui RPC endpoint\n\t *\n\t * @param options configuration options for the API Client\n\t */\n\tconstructor(options: SuiJsonRpcClientOptions) {\n\t\tsuper({ network: options.network ?? 'unknown' });\n\t\tthis.transport = options.transport ?? new JsonRpcHTTPTransport({ url: options.url });\n\t\tthis.core = new JSONRpcCoreClient({\n\t\t\tjsonRpcClient: this,\n\t\t\tmvr: options.mvr,\n\t\t});\n\t}\n\n\tasync getRpcApiVersion({ signal }: { signal?: AbortSignal } = {}): Promise<string | undefined> {\n\t\tconst resp = await this.transport.request<{ info: { version: string } }>({\n\t\t\tmethod: 'rpc.discover',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\n\t\treturn resp.info.version;\n\t}\n\n\t/**\n\t * Get all Coin<`coin_type`> objects owned by an address.\n\t */\n\tasync getCoins({\n\t\tcoinType,\n\t\towner,\n\t\tcursor,\n\t\tlimit,\n\t\tsignal,\n\t}: GetCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!owner || !isValidSuiAddress(normalizeSuiAddress(owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoins',\n\t\t\tparams: [owner, coinType, cursor, limit],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get all Coin objects owned by an address.\n\t */\n\tasync getAllCoins(input: GetAllCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllCoins',\n\t\t\tparams: [input.owner, input.cursor, input.limit],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for one coin type, owned by the address owner.\n\t */\n\tasync getBalance({ owner, coinType, signal }: GetBalanceParams): Promise<CoinBalance> {\n\t\tif (!owner || !isValidSuiAddress(normalizeSuiAddress(owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getBalance',\n\t\t\tparams: [owner, coinType],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for all coin types, owned by the address owner.\n\t */\n\tasync getAllBalances(input: GetAllBalancesParams): Promise<CoinBalance[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllBalances',\n\t\t\tparams: [input.owner],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Fetch CoinMetadata for a given coin type\n\t */\n\tasync getCoinMetadata({ coinType, signal }: GetCoinMetadataParams): Promise<CoinMetadata | null> {\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoinMetadata',\n\t\t\tparams: [coinType],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Fetch total supply for a coin\n\t */\n\tasync getTotalSupply({ coinType, signal }: GetTotalSupplyParams): Promise<CoinSupply> {\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getTotalSupply',\n\t\t\tparams: [coinType],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Invoke any RPC method\n\t * @param method the method to be invoked\n\t * @param args the arguments to be passed to the RPC request\n\t */\n\tasync call<T = unknown>(\n\t\tmethod: string,\n\t\tparams: unknown[],\n\t\t{ signal }: { signal?: AbortSignal } = {},\n\t): Promise<T> {\n\t\treturn await this.transport.request({ method, params, signal });\n\t}\n\n\t/**\n\t * Get Move function argument types like read, write and full access\n\t */\n\tasync getMoveFunctionArgTypes({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tfunction: fn,\n\t\tsignal,\n\t}: GetMoveFunctionArgTypesParams): Promise<SuiMoveFunctionArgType[]> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getMoveFunctionArgTypes',\n\t\t\tparams: [pkg, module, fn],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a map from module name to\n\t * structured representations of Move modules\n\t */\n\tasync getNormalizedMoveModulesByPackage({\n\t\tpackage: pkg,\n\t\tsignal,\n\t}: GetNormalizedMoveModulesByPackageParams): Promise<SuiMoveNormalizedModules> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModulesByPackage',\n\t\t\tparams: [pkg],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move module\n\t */\n\tasync getNormalizedMoveModule({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tsignal,\n\t}: GetNormalizedMoveModuleParams): Promise<SuiMoveNormalizedModule> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModule',\n\t\t\tparams: [pkg, module],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move function\n\t */\n\tasync getNormalizedMoveFunction({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tfunction: fn,\n\t\tsignal,\n\t}: GetNormalizedMoveFunctionParams): Promise<SuiMoveNormalizedFunction> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveFunction',\n\t\t\tparams: [pkg, module, fn],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move struct\n\t */\n\tasync getNormalizedMoveStruct({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tstruct,\n\t\tsignal,\n\t}: GetNormalizedMoveStructParams): Promise<SuiMoveNormalizedStruct> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveStruct',\n\t\t\tparams: [pkg, module, struct],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get all objects owned by an address\n\t */\n\tasync getOwnedObjects(input: GetOwnedObjectsParams): Promise<PaginatedObjectsResponse> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\tconst filter = input.filter\n\t\t\t? {\n\t\t\t\t\t...input.filter,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\t\tif (filter && 'MoveModule' in filter && isValidNamedPackage(filter.MoveModule.package)) {\n\t\t\tfilter.MoveModule = {\n\t\t\t\tmodule: filter.MoveModule.module,\n\t\t\t\tpackage: (\n\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\tpackage: filter.MoveModule.package,\n\t\t\t\t\t})\n\t\t\t\t).package,\n\t\t\t};\n\t\t} else if (filter && 'StructType' in filter && hasMvrName(filter.StructType)) {\n\t\t\tfilter.StructType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: filter.StructType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getOwnedObjects',\n\t\t\tparams: [\n\t\t\t\tinput.owner,\n\t\t\t\t{\n\t\t\t\t\tfilter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as SuiObjectResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get details about an object\n\t */\n\tasync getObject(input: GetObjectParams): Promise<SuiObjectResponse> {\n\t\tif (!input.id || !isValidSuiObjectId(normalizeSuiObjectId(input.id))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getObject',\n\t\t\tparams: [input.id, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync tryGetPastObject(input: TryGetPastObjectParams): Promise<ObjectRead> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_tryGetPastObject',\n\t\t\tparams: [input.id, input.version, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Batch get details about a list of objects. If any of the object ids are duplicates the call will fail\n\t */\n\tasync multiGetObjects(input: MultiGetObjectsParams): Promise<SuiObjectResponse[]> {\n\t\tinput.ids.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Object id ${id}`);\n\t\t\t}\n\t\t});\n\t\tconst hasDuplicates = input.ids.length !== new Set(input.ids).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate object ids in batch call ${input.ids}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetObjects',\n\t\t\tparams: [input.ids, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get transaction blocks for a given query criteria\n\t */\n\tasync queryTransactionBlocks({\n\t\tfilter,\n\t\toptions,\n\t\tcursor,\n\t\tlimit,\n\t\torder,\n\t\tsignal,\n\t}: QueryTransactionBlocksParams): Promise<PaginatedTransactionResponse> {\n\t\tif (filter && 'MoveFunction' in filter && isValidNamedPackage(filter.MoveFunction.package)) {\n\t\t\tfilter = {\n\t\t\t\t...filter,\n\t\t\t\tMoveFunction: {\n\t\t\t\t\tpackage: (\n\t\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\t\tpackage: filter.MoveFunction.package,\n\t\t\t\t\t\t})\n\t\t\t\t\t).package,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryTransactionBlocks',\n\t\t\tparams: [\n\t\t\t\t{\n\t\t\t\t\tfilter,\n\t\t\t\t\toptions,\n\t\t\t\t} as SuiTransactionBlockResponseQuery,\n\t\t\t\tcursor,\n\t\t\t\tlimit,\n\t\t\t\t(order || 'descending') === 'descending',\n\t\t\t],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync getTransactionBlock(\n\t\tinput: GetTransactionBlockParams,\n\t): Promise<SuiTransactionBlockResponse> {\n\t\tif (!isValidTransactionDigest(input.digest)) {\n\t\t\tthrow new Error('Invalid Transaction digest');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getTransactionBlock',\n\t\t\tparams: [input.digest, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync multiGetTransactionBlocks(\n\t\tinput: MultiGetTransactionBlocksParams,\n\t): Promise<SuiTransactionBlockResponse[]> {\n\t\tinput.digests.forEach((d) => {\n\t\t\tif (!isValidTransactionDigest(d)) {\n\t\t\t\tthrow new Error(`Invalid Transaction digest ${d}`);\n\t\t\t}\n\t\t});\n\n\t\tconst hasDuplicates = input.digests.length !== new Set(input.digests).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate digests in batch call ${input.digests}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetTransactionBlocks',\n\t\t\tparams: [input.digests, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync executeTransactionBlock({\n\t\ttransactionBlock,\n\t\tsignature,\n\t\toptions,\n\t\trequestType,\n\t\tsignal,\n\t}: ExecuteTransactionBlockParams): Promise<SuiTransactionBlockResponse> {\n\t\tconst result: SuiTransactionBlockResponse = await this.transport.request({\n\t\t\tmethod: 'sui_executeTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof transactionBlock === 'string' ? transactionBlock : toBase64(transactionBlock),\n\t\t\t\tArray.isArray(signature) ? signature : [signature],\n\t\t\t\toptions,\n\t\t\t],\n\t\t\tsignal,\n\t\t});\n\n\t\tif (requestType === 'WaitForLocalExecution') {\n\t\t\ttry {\n\t\t\t\tawait this.waitForTransaction({\n\t\t\t\t\tdigest: result.digest,\n\t\t\t\t});\n\t\t\t} catch {\n\t\t\t\t// Ignore error while waiting for transaction\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tasync signAndExecuteTransaction({\n\t\ttransaction,\n\t\tsigner,\n\t\t...input\n\t}: {\n\t\ttransaction: Uint8Array | Transaction;\n\t\tsigner: Signer;\n\t} & Omit<\n\t\tExecuteTransactionBlockParams,\n\t\t'transactionBlock' | 'signature'\n\t>): Promise<SuiTransactionBlockResponse> {\n\t\tlet transactionBytes;\n\n\t\tif (transaction instanceof Uint8Array) {\n\t\t\ttransactionBytes = transaction;\n\t\t} else {\n\t\t\ttransaction.setSenderIfNotSet(signer.toSuiAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\n\t\tconst { signature, bytes } = await signer.signTransaction(transactionBytes);\n\n\t\treturn this.executeTransactionBlock({\n\t\t\ttransactionBlock: bytes,\n\t\t\tsignature,\n\t\t\t...input,\n\t\t});\n\t}\n\n\t/**\n\t * Get total number of transactions\n\t */\n\n\tasync getTotalTransactionBlocks({ signal }: { signal?: AbortSignal } = {}): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'sui_getTotalTransactionBlocks',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Getting the reference gas price for the network\n\t */\n\tasync getReferenceGasPrice({ signal }: GetReferenceGasPriceParams = {}): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'suix_getReferenceGasPrice',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Return the delegated stakes for an address\n\t */\n\tasync getStakes(input: GetStakesParams): Promise<DelegatedStake[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getStakes',\n\t\t\tparams: [input.owner],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the delegated stakes queried by id.\n\t */\n\tasync getStakesByIds(input: GetStakesByIdsParams): Promise<DelegatedStake[]> {\n\t\tinput.stakedSuiIds.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Stake id ${id}`);\n\t\t\t}\n\t\t});\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getStakesByIds',\n\t\t\tparams: [input.stakedSuiIds],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the latest system state content.\n\t */\n\tasync getLatestSuiSystemState({\n\t\tsignal,\n\t}: GetLatestSuiSystemStateParams = {}): Promise<SuiSystemStateSummary> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getLatestSuiSystemState',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Get events for a given query criteria\n\t */\n\tasync queryEvents({\n\t\tquery,\n\t\tcursor,\n\t\tlimit,\n\t\torder,\n\t\tsignal,\n\t}: QueryEventsParams): Promise<PaginatedEvents> {\n\t\tif (query && 'MoveEventType' in query && hasMvrName(query.MoveEventType)) {\n\t\t\tquery = {\n\t\t\t\t...query,\n\t\t\t\tMoveEventType: (\n\t\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\t\ttype: query.MoveEventType,\n\t\t\t\t\t})\n\t\t\t\t).type,\n\t\t\t};\n\t\t}\n\n\t\tif (query && 'MoveEventModule' in query && isValidNamedPackage(query.MoveEventModule.package)) {\n\t\t\tquery = {\n\t\t\t\t...query,\n\t\t\t\tMoveEventModule: {\n\t\t\t\t\tmodule: query.MoveEventModule.module,\n\t\t\t\t\tpackage: (\n\t\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\t\tpackage: query.MoveEventModule.package,\n\t\t\t\t\t\t})\n\t\t\t\t\t).package,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tif ('MoveModule' in query && isValidNamedPackage(query.MoveModule.package)) {\n\t\t\tquery = {\n\t\t\t\t...query,\n\t\t\t\tMoveModule: {\n\t\t\t\t\tmodule: query.MoveModule.module,\n\t\t\t\t\tpackage: (\n\t\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\t\tpackage: query.MoveModule.package,\n\t\t\t\t\t\t})\n\t\t\t\t\t).package,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryEvents',\n\t\t\tparams: [query, cursor, limit, (order || 'descending') === 'descending'],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Subscribe to get notifications whenever an event matching the filter occurs\n\t *\n\t * @deprecated\n\t */\n\tasync subscribeEvent(\n\t\tinput: SubscribeEventParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: SuiEvent) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeEvent',\n\t\t\tunsubscribe: 'suix_unsubscribeEvent',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\tasync subscribeTransaction(\n\t\tinput: SubscribeTransactionParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: TransactionEffects) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeTransaction',\n\t\t\tunsubscribe: 'suix_unsubscribeTransaction',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Runs the transaction block in dev-inspect mode. Which allows for nearly any\n\t * transaction (or Move call) with any arguments. Detailed results are\n\t * provided, including both the transaction effects and any return values.\n\t */\n\tasync devInspectTransactionBlock(\n\t\tinput: DevInspectTransactionBlockParams,\n\t): Promise<DevInspectResults> {\n\t\tlet devInspectTxBytes;\n\t\tif (isTransaction(input.transactionBlock)) {\n\t\t\tinput.transactionBlock.setSenderIfNotSet(input.sender);\n\t\t\tdevInspectTxBytes = toBase64(\n\t\t\t\tawait input.transactionBlock.build({\n\t\t\t\t\tclient: this,\n\t\t\t\t\tonlyTransactionKind: true,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else if (typeof input.transactionBlock === 'string') {\n\t\t\tdevInspectTxBytes = input.transactionBlock;\n\t\t} else if (input.transactionBlock instanceof Uint8Array) {\n\t\t\tdevInspectTxBytes = toBase64(input.transactionBlock);\n\t\t} else {\n\t\t\tthrow new Error('Unknown transaction block format.');\n\t\t}\n\n\t\tinput.signal?.throwIfAborted();\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_devInspectTransactionBlock',\n\t\t\tparams: [input.sender, devInspectTxBytes, input.gasPrice?.toString(), input.epoch],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Dry run a transaction block and return the result.\n\t */\n\tasync dryRunTransactionBlock(\n\t\tinput: DryRunTransactionBlockParams,\n\t): Promise<DryRunTransactionBlockResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_dryRunTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof input.transactionBlock === 'string'\n\t\t\t\t\t? input.transactionBlock\n\t\t\t\t\t: toBase64(input.transactionBlock),\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Return the list of dynamic field objects owned by an object\n\t */\n\tasync getDynamicFields(input: GetDynamicFieldsParams): Promise<DynamicFieldPage> {\n\t\tif (!input.parentId || !isValidSuiObjectId(normalizeSuiObjectId(input.parentId))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFields',\n\t\t\tparams: [input.parentId, input.cursor, input.limit],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the dynamic field object information for a specified object\n\t */\n\tasync getDynamicFieldObject(input: GetDynamicFieldObjectParams): Promise<SuiObjectResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFieldObject',\n\t\t\tparams: [input.parentId, input.name],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get the sequence number of the latest checkpoint that has been executed\n\t */\n\tasync getLatestCheckpointSequenceNumber({\n\t\tsignal,\n\t}: GetLatestCheckpointSequenceNumberParams = {}): Promise<string> {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: 'sui_getLatestCheckpointSequenceNumber',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t\treturn String(resp);\n\t}\n\n\t/**\n\t * Returns information about a given checkpoint\n\t */\n\tasync getCheckpoint(input: GetCheckpointParams): Promise<Checkpoint> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getCheckpoint',\n\t\t\tparams: [input.id],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Returns historical checkpoints paginated\n\t */\n\tasync getCheckpoints(\n\t\tinput: PaginationArguments<CheckpointPage['nextCursor']> & GetCheckpointsParams,\n\t): Promise<CheckpointPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getCheckpoints',\n\t\t\tparams: [input.cursor, input?.limit, input.descendingOrder],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCommitteeInfo(input?: GetCommitteeInfoParams): Promise<CommitteeInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCommitteeInfo',\n\t\t\tparams: [input?.epoch],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\tasync getNetworkMetrics({ signal }: { signal?: AbortSignal } = {}): Promise<NetworkMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getNetworkMetrics',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync getAddressMetrics({ signal }: { signal?: AbortSignal } = {}): Promise<AddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getLatestAddressMetrics',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync getEpochMetrics(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t\tsignal?: AbortSignal;\n\t\t} & PaginationArguments<EpochMetricsPage['nextCursor']>,\n\t): Promise<EpochMetricsPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochMetrics',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\tasync getAllEpochAddressMetrics(input?: {\n\t\tdescendingOrder?: boolean;\n\t\tsignal?: AbortSignal;\n\t}): Promise<AllEpochsAddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllEpochAddressMetrics',\n\t\t\tparams: [input?.descendingOrder],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getEpochs(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t\tsignal?: AbortSignal;\n\t\t} & PaginationArguments<EpochPage['nextCursor']>,\n\t): Promise<EpochPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochs',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Returns list of top move calls by usage\n\t */\n\tasync getMoveCallMetrics({ signal }: { signal?: AbortSignal } = {}): Promise<MoveCallMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getMoveCallMetrics',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCurrentEpoch({ signal }: { signal?: AbortSignal } = {}): Promise<EpochInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCurrentEpoch',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the Validators APYs\n\t */\n\tasync getValidatorsApy({ signal }: { signal?: AbortSignal } = {}): Promise<ValidatorsApy> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getValidatorsApy',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t// TODO: Migrate this to `sui_getChainIdentifier` once it is widely available.\n\tasync getChainIdentifier({ signal }: { signal?: AbortSignal } = {}): Promise<string> {\n\t\tconst checkpoint = await this.getCheckpoint({ id: '0', signal });\n\t\tconst bytes = fromBase58(checkpoint.digest);\n\t\treturn toHex(bytes.slice(0, 4));\n\t}\n\n\tasync resolveNameServiceAddress(input: ResolveNameServiceAddressParams): Promise<string | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_resolveNameServiceAddress',\n\t\t\tparams: [input.name],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync resolveNameServiceNames({\n\t\tformat = 'dot',\n\t\t...input\n\t}: ResolveNameServiceNamesParams & {\n\t\tformat?: 'at' | 'dot';\n\t}): Promise<ResolvedNameServiceNames> {\n\t\tconst { nextCursor, hasNextPage, data }: ResolvedNameServiceNames =\n\t\t\tawait this.transport.request({\n\t\t\t\tmethod: 'suix_resolveNameServiceNames',\n\t\t\t\tparams: [input.address, input.cursor, input.limit],\n\t\t\t\tsignal: input.signal,\n\t\t\t});\n\n\t\treturn {\n\t\t\thasNextPage,\n\t\t\tnextCursor,\n\t\t\tdata: data.map((name) => normalizeSuiNSName(name, format)),\n\t\t};\n\t}\n\n\tasync getProtocolConfig(input?: GetProtocolConfigParams): Promise<ProtocolConfig> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getProtocolConfig',\n\t\t\tparams: [input?.version],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\tasync verifyZkLoginSignature(input: VerifyZkLoginSignatureParams): Promise<ZkLoginVerifyResult> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_verifyZkLoginSignature',\n\t\t\tparams: [input.bytes, input.signature, input.intentScope, input.author],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Wait for a transaction block result to be available over the API.\n\t * This can be used in conjunction with `executeTransactionBlock` to wait for the transaction to\n\t * be available via the API.\n\t * This currently polls the `getTransactionBlock` API to check for the transaction.\n\t */\n\tasync waitForTransaction({\n\t\tsignal,\n\t\ttimeout = 60 * 1000,\n\t\tpollInterval = 2 * 1000,\n\t\t...input\n\t}: {\n\t\t/** An optional abort signal that can be used to cancel */\n\t\tsignal?: AbortSignal;\n\t\t/** The amount of time to wait for a transaction block. Defaults to one minute. */\n\t\ttimeout?: number;\n\t\t/** The amount of time to wait between checks for the transaction block. Defaults to 2 seconds. */\n\t\tpollInterval?: number;\n\t} & Parameters<\n\t\tSuiJsonRpcClient['getTransactionBlock']\n\t>[0]): Promise<SuiTransactionBlockResponse> {\n\t\tconst timeoutSignal = AbortSignal.timeout(timeout);\n\t\tconst timeoutPromise = new Promise((_, reject) => {\n\t\t\ttimeoutSignal.addEventListener('abort', () => reject(timeoutSignal.reason));\n\t\t});\n\n\t\ttimeoutPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\twhile (!timeoutSignal.aborted) {\n\t\t\tsignal?.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransactionBlock(input);\n\t\t\t} catch {\n\t\t\t\t// Wait for either the next poll interval, or the timeout.\n\t\t\t\tawait Promise.race([\n\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, pollInterval)),\n\t\t\t\t\ttimeoutPromise,\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\n\t\ttimeoutSignal.throwIfAborted();\n\n\t\t// This should never happen, because the above case should always throw, but just adding it in the event that something goes horribly wrong.\n\t\tthrow new Error('Unexpected error while waiting for transaction block.');\n\t}\n\n\texperimental_asClientExtension(this: SuiJsonRpcClient) {\n\t\treturn {\n\t\t\tname: 'jsonRPC',\n\t\t\tregister: () => {\n\t\t\t\treturn this;\n\t\t\t},\n\t\t} as const;\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Experimental_CoreClient } from '../core.js';
|
|
3
|
-
import type { Experimental_SuiClientTypes } from '../types.js';
|
|
4
|
-
import {
|
|
5
|
-
export declare class
|
|
1
|
+
import { TransactionDataBuilder } from '../transactions/TransactionData.js';
|
|
2
|
+
import { Experimental_CoreClient } from '../experimental/core.js';
|
|
3
|
+
import type { Experimental_SuiClientTypes } from '../experimental/types.js';
|
|
4
|
+
import type { SuiJsonRpcClient } from './client.js';
|
|
5
|
+
export declare class JSONRpcCoreClient extends Experimental_CoreClient {
|
|
6
6
|
#private;
|
|
7
7
|
constructor({ jsonRpcClient, mvr, }: {
|
|
8
|
-
jsonRpcClient:
|
|
8
|
+
jsonRpcClient: SuiJsonRpcClient;
|
|
9
9
|
mvr?: Experimental_SuiClientTypes.MvrOptions;
|
|
10
10
|
});
|
|
11
11
|
getObjects(options: Experimental_SuiClientTypes.GetObjectsOptions): Promise<{
|
|
@@ -88,6 +88,6 @@ export declare class JSONRpcTransport extends Experimental_CoreClient {
|
|
|
88
88
|
errors: string[];
|
|
89
89
|
}>;
|
|
90
90
|
resolveNameServiceNames(options: Experimental_SuiClientTypes.ResolveNameServiceNamesOptions): Promise<Experimental_SuiClientTypes.ResolveNameServiceNamesResponse>;
|
|
91
|
-
resolveTransactionPlugin(): (transactionData: TransactionDataBuilder, options: import("
|
|
91
|
+
resolveTransactionPlugin(): (transactionData: TransactionDataBuilder, options: import("../transactions/resolve.js").BuildTransactionOptions, next: () => Promise<void>) => Promise<void>;
|
|
92
92
|
getMoveFunction(options: Experimental_SuiClientTypes.GetMoveFunctionOptions): Promise<Experimental_SuiClientTypes.GetMoveFunctionResponse>;
|
|
93
93
|
}
|
|
@@ -7,16 +7,16 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
7
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
8
|
var _jsonRpcClient;
|
|
9
9
|
import { fromBase64 } from "@mysten/bcs";
|
|
10
|
-
import { bcs } from "
|
|
11
|
-
import { Transaction } from "
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { parseTransactionBcs, parseTransactionEffectsBcs } from "./utils.js";
|
|
15
|
-
import { suiClientResolveTransactionPlugin } from "./json-rpc-resolver.js";
|
|
16
|
-
import { TransactionDataBuilder } from "../../transactions/TransactionData.js";
|
|
10
|
+
import { bcs } from "../bcs/index.js";
|
|
11
|
+
import { Transaction } from "../transactions/Transaction.js";
|
|
12
|
+
import { jsonRpcClientResolveTransactionPlugin } from "./json-rpc-resolver.js";
|
|
13
|
+
import { TransactionDataBuilder } from "../transactions/TransactionData.js";
|
|
17
14
|
import { chunk } from "@mysten/utils";
|
|
18
|
-
import { normalizeSuiAddress } from "
|
|
19
|
-
|
|
15
|
+
import { normalizeSuiAddress } from "../utils/sui-types.js";
|
|
16
|
+
import { Experimental_CoreClient } from "../experimental/core.js";
|
|
17
|
+
import { ObjectError } from "../experimental/errors.js";
|
|
18
|
+
import { parseTransactionBcs, parseTransactionEffectsBcs } from "../experimental/index.js";
|
|
19
|
+
class JSONRpcCoreClient extends Experimental_CoreClient {
|
|
20
20
|
constructor({
|
|
21
21
|
jsonRpcClient,
|
|
22
22
|
mvr
|
|
@@ -244,7 +244,7 @@ class JSONRpcTransport extends Experimental_CoreClient {
|
|
|
244
244
|
return __privateGet(this, _jsonRpcClient).resolveNameServiceNames(options);
|
|
245
245
|
}
|
|
246
246
|
resolveTransactionPlugin() {
|
|
247
|
-
return
|
|
247
|
+
return jsonRpcClientResolveTransactionPlugin(__privateGet(this, _jsonRpcClient));
|
|
248
248
|
}
|
|
249
249
|
async getMoveFunction(options) {
|
|
250
250
|
const result = await __privateGet(this, _jsonRpcClient).getNormalizedMoveFunction({
|
|
@@ -614,6 +614,6 @@ function parseVisibility(visibility) {
|
|
|
614
614
|
}
|
|
615
615
|
}
|
|
616
616
|
export {
|
|
617
|
-
|
|
617
|
+
JSONRpcCoreClient
|
|
618
618
|
};
|
|
619
|
-
//# sourceMappingURL=
|
|
619
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/jsonRpc/core.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\n\nimport { bcs } from '../bcs/index.js';\nimport type {\n\tObjectOwner,\n\tSuiMoveAbilitySet,\n\tSuiMoveNormalizedType,\n\tSuiMoveVisibility,\n\tSuiObjectChange,\n\tSuiObjectData,\n\tSuiTransactionBlockResponse,\n\tTransactionEffects,\n} from './types/index.js';\nimport { Transaction } from '../transactions/Transaction.js';\nimport { jsonRpcClientResolveTransactionPlugin } from './json-rpc-resolver.js';\nimport { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport { Experimental_CoreClient } from '../experimental/core.js';\nimport type { Experimental_SuiClientTypes } from '../experimental/types.js';\nimport { ObjectError } from '../experimental/errors.js';\nimport { parseTransactionBcs, parseTransactionEffectsBcs } from '../experimental/index.js';\nimport type { SuiJsonRpcClient } from './client.js';\n\nexport class JSONRpcCoreClient extends Experimental_CoreClient {\n\t#jsonRpcClient: SuiJsonRpcClient;\n\n\tconstructor({\n\t\tjsonRpcClient,\n\t\tmvr,\n\t}: {\n\t\tjsonRpcClient: SuiJsonRpcClient;\n\t\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: jsonRpcClient.network, base: jsonRpcClient, mvr });\n\t\tthis.#jsonRpcClient = jsonRpcClient;\n\t}\n\n\tasync getObjects(options: Experimental_SuiClientTypes.GetObjectsOptions) {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: Experimental_SuiClientTypes.GetObjectsResponse['objects'] = [];\n\n\t\tfor (const batch of batches) {\n\t\t\tconst objects = await this.#jsonRpcClient.multiGetObjects({\n\t\t\t\tids: batch,\n\t\t\t\toptions: {\n\t\t\t\t\tshowOwner: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t\tshowBcs: true,\n\t\t\t\t\tshowPreviousTransaction: true,\n\t\t\t\t},\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\n\t\t\tfor (const [idx, object] of objects.entries()) {\n\t\t\t\tif (object.error) {\n\t\t\t\t\tresults.push(ObjectError.fromResponse(object.error, batch[idx]));\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(parseObject(object.data!));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync getOwnedObjects(options: Experimental_SuiClientTypes.GetOwnedObjectsOptions) {\n\t\tconst objects = await this.#jsonRpcClient.getOwnedObjects({\n\t\t\towner: options.address,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\toptions: {\n\t\t\t\tshowOwner: true,\n\t\t\t\tshowType: true,\n\t\t\t\tshowBcs: true,\n\t\t\t\tshowPreviousTransaction: true,\n\t\t\t},\n\t\t\tfilter: options.type ? { StructType: options.type } : null,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: objects.data.map((result) => {\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthrow ObjectError.fromResponse(result.error);\n\t\t\t\t}\n\n\t\t\t\treturn parseObject(result.data!);\n\t\t\t}),\n\t\t\thasNextPage: objects.hasNextPage,\n\t\t\tcursor: objects.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getCoins(options: Experimental_SuiClientTypes.GetCoinsOptions) {\n\t\tconst coins = await this.#jsonRpcClient.getCoins({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: coins.data.map((coin) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\tversion: coin.version,\n\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\tbalance: coin.balance,\n\t\t\t\t\ttype: `0x2::coin::Coin<${coin.coinType}>`,\n\t\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\t\tCoin.serialize({\n\t\t\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\t\t\tbalance: {\n\t\t\t\t\t\t\t\tvalue: coin.balance,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}).toBytes(),\n\t\t\t\t\t),\n\t\t\t\t\towner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: options.address,\n\t\t\t\t\t},\n\t\t\t\t\tpreviousTransaction: coin.previousTransaction,\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: coins.hasNextPage,\n\t\t\tcursor: coins.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getBalance(options: Experimental_SuiClientTypes.GetBalanceOptions) {\n\t\tconst balance = await this.#jsonRpcClient.getBalance({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t},\n\t\t};\n\t}\n\tasync getAllBalances(options: Experimental_SuiClientTypes.GetAllBalancesOptions) {\n\t\tconst balances = await this.#jsonRpcClient.getAllBalances({\n\t\t\towner: options.address,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalances: balances.map((balance) => ({\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t})),\n\t\t\thasNextPage: false,\n\t\t\tcursor: null,\n\t\t};\n\t}\n\tasync getTransaction(options: Experimental_SuiClientTypes.GetTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.getTransactionBlock({\n\t\t\tdigest: options.digest,\n\t\t\toptions: {\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowBalanceChanges: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync executeTransaction(options: Experimental_SuiClientTypes.ExecuteTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.executeTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignature: options.signatures,\n\t\t\toptions: {\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowBalanceChanges: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync dryRunTransaction(options: Experimental_SuiClientTypes.DryRunTransactionOptions) {\n\t\tconst tx = Transaction.from(options.transaction);\n\t\tconst result = await this.#jsonRpcClient.dryRunTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst { effects, objectTypes } = parseTransactionEffectsJson({\n\t\t\teffects: result.effects,\n\t\t\tobjectChanges: result.objectChanges,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: {\n\t\t\t\tdigest: await tx.getDigest(),\n\t\t\t\tepoch: null,\n\t\t\t\teffects,\n\t\t\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\t\t\tsignatures: [],\n\t\t\t\ttransaction: parseTransactionBcs(options.transaction),\n\t\t\t\tbalanceChanges: result.balanceChanges.map((change) => ({\n\t\t\t\t\tcoinType: change.coinType,\n\t\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\t\tamount: change.amount,\n\t\t\t\t})),\n\t\t\t},\n\t\t};\n\t}\n\tasync getReferenceGasPrice(options?: Experimental_SuiClientTypes.GetReferenceGasPriceOptions) {\n\t\tconst referenceGasPrice = await this.#jsonRpcClient.getReferenceGasPrice({\n\t\t\tsignal: options?.signal,\n\t\t});\n\t\treturn {\n\t\t\treferenceGasPrice: String(referenceGasPrice),\n\t\t};\n\t}\n\n\tasync getDynamicFields(options: Experimental_SuiClientTypes.GetDynamicFieldsOptions) {\n\t\tconst dynamicFields = await this.#jsonRpcClient.getDynamicFields({\n\t\t\tparentId: options.parentId,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t});\n\n\t\treturn {\n\t\t\tdynamicFields: dynamicFields.data.map((dynamicField) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: dynamicField.objectId,\n\t\t\t\t\ttype: dynamicField.objectType,\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name.type,\n\t\t\t\t\t\tbcs: fromBase64(dynamicField.bcsName),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: dynamicFields.hasNextPage,\n\t\t\tcursor: dynamicFields.nextCursor,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(options: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions) {\n\t\tconst result = await this.#jsonRpcClient.verifyZkLoginSignature({\n\t\t\tbytes: options.bytes,\n\t\t\tsignature: options.signature,\n\t\t\tintentScope: options.intentScope,\n\t\t\tauthor: options.author,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors,\n\t\t};\n\t}\n\n\tresolveNameServiceNames(\n\t\toptions: Experimental_SuiClientTypes.ResolveNameServiceNamesOptions,\n\t): Promise<Experimental_SuiClientTypes.ResolveNameServiceNamesResponse> {\n\t\treturn this.#jsonRpcClient.resolveNameServiceNames(options);\n\t}\n\n\tresolveTransactionPlugin() {\n\t\treturn jsonRpcClientResolveTransactionPlugin(this.#jsonRpcClient);\n\t}\n\n\tasync getMoveFunction(\n\t\toptions: Experimental_SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetMoveFunctionResponse> {\n\t\tconst result = await this.#jsonRpcClient.getNormalizedMoveFunction({\n\t\t\tpackage: (await this.mvr.resolvePackage({ package: options.packageId })).package,\n\t\t\tmodule: options.moduleName,\n\t\t\tfunction: options.name,\n\t\t});\n\n\t\treturn {\n\t\t\tfunction: {\n\t\t\t\tpackageId: normalizeSuiAddress(options.packageId),\n\t\t\t\tmoduleName: options.moduleName,\n\t\t\t\tname: options.name,\n\t\t\t\tvisibility: parseVisibility(result.visibility),\n\t\t\t\tisEntry: result.isEntry,\n\t\t\t\ttypeParameters: result.typeParameters.map((abilities) => ({\n\t\t\t\t\tisPhantom: false,\n\t\t\t\t\tconstraints: parseAbilities(abilities),\n\t\t\t\t})),\n\t\t\t\tparameters: result.parameters.map((param) => parseNormalizedSuiMoveType(param)),\n\t\t\t\treturns: result.return.map((ret) => parseNormalizedSuiMoveType(ret)),\n\t\t\t},\n\t\t};\n\t}\n}\n\nfunction parseObject(object: SuiObjectData): Experimental_SuiClientTypes.ObjectResponse {\n\treturn {\n\t\tid: object.objectId,\n\t\tversion: object.version,\n\t\tdigest: object.digest,\n\t\ttype: object.type!,\n\t\tcontent: Promise.resolve(\n\t\t\tobject.bcs?.dataType === 'moveObject' ? fromBase64(object.bcs.bcsBytes) : new Uint8Array(),\n\t\t),\n\t\towner: parseOwner(object.owner!),\n\t\tpreviousTransaction: object.previousTransaction ?? null,\n\t};\n}\n\nfunction parseOwner(owner: ObjectOwner): Experimental_SuiClientTypes.ObjectOwner {\n\tif (owner === 'Immutable') {\n\t\treturn {\n\t\t\t$kind: 'Immutable',\n\t\t\tImmutable: true,\n\t\t};\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\tConsensusAddressOwner: {\n\t\t\t\towner: owner.ConsensusAddressOwner.owner,\n\t\t\t\tstartVersion: owner.ConsensusAddressOwner.start_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'AddressOwner',\n\t\t\tAddressOwner: owner.AddressOwner,\n\t\t};\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ObjectOwner',\n\t\t\tObjectOwner: owner.ObjectOwner,\n\t\t};\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn {\n\t\t\t$kind: 'Shared',\n\t\t\tShared: {\n\t\t\t\tinitialSharedVersion: owner.Shared.initial_shared_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseOwnerAddress(owner: ObjectOwner): string | null {\n\tif (owner === 'Immutable') {\n\t\treturn null;\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn owner.ConsensusAddressOwner.owner;\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn owner.AddressOwner;\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn owner.ObjectOwner;\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn null;\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseTransaction(\n\ttransaction: SuiTransactionBlockResponse,\n): Experimental_SuiClientTypes.TransactionResponse {\n\tconst parsedTx = bcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction!))[0];\n\tconst objectTypes: Record<string, string> = {};\n\n\ttransaction.objectChanges?.forEach((change) => {\n\t\tif (change.type !== 'published') {\n\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t}\n\t});\n\n\tconst bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\n\tconst data = TransactionDataBuilder.restore({\n\t\tversion: 2,\n\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,\n\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,\n\t});\n\n\treturn {\n\t\tdigest: transaction.digest,\n\t\tepoch: transaction.effects?.executedEpoch ?? null,\n\t\teffects: parseTransactionEffectsBcs(new Uint8Array(transaction.rawEffects!)),\n\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\ttransaction: {\n\t\t\t...data,\n\t\t\tbcs: bytes,\n\t\t},\n\t\tsignatures: parsedTx.txSignatures,\n\t\tbalanceChanges:\n\t\t\ttransaction.balanceChanges?.map((change) => ({\n\t\t\t\tcoinType: change.coinType,\n\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\tamount: change.amount,\n\t\t\t})) ?? [],\n\t};\n}\n\nfunction parseTransactionEffectsJson({\n\tbytes,\n\teffects,\n\tobjectChanges,\n}: {\n\tbytes?: Uint8Array;\n\teffects: TransactionEffects;\n\tobjectChanges: SuiObjectChange[] | null;\n}): {\n\teffects: Experimental_SuiClientTypes.TransactionEffects;\n\tobjectTypes: Record<string, string>;\n} {\n\tconst changedObjects: Experimental_SuiClientTypes.ChangedObject[] = [];\n\tconst unchangedConsensusObjects: Experimental_SuiClientTypes.UnchangedConsensusObject[] = [];\n\tconst objectTypes: Record<string, string> = {};\n\n\tobjectChanges?.forEach((change) => {\n\t\tswitch (change.type) {\n\t\t\tcase 'published':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.packageId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'PackageWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'transferred':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: change.digest,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.recipient),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'mutated':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.previousVersion,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: parseOwner(change.owner),\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'deleted':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: effects.deleted?.find((d) => d.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'DoesNotExist',\n\t\t\t\t\toutputVersion: null,\n\t\t\t\t\toutputDigest: null,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Deleted',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'wrapped':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest:\n\t\t\t\t\t\teffects.wrapped?.find((w) => w.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\toutputOwner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'created':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\treturn {\n\t\tobjectTypes,\n\t\teffects: {\n\t\t\tbcs: bytes ?? null,\n\t\t\tdigest: effects.transactionDigest,\n\t\t\tversion: 2,\n\t\t\tstatus:\n\t\t\t\teffects.status.status === 'success'\n\t\t\t\t\t? { success: true, error: null }\n\t\t\t\t\t: { success: false, error: effects.status.error! },\n\t\t\tgasUsed: effects.gasUsed,\n\t\t\ttransactionDigest: effects.transactionDigest,\n\t\t\tgasObject: {\n\t\t\t\tid: effects.gasObject?.reference.objectId,\n\t\t\t\tinputState: 'Exists',\n\t\t\t\tinputVersion: null,\n\t\t\t\tinputDigest: null,\n\t\t\t\tinputOwner: null,\n\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\toutputVersion: effects.gasObject.reference.version,\n\t\t\t\toutputDigest: effects.gasObject.reference.digest,\n\t\t\t\toutputOwner: parseOwner(effects.gasObject.owner),\n\t\t\t\tidOperation: 'None',\n\t\t\t},\n\t\t\teventsDigest: effects.eventsDigest ?? null,\n\t\t\tdependencies: effects.dependencies ?? [],\n\t\t\tlamportVersion: effects.gasObject.reference.version,\n\t\t\tchangedObjects,\n\t\t\tunchangedConsensusObjects,\n\t\t\tauxiliaryDataDigest: null,\n\t\t},\n\t};\n}\n\nconst Balance = bcs.struct('Balance', {\n\tvalue: bcs.u64(),\n});\n\nconst Coin = bcs.struct('Coin', {\n\tid: bcs.Address,\n\tbalance: Balance,\n});\n\nfunction parseNormalizedSuiMoveType(\n\ttype: SuiMoveNormalizedType,\n): Experimental_SuiClientTypes.OpenSignature {\n\tif (typeof type !== 'string') {\n\t\tif ('Reference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'immutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.Reference),\n\t\t\t};\n\t\t}\n\n\t\tif ('MutableReference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'mutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.MutableReference),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn {\n\t\treference: null,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type),\n\t};\n}\n\nfunction parseNormalizedSuiMoveTypeBody(\n\ttype: SuiMoveNormalizedType,\n): Experimental_SuiClientTypes.OpenSignatureBody {\n\tswitch (type) {\n\t\tcase 'Address':\n\t\t\treturn { $kind: 'address' };\n\t\tcase 'Bool':\n\t\t\treturn { $kind: 'bool' };\n\t\tcase 'U8':\n\t\t\treturn { $kind: 'u8' };\n\t\tcase 'U16':\n\t\t\treturn { $kind: 'u16' };\n\t\tcase 'U32':\n\t\t\treturn { $kind: 'u32' };\n\t\tcase 'U64':\n\t\t\treturn { $kind: 'u64' };\n\t\tcase 'U128':\n\t\t\treturn { $kind: 'u128' };\n\t\tcase 'U256':\n\t\t\treturn { $kind: 'u256' };\n\t}\n\n\tif (typeof type === 'string') {\n\t\tthrow new Error(`Unknown type: ${type}`);\n\t}\n\n\tif ('Vector' in type) {\n\t\treturn {\n\t\t\t$kind: 'vector',\n\t\t\tvector: parseNormalizedSuiMoveTypeBody(type.Vector),\n\t\t};\n\t}\n\n\tif ('Struct' in type) {\n\t\treturn {\n\t\t\t$kind: 'datatype',\n\t\t\tdatatype: {\n\t\t\t\ttypeName: `${normalizeSuiAddress(type.Struct.address)}::${type.Struct.module}::${type.Struct.name}`,\n\t\t\t\ttypeParameters: type.Struct.typeArguments.map((t) => parseNormalizedSuiMoveTypeBody(t)),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('TypeParameter' in type) {\n\t\treturn {\n\t\t\t$kind: 'typeParameter',\n\t\t\tindex: type.TypeParameter,\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown type: ${JSON.stringify(type)}`);\n}\n\nfunction parseAbilities(abilitySet: SuiMoveAbilitySet): Experimental_SuiClientTypes.Ability[] {\n\treturn abilitySet.abilities.map((ability) => {\n\t\tswitch (ability) {\n\t\t\tcase 'Copy':\n\t\t\t\treturn 'copy';\n\t\t\tcase 'Drop':\n\t\t\t\treturn 'drop';\n\t\t\tcase 'Store':\n\t\t\t\treturn 'store';\n\t\t\tcase 'Key':\n\t\t\t\treturn 'key';\n\t\t\tdefault:\n\t\t\t\treturn 'unknown';\n\t\t}\n\t});\n}\n\nfunction parseVisibility(visibility: SuiMoveVisibility): Experimental_SuiClientTypes.Visibility {\n\tswitch (visibility) {\n\t\tcase 'Public':\n\t\t\treturn 'public';\n\t\tcase 'Private':\n\t\t\treturn 'private';\n\t\tcase 'Friend':\n\t\t\treturn 'friend';\n\t\tdefault:\n\t\t\treturn 'unknown';\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/
|
|
3
|
+
"sources": ["../../../src/jsonRpc/errors.ts"],
|
|
4
4
|
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nconst CODE_TO_ERROR_TYPE: Record<number, string> = {\n\t'-32700': 'ParseError',\n\t'-32701': 'OversizedRequest',\n\t'-32702': 'OversizedResponse',\n\t'-32600': 'InvalidRequest',\n\t'-32601': 'MethodNotFound',\n\t'-32602': 'InvalidParams',\n\t'-32603': 'InternalError',\n\t'-32604': 'ServerBusy',\n\t'-32000': 'CallExecutionFailed',\n\t'-32001': 'UnknownError',\n\t'-32003': 'SubscriptionClosed',\n\t'-32004': 'SubscriptionClosedWithError',\n\t'-32005': 'BatchesNotSupported',\n\t'-32006': 'TooManySubscriptions',\n\t'-32050': 'TransientError',\n\t'-32002': 'TransactionExecutionClientError',\n};\n\nexport class SuiHTTPTransportError extends Error {}\n\nexport class JsonRpcError extends SuiHTTPTransportError {\n\tcode: number;\n\ttype: string;\n\n\tconstructor(message: string, code: number) {\n\t\tsuper(message);\n\t\tthis.code = code;\n\t\tthis.type = CODE_TO_ERROR_TYPE[code] ?? 'ServerError';\n\t}\n}\n\nexport class SuiHTTPStatusError extends SuiHTTPTransportError {\n\tstatus: number;\n\tstatusText: string;\n\n\tconstructor(message: string, status: number, statusText: string) {\n\t\tsuper(message);\n\t\tthis.status = status;\n\t\tthis.statusText = statusText;\n\t}\n}\n"],
|
|
5
5
|
"mappings": "AAGA,MAAM,qBAA6C;AAAA,EAClD,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AACX;AAEO,MAAM,8BAA8B,MAAM;AAAC;AAE3C,MAAM,qBAAqB,sBAAsB;AAAA,EAIvD,YAAY,SAAiB,MAAc;AAC1C,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,OAAO,mBAAmB,IAAI,KAAK;AAAA,EACzC;AACD;AAEO,MAAM,2BAA2B,sBAAsB;AAAA,EAI7D,YAAY,SAAiB,QAAgB,YAAoB;AAChE,UAAM,OAAO;AACb,SAAK,SAAS;AACd,SAAK,aAAa;AAAA,EACnB;AACD;",
|
|
6
6
|
"names": []
|
|
@@ -5,7 +5,7 @@ import type { WebsocketClientOptions } from './rpc-websocket-client.js';
|
|
|
5
5
|
export type HttpHeaders = {
|
|
6
6
|
[header: string]: string;
|
|
7
7
|
};
|
|
8
|
-
export interface
|
|
8
|
+
export interface JsonRpcHTTPTransportOptions {
|
|
9
9
|
fetch?: typeof fetch;
|
|
10
10
|
WebSocketConstructor?: typeof WebSocket;
|
|
11
11
|
url: string;
|
|
@@ -17,26 +17,26 @@ export interface SuiHTTPTransportOptions {
|
|
|
17
17
|
url?: string;
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
export interface
|
|
20
|
+
export interface JsonRpcTransportRequestOptions {
|
|
21
21
|
method: string;
|
|
22
22
|
params: unknown[];
|
|
23
23
|
signal?: AbortSignal;
|
|
24
24
|
}
|
|
25
|
-
export interface
|
|
25
|
+
export interface JsonRpcTransportSubscribeOptions<T> {
|
|
26
26
|
method: string;
|
|
27
27
|
unsubscribe: string;
|
|
28
28
|
params: unknown[];
|
|
29
29
|
onMessage: (event: T) => void;
|
|
30
30
|
signal?: AbortSignal;
|
|
31
31
|
}
|
|
32
|
-
export interface
|
|
33
|
-
request<T = unknown>(input:
|
|
34
|
-
subscribe<T = unknown>(input:
|
|
32
|
+
export interface JsonRpcTransport {
|
|
33
|
+
request<T = unknown>(input: JsonRpcTransportRequestOptions): Promise<T>;
|
|
34
|
+
subscribe<T = unknown>(input: JsonRpcTransportSubscribeOptions<T>): Promise<() => Promise<boolean>>;
|
|
35
35
|
}
|
|
36
|
-
export declare class
|
|
36
|
+
export declare class JsonRpcHTTPTransport implements JsonRpcTransport {
|
|
37
37
|
#private;
|
|
38
|
-
constructor(options:
|
|
38
|
+
constructor(options: JsonRpcHTTPTransportOptions);
|
|
39
39
|
fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
40
|
-
request<T>(input:
|
|
41
|
-
subscribe<T>(input:
|
|
40
|
+
request<T>(input: JsonRpcTransportRequestOptions): Promise<T>;
|
|
41
|
+
subscribe<T>(input: JsonRpcTransportSubscribeOptions<T>): Promise<() => Promise<boolean>>;
|
|
42
42
|
}
|
|
@@ -6,13 +6,13 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
6
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
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
8
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
9
|
-
var _requestId, _options, _websocketClient,
|
|
9
|
+
var _requestId, _options, _websocketClient, _JsonRpcHTTPTransport_instances, getWebsocketClient_fn;
|
|
10
10
|
import { PACKAGE_VERSION, TARGETED_RPC_VERSION } from "../version.js";
|
|
11
11
|
import { JsonRpcError, SuiHTTPStatusError } from "./errors.js";
|
|
12
12
|
import { WebsocketClient } from "./rpc-websocket-client.js";
|
|
13
|
-
class
|
|
13
|
+
class JsonRpcHTTPTransport {
|
|
14
14
|
constructor(options) {
|
|
15
|
-
__privateAdd(this,
|
|
15
|
+
__privateAdd(this, _JsonRpcHTTPTransport_instances);
|
|
16
16
|
__privateAdd(this, _requestId, 0);
|
|
17
17
|
__privateAdd(this, _options);
|
|
18
18
|
__privateAdd(this, _websocketClient);
|
|
@@ -61,7 +61,7 @@ class SuiHTTPTransport {
|
|
|
61
61
|
return data.result;
|
|
62
62
|
}
|
|
63
63
|
async subscribe(input) {
|
|
64
|
-
const unsubscribe = await __privateMethod(this,
|
|
64
|
+
const unsubscribe = await __privateMethod(this, _JsonRpcHTTPTransport_instances, getWebsocketClient_fn).call(this).subscribe(input);
|
|
65
65
|
if (input.signal) {
|
|
66
66
|
input.signal.throwIfAborted();
|
|
67
67
|
input.signal.addEventListener("abort", () => {
|
|
@@ -74,7 +74,7 @@ class SuiHTTPTransport {
|
|
|
74
74
|
_requestId = new WeakMap();
|
|
75
75
|
_options = new WeakMap();
|
|
76
76
|
_websocketClient = new WeakMap();
|
|
77
|
-
|
|
77
|
+
_JsonRpcHTTPTransport_instances = new WeakSet();
|
|
78
78
|
getWebsocketClient_fn = function() {
|
|
79
79
|
if (!__privateGet(this, _websocketClient)) {
|
|
80
80
|
const WebSocketConstructor = __privateGet(this, _options).WebSocketConstructor ?? WebSocket;
|
|
@@ -94,6 +94,6 @@ getWebsocketClient_fn = function() {
|
|
|
94
94
|
return __privateGet(this, _websocketClient);
|
|
95
95
|
};
|
|
96
96
|
export {
|
|
97
|
-
|
|
97
|
+
JsonRpcHTTPTransport
|
|
98
98
|
};
|
|
99
99
|
//# sourceMappingURL=http-transport.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/jsonRpc/http-transport.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { PACKAGE_VERSION, TARGETED_RPC_VERSION } from '../version.js';\nimport { JsonRpcError, SuiHTTPStatusError } from './errors.js';\nimport type { WebsocketClientOptions } from './rpc-websocket-client.js';\nimport { WebsocketClient } from './rpc-websocket-client.js';\n\n/**\n * An object defining headers to be passed to the RPC server\n */\nexport type HttpHeaders = { [header: string]: string };\n\nexport interface JsonRpcHTTPTransportOptions {\n\tfetch?: typeof fetch;\n\tWebSocketConstructor?: typeof WebSocket;\n\turl: string;\n\trpc?: {\n\t\theaders?: HttpHeaders;\n\t\turl?: string;\n\t};\n\twebsocket?: WebsocketClientOptions & {\n\t\turl?: string;\n\t};\n}\n\nexport interface JsonRpcTransportRequestOptions {\n\tmethod: string;\n\tparams: unknown[];\n\tsignal?: AbortSignal;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\n\nexport interface JsonRpcTransportSubscribeOptions<T> {\n\tmethod: string;\n\tunsubscribe: string;\n\tparams: unknown[];\n\tonMessage: (event: T) => void;\n\tsignal?: AbortSignal;\n}\n\nexport interface JsonRpcTransport {\n\trequest<T = unknown>(input: JsonRpcTransportRequestOptions): Promise<T>;\n\tsubscribe<T = unknown>(\n\t\tinput: JsonRpcTransportSubscribeOptions<T>,\n\t): Promise<() => Promise<boolean>>;\n}\n\nexport class JsonRpcHTTPTransport implements JsonRpcTransport {\n\t#requestId = 0;\n\t#options: JsonRpcHTTPTransportOptions;\n\t#websocketClient?: WebsocketClient;\n\n\tconstructor(options: JsonRpcHTTPTransportOptions) {\n\t\tthis.#options = options;\n\t}\n\n\tfetch(input: RequestInfo, init?: RequestInit): Promise<Response> {\n\t\tconst fetchFn = this.#options.fetch ?? fetch;\n\n\t\tif (!fetchFn) {\n\t\t\tthrow new Error(\n\t\t\t\t'The current environment does not support fetch, you can provide a fetch implementation in the options for SuiHTTPTransport.',\n\t\t\t);\n\t\t}\n\n\t\treturn fetchFn(input, init);\n\t}\n\n\t#getWebsocketClient(): WebsocketClient {\n\t\tif (!this.#websocketClient) {\n\t\t\tconst WebSocketConstructor = this.#options.WebSocketConstructor ?? WebSocket;\n\t\t\tif (!WebSocketConstructor) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'The current environment does not support WebSocket, you can provide a WebSocketConstructor in the options for SuiHTTPTransport.',\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.#websocketClient = new WebsocketClient(\n\t\t\t\tthis.#options.websocket?.url ?? this.#options.url,\n\t\t\t\t{\n\t\t\t\t\tWebSocketConstructor,\n\t\t\t\t\t...this.#options.websocket,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\treturn this.#websocketClient;\n\t}\n\n\tasync request<T>(input: JsonRpcTransportRequestOptions): Promise<T> {\n\t\tthis.#requestId += 1;\n\n\t\tconst res = await this.fetch(this.#options.rpc?.url ?? this.#options.url, {\n\t\t\tmethod: 'POST',\n\t\t\tsignal: input.signal,\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t'Client-Sdk-Type': 'typescript',\n\t\t\t\t'Client-Sdk-Version': PACKAGE_VERSION,\n\t\t\t\t'Client-Target-Api-Version': TARGETED_RPC_VERSION,\n\t\t\t\t'Client-Request-Method': input.method,\n\t\t\t\t...this.#options.rpc?.headers,\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tjsonrpc: '2.0',\n\t\t\t\tid: this.#requestId,\n\t\t\t\tmethod: input.method,\n\t\t\t\tparams: input.params,\n\t\t\t}),\n\t\t});\n\n\t\tif (!res.ok) {\n\t\t\tthrow new SuiHTTPStatusError(\n\t\t\t\t`Unexpected status code: ${res.status}`,\n\t\t\t\tres.status,\n\t\t\t\tres.statusText,\n\t\t\t);\n\t\t}\n\n\t\tconst data = await res.json();\n\n\t\tif ('error' in data && data.error != null) {\n\t\t\tthrow new JsonRpcError(data.error.message, data.error.code);\n\t\t}\n\n\t\treturn data.result;\n\t}\n\n\tasync subscribe<T>(input: JsonRpcTransportSubscribeOptions<T>): Promise<() => Promise<boolean>> {\n\t\tconst unsubscribe = await this.#getWebsocketClient().subscribe(input);\n\n\t\tif (input.signal) {\n\t\t\tinput.signal.throwIfAborted();\n\t\t\tinput.signal.addEventListener('abort', () => {\n\t\t\t\tunsubscribe();\n\t\t\t});\n\t\t}\n\n\t\treturn async () => !!(await unsubscribe());\n\t}\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AAAA;AAGA,SAAS,iBAAiB,4BAA4B;AACtD,SAAS,cAAc,0BAA0B;AAEjD,SAAS,uBAAuB;AA2CzB,MAAM,qBAAiD;AAAA,EAK7D,YAAY,SAAsC;AAL5C;AACN,mCAAa;AACb;AACA;AAGC,uBAAK,UAAW;AAAA,EACjB;AAAA,EAEA,MAAM,OAAoB,MAAuC;AAChE,UAAM,UAAU,mBAAK,UAAS,SAAS;AAEvC,QAAI,CAAC,SAAS;AACb,YAAM,IAAI;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAEA,WAAO,QAAQ,OAAO,IAAI;AAAA,EAC3B;AAAA,EAuBA,MAAM,QAAW,OAAmD;AACnE,uBAAK,YAAL,mBAAK,cAAc;AAEnB,UAAM,MAAM,MAAM,KAAK,MAAM,mBAAK,UAAS,KAAK,OAAO,mBAAK,UAAS,KAAK;AAAA,MACzE,QAAQ;AAAA,MACR,QAAQ,MAAM;AAAA,MACd,SAAS;AAAA,QACR,gBAAgB;AAAA,QAChB,mBAAmB;AAAA,QACnB,sBAAsB;AAAA,QACtB,6BAA6B;AAAA,QAC7B,yBAAyB,MAAM;AAAA,QAC/B,GAAG,mBAAK,UAAS,KAAK;AAAA,MACvB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACpB,SAAS;AAAA,QACT,IAAI,mBAAK;AAAA,QACT,QAAQ,MAAM;AAAA,QACd,QAAQ,MAAM;AAAA,MACf,CAAC;AAAA,IACF,CAAC;AAED,QAAI,CAAC,IAAI,IAAI;AACZ,YAAM,IAAI;AAAA,QACT,2BAA2B,IAAI,MAAM;AAAA,QACrC,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,IACD;AAEA,UAAM,OAAO,MAAM,IAAI,KAAK;AAE5B,QAAI,WAAW,QAAQ,KAAK,SAAS,MAAM;AAC1C,YAAM,IAAI,aAAa,KAAK,MAAM,SAAS,KAAK,MAAM,IAAI;AAAA,IAC3D;AAEA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,MAAM,UAAa,OAA6E;AAC/F,UAAM,cAAc,MAAM,sBAAK,wDAAL,WAA2B,UAAU,KAAK;AAEpE,QAAI,MAAM,QAAQ;AACjB,YAAM,OAAO,eAAe;AAC5B,YAAM,OAAO,iBAAiB,SAAS,MAAM;AAC5C,oBAAY;AAAA,MACb,CAAC;AAAA,IACF;AAEA,WAAO,YAAY,CAAC,CAAE,MAAM,YAAY;AAAA,EACzC;AACD;AA5FC;AACA;AACA;AAHM;AAqBN,wBAAmB,WAAoB;AACtC,MAAI,CAAC,mBAAK,mBAAkB;AAC3B,UAAM,uBAAuB,mBAAK,UAAS,wBAAwB;AACnE,QAAI,CAAC,sBAAsB;AAC1B,YAAM,IAAI;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAEA,uBAAK,kBAAmB,IAAI;AAAA,MAC3B,mBAAK,UAAS,WAAW,OAAO,mBAAK,UAAS;AAAA,MAC9C;AAAA,QACC;AAAA,QACA,GAAG,mBAAK,UAAS;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAEA,SAAO,mBAAK;AACb;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { type JsonRpcTransport, type JsonRpcTransportRequestOptions, type JsonRpcTransportSubscribeOptions, type HttpHeaders, type JsonRpcHTTPTransportOptions, JsonRpcHTTPTransport, } from './http-transport.js';
|
|
2
|
+
export type * from './types/index.js';
|
|
3
|
+
export { type SuiJsonRpcClientOptions, type PaginationArguments, type OrderArguments, isSuiJsonRpcClient, SuiJsonRpcClient, } from './client.js';
|
|
4
|
+
export { SuiHTTPStatusError, SuiHTTPTransportError, JsonRpcError } from './errors.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
JsonRpcHTTPTransport
|
|
3
|
+
} from "./http-transport.js";
|
|
4
|
+
import {
|
|
5
|
+
isSuiJsonRpcClient,
|
|
6
|
+
SuiJsonRpcClient
|
|
7
|
+
} from "./client.js";
|
|
8
|
+
import { SuiHTTPStatusError, SuiHTTPTransportError, JsonRpcError } from "./errors.js";
|
|
9
|
+
export {
|
|
10
|
+
JsonRpcError,
|
|
11
|
+
JsonRpcHTTPTransport,
|
|
12
|
+
SuiHTTPStatusError,
|
|
13
|
+
SuiHTTPTransportError,
|
|
14
|
+
SuiJsonRpcClient,
|
|
15
|
+
isSuiJsonRpcClient
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/jsonRpc/index.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport {\n\ttype JsonRpcTransport,\n\ttype JsonRpcTransportRequestOptions,\n\ttype JsonRpcTransportSubscribeOptions,\n\ttype HttpHeaders,\n\ttype JsonRpcHTTPTransportOptions,\n\tJsonRpcHTTPTransport,\n} from './http-transport.js';\nexport type * from './types/index.js';\nexport {\n\ttype SuiJsonRpcClientOptions,\n\ttype PaginationArguments,\n\ttype OrderArguments,\n\tisSuiJsonRpcClient,\n\tSuiJsonRpcClient,\n} from './client.js';\nexport { SuiHTTPStatusError, SuiHTTPTransportError, JsonRpcError } from './errors.js';\n"],
|
|
5
|
+
"mappings": "AAGA;AAAA,EAMC;AAAA,OACM;AAEP;AAAA,EAIC;AAAA,EACA;AAAA,OACM;AACP,SAAS,oBAAoB,uBAAuB,oBAAoB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TransactionDataBuilder } from '../transactions/TransactionData.js';
|
|
2
|
+
import type { BuildTransactionOptions } from '../transactions/index.js';
|
|
3
|
+
import type { SuiJsonRpcClient } from './client.js';
|
|
4
|
+
export declare function jsonRpcClientResolveTransactionPlugin(client: SuiJsonRpcClient): (transactionData: TransactionDataBuilder, options: BuildTransactionOptions, next: () => Promise<void>) => Promise<void>;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { parse } from "valibot";
|
|
2
|
-
import { normalizeSuiAddress, normalizeSuiObjectId, SUI_TYPE_ARG } from "
|
|
3
|
-
import { ObjectRefSchema } from "
|
|
4
|
-
import { Inputs } from "
|
|
2
|
+
import { normalizeSuiAddress, normalizeSuiObjectId, SUI_TYPE_ARG } from "../utils/index.js";
|
|
3
|
+
import { ObjectRefSchema } from "../transactions/data/internal.js";
|
|
4
|
+
import { Inputs } from "../transactions/Inputs.js";
|
|
5
5
|
import {
|
|
6
6
|
getPureBcsSchema,
|
|
7
7
|
isTxContext,
|
|
8
8
|
normalizedTypeToMoveTypeSignature
|
|
9
|
-
} from "
|
|
9
|
+
} from "../transactions/serializer.js";
|
|
10
10
|
import { chunk } from "@mysten/utils";
|
|
11
11
|
const MAX_OBJECTS_PER_FETCH = 50;
|
|
12
12
|
const GAS_SAFE_OVERHEAD = 1000n;
|
|
13
13
|
const MAX_GAS = 5e10;
|
|
14
|
-
function
|
|
14
|
+
function jsonRpcClientResolveTransactionPlugin(client) {
|
|
15
15
|
return async function resolveTransactionData(transactionData, options, next) {
|
|
16
16
|
await normalizeInputs(transactionData, client);
|
|
17
17
|
await resolveObjectReferences(transactionData, client);
|
|
@@ -290,6 +290,6 @@ function isReceivingType(type) {
|
|
|
290
290
|
return type.body.datatype.package === "0x2" && type.body.datatype.module === "transfer" && type.body.datatype.type === "Receiving";
|
|
291
291
|
}
|
|
292
292
|
export {
|
|
293
|
-
|
|
293
|
+
jsonRpcClientResolveTransactionPlugin
|
|
294
294
|
};
|
|
295
295
|
//# sourceMappingURL=json-rpc-resolver.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/jsonRpc/json-rpc-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { parse } from 'valibot';\n\nimport { normalizeSuiAddress, normalizeSuiObjectId, SUI_TYPE_ARG } from '../utils/index.js';\nimport { ObjectRefSchema } from '../transactions/data/internal.js';\nimport type { CallArg, Command, OpenMoveTypeSignature } from '../transactions/data/internal.js';\nimport { Inputs } from '../transactions/Inputs.js';\nimport {\n\tgetPureBcsSchema,\n\tisTxContext,\n\tnormalizedTypeToMoveTypeSignature,\n} from '../transactions/serializer.js';\nimport type { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport type { BuildTransactionOptions } from '../transactions/index.js';\nimport type { SuiJsonRpcClient } from './client.js';\n\n// The maximum objects that can be fetched at once using multiGetObjects.\nconst MAX_OBJECTS_PER_FETCH = 50;\n\n// An amount of gas (in gas units) that is added to transactions as an overhead to ensure transactions do not fail.\nconst GAS_SAFE_OVERHEAD = 1000n;\nconst MAX_GAS = 50_000_000_000;\n\nexport function jsonRpcClientResolveTransactionPlugin(client: SuiJsonRpcClient) {\n\treturn async function resolveTransactionData(\n\t\ttransactionData: TransactionDataBuilder,\n\t\toptions: BuildTransactionOptions,\n\t\tnext: () => Promise<void>,\n\t) {\n\t\tawait normalizeInputs(transactionData, client);\n\t\tawait resolveObjectReferences(transactionData, client);\n\n\t\tif (!options.onlyTransactionKind) {\n\t\t\tawait setGasPrice(transactionData, client);\n\t\t\tawait setGasBudget(transactionData, client);\n\t\t\tawait setGasPayment(transactionData, client);\n\t\t}\n\n\t\treturn await next();\n\t};\n}\n\nasync function setGasPrice(transactionData: TransactionDataBuilder, client: SuiJsonRpcClient) {\n\tif (!transactionData.gasConfig.price) {\n\t\ttransactionData.gasConfig.price = String(await client.getReferenceGasPrice());\n\t}\n}\n\nasync function setGasBudget(transactionData: TransactionDataBuilder, client: SuiJsonRpcClient) {\n\tif (transactionData.gasConfig.budget) {\n\t\treturn;\n\t}\n\n\tconst dryRunResult = await client.dryRunTransactionBlock({\n\t\ttransactionBlock: transactionData.build({\n\t\t\toverrides: {\n\t\t\t\tgasData: {\n\t\t\t\t\tbudget: String(MAX_GAS),\n\t\t\t\t\tpayment: [],\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t});\n\n\tif (dryRunResult.effects.status.status !== 'success') {\n\t\tthrow new Error(\n\t\t\t`Dry run failed, could not automatically determine a budget: ${dryRunResult.effects.status.error}`,\n\t\t\t{ cause: dryRunResult },\n\t\t);\n\t}\n\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(transactionData.gasConfig.price || 1n);\n\n\tconst baseComputationCostWithOverhead =\n\t\tBigInt(dryRunResult.effects.gasUsed.computationCost) + safeOverhead;\n\n\tconst gasBudget =\n\t\tbaseComputationCostWithOverhead +\n\t\tBigInt(dryRunResult.effects.gasUsed.storageCost) -\n\t\tBigInt(dryRunResult.effects.gasUsed.storageRebate);\n\n\ttransactionData.gasConfig.budget = String(\n\t\tgasBudget > baseComputationCostWithOverhead ? gasBudget : baseComputationCostWithOverhead,\n\t);\n}\n\n// The current default is just picking _all_ coins we can which may not be ideal.\nasync function setGasPayment(transactionData: TransactionDataBuilder, client: SuiJsonRpcClient) {\n\tif (!transactionData.gasConfig.payment) {\n\t\tconst coins = await client.getCoins({\n\t\t\towner: transactionData.gasConfig.owner || transactionData.sender!,\n\t\t\tcoinType: SUI_TYPE_ARG,\n\t\t});\n\n\t\tconst paymentCoins = coins.data\n\t\t\t// Filter out coins that are also used as input:\n\t\t\t.filter((coin) => {\n\t\t\t\tconst matchingInput = transactionData.inputs.find((input) => {\n\t\t\t\t\tif (input.Object?.ImmOrOwnedObject) {\n\t\t\t\t\t\treturn coin.coinObjectId === input.Object.ImmOrOwnedObject.objectId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\t\treturn !matchingInput;\n\t\t\t})\n\t\t\t.map((coin) => ({\n\t\t\t\tobjectId: coin.coinObjectId,\n\t\t\t\tdigest: coin.digest,\n\t\t\t\tversion: coin.version,\n\t\t\t}));\n\n\t\tif (!paymentCoins.length) {\n\t\t\tthrow new Error('No valid gas coins found for the transaction.');\n\t\t}\n\n\t\ttransactionData.gasConfig.payment = paymentCoins.map((payment) =>\n\t\t\tparse(ObjectRefSchema, payment),\n\t\t);\n\t}\n}\n\nasync function resolveObjectReferences(\n\ttransactionData: TransactionDataBuilder,\n\tclient: SuiJsonRpcClient,\n) {\n\t// Keep track of the object references that will need to be resolved at the end of the transaction.\n\t// We keep the input by-reference to avoid needing to re-resolve it:\n\tconst objectsToResolve = transactionData.inputs.filter((input) => {\n\t\treturn (\n\t\t\tinput.UnresolvedObject &&\n\t\t\t!(input.UnresolvedObject.version || input.UnresolvedObject?.initialSharedVersion)\n\t\t);\n\t}) as Extract<CallArg, { UnresolvedObject: unknown }>[];\n\n\tconst dedupedIds = [\n\t\t...new Set(\n\t\t\tobjectsToResolve.map((input) => normalizeSuiObjectId(input.UnresolvedObject.objectId)),\n\t\t),\n\t];\n\n\tconst objectChunks = dedupedIds.length ? chunk(dedupedIds, MAX_OBJECTS_PER_FETCH) : [];\n\tconst resolved = (\n\t\tawait Promise.all(\n\t\t\tobjectChunks.map((chunk) =>\n\t\t\t\tclient.multiGetObjects({\n\t\t\t\t\tids: chunk,\n\t\t\t\t\toptions: { showOwner: true },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t).flat();\n\n\tconst responsesById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, resolved[index]];\n\t\t}),\n\t);\n\n\tconst invalidObjects = Array.from(responsesById)\n\t\t.filter(([_, obj]) => obj.error)\n\t\t.map(([_, obj]) => JSON.stringify(obj.error));\n\n\tif (invalidObjects.length) {\n\t\tthrow new Error(`The following input objects are invalid: ${invalidObjects.join(', ')}`);\n\t}\n\n\tconst objects = resolved.map((object) => {\n\t\tif (object.error || !object.data) {\n\t\t\tthrow new Error(`Failed to fetch object: ${object.error}`);\n\t\t}\n\t\tconst owner = object.data.owner;\n\t\tconst initialSharedVersion =\n\t\t\towner && typeof owner === 'object'\n\t\t\t\t? 'Shared' in owner\n\t\t\t\t\t? owner.Shared.initial_shared_version\n\t\t\t\t\t: 'ConsensusAddressOwner' in owner\n\t\t\t\t\t\t? owner.ConsensusAddressOwner.start_version\n\t\t\t\t\t\t: null\n\t\t\t\t: null;\n\n\t\treturn {\n\t\t\tobjectId: object.data.objectId,\n\t\t\tdigest: object.data.digest,\n\t\t\tversion: object.data.version,\n\t\t\tinitialSharedVersion,\n\t\t};\n\t});\n\n\tconst objectsById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, objects[index]];\n\t\t}),\n\t);\n\n\tfor (const [index, input] of transactionData.inputs.entries()) {\n\t\tif (!input.UnresolvedObject) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet updated: CallArg | undefined;\n\t\tconst id = normalizeSuiAddress(input.UnresolvedObject.objectId);\n\t\tconst object = objectsById.get(id);\n\n\t\tif (input.UnresolvedObject.initialSharedVersion ?? object?.initialSharedVersion) {\n\t\t\tupdated = Inputs.SharedObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tinitialSharedVersion:\n\t\t\t\t\tinput.UnresolvedObject.initialSharedVersion || object?.initialSharedVersion!,\n\t\t\t\tmutable: input.UnresolvedObject.mutable || isUsedAsMutable(transactionData, index),\n\t\t\t});\n\t\t} else if (isUsedAsReceiving(transactionData, index)) {\n\t\t\tupdated = Inputs.ReceivingRef(\n\t\t\t\t{\n\t\t\t\t\tobjectId: id,\n\t\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t\t}!,\n\t\t\t);\n\t\t}\n\n\t\ttransactionData.inputs[transactionData.inputs.indexOf(input)] =\n\t\t\tupdated ??\n\t\t\tInputs.ObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t});\n\t}\n}\n\nasync function normalizeInputs(transactionData: TransactionDataBuilder, client: SuiJsonRpcClient) {\n\tconst { inputs, commands } = transactionData;\n\tconst moveCallsToResolve: Extract<Command, { MoveCall: unknown }>['MoveCall'][] = [];\n\tconst moveFunctionsToResolve = new Set<string>();\n\n\tcommands.forEach((command) => {\n\t\t// Special case move call:\n\t\tif (command.MoveCall) {\n\t\t\t// Determine if any of the arguments require encoding.\n\t\t\t// - If they don't, then this is good to go.\n\t\t\t// - If they do, then we need to fetch the normalized move module.\n\n\t\t\t// If we already know the argument types, we don't need to resolve them again\n\t\t\tif (command.MoveCall._argumentTypes) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputs = command.MoveCall.arguments.map((arg) => {\n\t\t\t\tif (arg.$kind === 'Input') {\n\t\t\t\t\treturn transactionData.inputs[arg.Input];\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t});\n\t\t\tconst needsResolution = inputs.some(\n\t\t\t\t(input) =>\n\t\t\t\t\tinput?.UnresolvedPure ||\n\t\t\t\t\t(input?.UnresolvedObject && typeof input?.UnresolvedObject.mutable !== 'boolean'),\n\t\t\t);\n\n\t\t\tif (needsResolution) {\n\t\t\t\tconst functionName = `${command.MoveCall.package}::${command.MoveCall.module}::${command.MoveCall.function}`;\n\t\t\t\tmoveFunctionsToResolve.add(functionName);\n\t\t\t\tmoveCallsToResolve.push(command.MoveCall);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst moveFunctionParameters = new Map<string, OpenMoveTypeSignature[]>();\n\tif (moveFunctionsToResolve.size > 0) {\n\t\tawait Promise.all(\n\t\t\t[...moveFunctionsToResolve].map(async (functionName) => {\n\t\t\t\tconst [packageId, moduleId, functionId] = functionName.split('::');\n\t\t\t\tconst def = await client.getNormalizedMoveFunction({\n\t\t\t\t\tpackage: packageId,\n\t\t\t\t\tmodule: moduleId,\n\t\t\t\t\tfunction: functionId,\n\t\t\t\t});\n\n\t\t\t\tmoveFunctionParameters.set(\n\t\t\t\t\tfunctionName,\n\t\t\t\t\tdef.parameters.map((param) => normalizedTypeToMoveTypeSignature(param)),\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (moveCallsToResolve.length) {\n\t\tawait Promise.all(\n\t\t\tmoveCallsToResolve.map(async (moveCall) => {\n\t\t\t\tconst parameters = moveFunctionParameters.get(\n\t\t\t\t\t`${moveCall.package}::${moveCall.module}::${moveCall.function}`,\n\t\t\t\t);\n\n\t\t\t\tif (!parameters) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Entry functions can have a mutable reference to an instance of the TxContext\n\t\t\t\t// struct defined in the TxContext module as the last parameter. The caller of\n\t\t\t\t// the function does not need to pass it in as an argument.\n\t\t\t\tconst hasTxContext = parameters.length > 0 && isTxContext(parameters.at(-1)!);\n\t\t\t\tconst params = hasTxContext ? parameters.slice(0, parameters.length - 1) : parameters;\n\n\t\t\t\tmoveCall._argumentTypes = params;\n\t\t\t}),\n\t\t);\n\t}\n\n\tcommands.forEach((command) => {\n\t\tif (!command.MoveCall) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst moveCall = command.MoveCall;\n\t\tconst fnName = `${moveCall.package}::${moveCall.module}::${moveCall.function}`;\n\t\tconst params = moveCall._argumentTypes;\n\n\t\tif (!params) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (params.length !== command.MoveCall.arguments.length) {\n\t\t\tthrow new Error(`Incorrect number of arguments for ${fnName}`);\n\t\t}\n\n\t\tparams.forEach((param, i) => {\n\t\t\tconst arg = moveCall.arguments[i];\n\t\t\tif (arg.$kind !== 'Input') return;\n\t\t\tconst input = inputs[arg.Input];\n\n\t\t\t// Skip if the input is already resolved\n\t\t\tif (!input.UnresolvedPure && !input.UnresolvedObject) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputValue = input.UnresolvedPure?.value ?? input.UnresolvedObject?.objectId!;\n\n\t\t\tconst schema = getPureBcsSchema(param.body);\n\t\t\tif (schema) {\n\t\t\t\targ.type = 'pure';\n\t\t\t\tinputs[inputs.indexOf(input)] = Inputs.Pure(schema.serialize(inputValue));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof inputValue !== 'string') {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expect the argument to be an object id string, got ${JSON.stringify(\n\t\t\t\t\t\tinputValue,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t2,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\targ.type = 'object';\n\t\t\tconst unresolvedObject: typeof input = input.UnresolvedPure\n\t\t\t\t? {\n\t\t\t\t\t\t$kind: 'UnresolvedObject',\n\t\t\t\t\t\tUnresolvedObject: {\n\t\t\t\t\t\t\tobjectId: inputValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: input;\n\n\t\t\tinputs[arg.Input] = unresolvedObject;\n\t\t});\n\t});\n}\n\nfunction isUsedAsMutable(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsMutable = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsMutable = tx.MoveCall._argumentTypes[argIndex].ref !== '&' || usedAsMutable;\n\t\t}\n\n\t\tif (\n\t\t\ttx.$kind === 'MakeMoveVec' ||\n\t\t\ttx.$kind === 'MergeCoins' ||\n\t\t\ttx.$kind === 'SplitCoins' ||\n\t\t\ttx.$kind === 'TransferObjects'\n\t\t) {\n\t\t\tusedAsMutable = true;\n\t\t}\n\t});\n\n\treturn usedAsMutable;\n}\n\nfunction isUsedAsReceiving(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsReceiving = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsReceiving = isReceivingType(tx.MoveCall._argumentTypes[argIndex]) || usedAsReceiving;\n\t\t}\n\t});\n\n\treturn usedAsReceiving;\n}\n\nfunction isReceivingType(type: OpenMoveTypeSignature): boolean {\n\tif (typeof type.body !== 'object' || !('datatype' in type.body)) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttype.body.datatype.package === '0x2' &&\n\t\ttype.body.datatype.module === 'transfer' &&\n\t\ttype.body.datatype.type === 'Receiving'\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["chunk", "inputs"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/
|
|
3
|
+
"sources": ["../../../src/jsonRpc/rpc-websocket-client.ts"],
|
|
4
4
|
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { JsonRpcError } from './errors.js';\n\nfunction getWebsocketUrl(httpUrl: string): string {\n\tconst url = new URL(httpUrl);\n\turl.protocol = url.protocol.replace('http', 'ws');\n\treturn url.toString();\n}\n\ntype JsonRpcMessage =\n\t| {\n\t\t\tid: number;\n\t\t\tresult: never;\n\t\t\terror: {\n\t\t\t\tcode: number;\n\t\t\t\tmessage: string;\n\t\t\t};\n\t }\n\t| {\n\t\t\tid: number;\n\t\t\tresult: unknown;\n\t\t\terror: never;\n\t }\n\t| {\n\t\t\tmethod: string;\n\t\t\tparams: NotificationMessageParams;\n\t };\n\ntype NotificationMessageParams = {\n\tsubscription?: number;\n\tresult: object;\n};\n\ntype SubscriptionRequest<T = any> = {\n\tmethod: string;\n\tunsubscribe: string;\n\tparams: any[];\n\tonMessage: (event: T) => void;\n\tsignal?: AbortSignal;\n};\n\n/**\n * Configuration options for the websocket connection\n */\nexport type WebsocketClientOptions = {\n\t/**\n\t * Custom WebSocket class to use. Defaults to the global WebSocket class, if available.\n\t */\n\tWebSocketConstructor?: typeof WebSocket;\n\t/**\n\t * Milliseconds before timing out while calling an RPC method\n\t */\n\tcallTimeout?: number;\n\t/**\n\t * Milliseconds between attempts to connect\n\t */\n\treconnectTimeout?: number;\n\t/**\n\t * Maximum number of times to try connecting before giving up\n\t */\n\tmaxReconnects?: number;\n};\n\nexport const DEFAULT_CLIENT_OPTIONS = {\n\t// We fudge the typing because we also check for undefined in the constructor:\n\tWebSocketConstructor: (typeof WebSocket !== 'undefined'\n\t\t? WebSocket\n\t\t: undefined) as typeof WebSocket,\n\tcallTimeout: 30000,\n\treconnectTimeout: 3000,\n\tmaxReconnects: 5,\n} satisfies WebsocketClientOptions;\n\nexport class WebsocketClient {\n\tendpoint: string;\n\toptions: Required<WebsocketClientOptions>;\n\t#requestId = 0;\n\t#disconnects = 0;\n\t#webSocket: WebSocket | null = null;\n\t#connectionPromise: Promise<WebSocket> | null = null;\n\t#subscriptions = new Set<RpcSubscription>();\n\t#pendingRequests = new Map<\n\t\tnumber,\n\t\t{\n\t\t\tresolve: (result: Extract<JsonRpcMessage, { id: number }>) => void;\n\t\t\treject: (reason: unknown) => void;\n\t\t\ttimeout: ReturnType<typeof setTimeout>;\n\t\t}\n\t>();\n\n\tconstructor(endpoint: string, options: WebsocketClientOptions = {}) {\n\t\tthis.endpoint = endpoint;\n\t\tthis.options = { ...DEFAULT_CLIENT_OPTIONS, ...options };\n\n\t\tif (!this.options.WebSocketConstructor) {\n\t\t\tthrow new Error('Missing WebSocket constructor');\n\t\t}\n\n\t\tif (this.endpoint.startsWith('http')) {\n\t\t\tthis.endpoint = getWebsocketUrl(this.endpoint);\n\t\t}\n\t}\n\n\tasync makeRequest<T>(method: string, params: any[], signal?: AbortSignal): Promise<T> {\n\t\tconst webSocket = await this.#setupWebSocket();\n\n\t\treturn new Promise<Extract<JsonRpcMessage, { id: number }>>((resolve, reject) => {\n\t\t\tthis.#requestId += 1;\n\t\t\tthis.#pendingRequests.set(this.#requestId, {\n\t\t\t\tresolve: resolve,\n\t\t\t\treject,\n\t\t\t\ttimeout: setTimeout(() => {\n\t\t\t\t\tthis.#pendingRequests.delete(this.#requestId);\n\t\t\t\t\treject(new Error(`Request timeout: ${method}`));\n\t\t\t\t}, this.options.callTimeout),\n\t\t\t});\n\n\t\t\tsignal?.addEventListener('abort', () => {\n\t\t\t\tthis.#pendingRequests.delete(this.#requestId);\n\t\t\t\treject(signal.reason);\n\t\t\t});\n\n\t\t\twebSocket.send(JSON.stringify({ jsonrpc: '2.0', id: this.#requestId, method, params }));\n\t\t}).then(({ error, result }) => {\n\t\t\tif (error) {\n\t\t\t\tthrow new JsonRpcError(error.message, error.code);\n\t\t\t}\n\n\t\t\treturn result as T;\n\t\t});\n\t}\n\n\t#setupWebSocket() {\n\t\tif (this.#connectionPromise) {\n\t\t\treturn this.#connectionPromise;\n\t\t}\n\n\t\tthis.#connectionPromise = new Promise<WebSocket>((resolve) => {\n\t\t\tthis.#webSocket?.close();\n\t\t\tthis.#webSocket = new this.options.WebSocketConstructor(this.endpoint);\n\n\t\t\tthis.#webSocket.addEventListener('open', () => {\n\t\t\t\tthis.#disconnects = 0;\n\t\t\t\tresolve(this.#webSocket!);\n\t\t\t});\n\n\t\t\tthis.#webSocket.addEventListener('close', () => {\n\t\t\t\tthis.#disconnects++;\n\t\t\t\tif (this.#disconnects <= this.options.maxReconnects) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.#reconnect();\n\t\t\t\t\t}, this.options.reconnectTimeout);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.#webSocket.addEventListener('message', ({ data }: { data: string }) => {\n\t\t\t\tlet json: JsonRpcMessage;\n\t\t\t\ttry {\n\t\t\t\t\tjson = JSON.parse(data) as JsonRpcMessage;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(new Error(`Failed to parse RPC message: ${data}`, { cause: error }));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ('id' in json && json.id != null && this.#pendingRequests.has(json.id)) {\n\t\t\t\t\tconst { resolve, timeout } = this.#pendingRequests.get(json.id)!;\n\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tresolve(json);\n\t\t\t\t} else if ('params' in json) {\n\t\t\t\t\tconst { params } = json;\n\t\t\t\t\tthis.#subscriptions.forEach((subscription) => {\n\t\t\t\t\t\tif (subscription.subscriptionId === params.subscription)\n\t\t\t\t\t\t\tif (params.subscription === subscription.subscriptionId) {\n\t\t\t\t\t\t\t\tsubscription.onMessage(params.result);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn this.#connectionPromise;\n\t}\n\n\tasync #reconnect() {\n\t\tthis.#webSocket?.close();\n\t\tthis.#connectionPromise = null;\n\n\t\treturn Promise.allSettled(\n\t\t\t[...this.#subscriptions].map((subscription) => subscription.subscribe(this)),\n\t\t);\n\t}\n\n\tasync subscribe<T>(input: SubscriptionRequest<T>) {\n\t\tconst subscription = new RpcSubscription(input);\n\t\tthis.#subscriptions.add(subscription);\n\t\tawait subscription.subscribe(this);\n\t\treturn () => subscription.unsubscribe(this);\n\t}\n}\n\nclass RpcSubscription {\n\tsubscriptionId: number | null = null;\n\tinput: SubscriptionRequest<any>;\n\tsubscribed = false;\n\n\tconstructor(input: SubscriptionRequest) {\n\t\tthis.input = input;\n\t}\n\n\tonMessage(message: unknown) {\n\t\tif (this.subscribed) {\n\t\t\tthis.input.onMessage(message);\n\t\t}\n\t}\n\n\tasync unsubscribe(client: WebsocketClient) {\n\t\tconst { subscriptionId } = this;\n\t\tthis.subscribed = false;\n\t\tif (subscriptionId == null) return false;\n\t\tthis.subscriptionId = null;\n\n\t\treturn client.makeRequest(this.input.unsubscribe, [subscriptionId]);\n\t}\n\n\tasync subscribe(client: WebsocketClient) {\n\t\tthis.subscriptionId = null;\n\t\tthis.subscribed = true;\n\t\tconst newSubscriptionId = await client.makeRequest<number>(\n\t\t\tthis.input.method,\n\t\t\tthis.input.params,\n\t\t\tthis.input.signal,\n\t\t);\n\n\t\tif (this.subscribed) {\n\t\t\tthis.subscriptionId = newSubscriptionId;\n\t\t}\n\t}\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["resolve"]
|
|
@@ -7,6 +7,7 @@ export declare class MultiSigSigner extends Signer {
|
|
|
7
7
|
getKeyScheme(): SignatureScheme;
|
|
8
8
|
getPublicKey(): MultiSigPublicKey;
|
|
9
9
|
sign(_data: Uint8Array): never;
|
|
10
|
+
/** @deprecated use `sign` instead */
|
|
10
11
|
signData(_data: Uint8Array): never;
|
|
11
12
|
signTransaction(bytes: Uint8Array): Promise<{
|
|
12
13
|
signature: string;
|
|
@@ -48,6 +48,7 @@ class MultiSigSigner extends Signer {
|
|
|
48
48
|
"MultiSigSigner does not support signing directly. Use signTransaction or signPersonalMessage instead"
|
|
49
49
|
);
|
|
50
50
|
}
|
|
51
|
+
/** @deprecated use `sign` instead */
|
|
51
52
|
signData(_data) {
|
|
52
53
|
throw new Error(
|
|
53
54
|
"MultiSigSigner does not support signing directly. Use signTransaction or signPersonalMessage instead"
|