@mysten/sui 1.42.0 → 1.43.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 +14 -0
- package/dist/cjs/bcs/bcs.d.ts +47 -111
- package/dist/cjs/bcs/bcs.js +17 -17
- package/dist/cjs/bcs/bcs.js.map +2 -2
- package/dist/cjs/bcs/effects.d.ts +2 -6
- package/dist/cjs/bcs/effects.js +1 -1
- package/dist/cjs/bcs/effects.js.map +2 -2
- package/dist/cjs/bcs/index.d.ts +49 -117
- package/dist/cjs/bcs/type-tag-serializer.d.ts +1 -0
- package/dist/cjs/bcs/type-tag-serializer.js +5 -1
- package/dist/cjs/bcs/type-tag-serializer.js.map +2 -2
- package/dist/cjs/cryptography/intent.js +1 -1
- package/dist/cjs/cryptography/intent.js.map +2 -2
- package/dist/cjs/cryptography/keypair.js +1 -1
- package/dist/cjs/cryptography/keypair.js.map +2 -2
- package/dist/cjs/cryptography/publickey.js +1 -1
- package/dist/cjs/cryptography/publickey.js.map +2 -2
- package/dist/cjs/cryptography/signature.d.ts +2 -2
- package/dist/cjs/experimental/client.js +0 -4
- package/dist/cjs/experimental/client.js.map +2 -2
- package/dist/cjs/experimental/types.d.ts +1 -7
- package/dist/cjs/experimental/types.js.map +1 -1
- package/dist/cjs/graphql/generated/queries.d.ts +1 -1
- package/dist/cjs/graphql/generated/queries.js.map +1 -1
- package/dist/cjs/grpc/core.d.ts +3 -1
- package/dist/cjs/grpc/core.js +5 -3
- package/dist/cjs/grpc/core.js.map +2 -2
- package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +6 -6
- package/dist/cjs/grpc/proto/google/protobuf/any.js +20 -20
- package/dist/cjs/grpc/proto/google/protobuf/any.js.map +2 -2
- package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +4 -4
- package/dist/cjs/grpc/proto/google/protobuf/duration.js +8 -12
- package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +2 -2
- package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +1 -1
- package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +2 -2
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +4 -4
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +8 -7
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +2 -2
- package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +10 -10
- package/dist/cjs/grpc/proto/google/protobuf/struct.js +29 -17
- package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +2 -2
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +4 -4
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +21 -18
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +2 -2
- package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +2 -2
- package/dist/cjs/grpc/proto/google/rpc/error_details.js +40 -11
- package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +2 -2
- package/dist/cjs/grpc/proto/google/rpc/status.d.ts +2 -2
- package/dist/cjs/grpc/proto/google/rpc/status.js +1 -1
- package/dist/cjs/grpc/proto/google/rpc/status.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +7 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.d.ts +6 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +12 -7
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +3 -3
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +16 -4
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +5 -5
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +35 -13
- package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.d.ts +6 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +65 -19
- package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.d.ts +5 -5
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +4 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.d.ts +3 -3
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/event.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +8 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +21 -10
- package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.d.ts +12 -12
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +75 -17
- package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +0 -4
- package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.d.ts +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +8 -3
- package/dist/cjs/grpc/proto/sui/rpc/v2/input.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +18 -18
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +50 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.d.ts +15 -15
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +41 -20
- package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +126 -20
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +12 -12
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +29 -5
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.d.ts +5 -5
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +16 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.d.ts +8 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +15 -3
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.d.ts +3 -3
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +18 -7
- package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.d.ts +5 -5
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +4 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/object.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +0 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +7 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +22 -11
- package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.d.ts +8 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +73 -17
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +6 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +8 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +5 -5
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +7 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.d.ts +14 -14
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +36 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.d.ts +5 -5
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +60 -14
- package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +6 -6
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +8 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.d.ts +4 -4
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +9 -4
- package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.d.ts +1 -1
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +26 -59
- package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.d.ts +29 -29
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +210 -71
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +8 -8
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +15 -3
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +2 -2
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +9 -9
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +62 -16
- package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +2 -2
- package/dist/cjs/jsonRpc/client.d.ts +2 -6
- package/dist/cjs/jsonRpc/client.js +0 -8
- package/dist/cjs/jsonRpc/client.js.map +2 -2
- package/dist/cjs/keypairs/passkey/publickey.d.ts +1 -1
- package/dist/cjs/multisig/publickey.d.ts +10 -10
- package/dist/cjs/multisig/publickey.js +2 -2
- package/dist/cjs/multisig/publickey.js.map +2 -2
- package/dist/cjs/transactions/TransactionData.d.ts +1 -0
- package/dist/cjs/transactions/TransactionData.js +71 -0
- package/dist/cjs/transactions/TransactionData.js.map +3 -3
- package/dist/cjs/transactions/serializer.js +1 -1
- package/dist/cjs/transactions/serializer.js.map +2 -2
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +2 -0
- package/dist/cjs/utils/index.js.map +2 -2
- package/dist/cjs/version.d.ts +2 -2
- package/dist/cjs/version.js +2 -2
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/zklogin/bcs.d.ts +1 -3
- package/dist/cjs/zklogin/bcs.js +1 -1
- package/dist/cjs/zklogin/bcs.js.map +2 -2
- package/dist/cjs/zklogin/publickey.d.ts +1 -1
- package/dist/cjs/zklogin/signature.d.ts +1 -1
- package/dist/esm/bcs/bcs.d.ts +47 -111
- package/dist/esm/bcs/bcs.js +17 -17
- package/dist/esm/bcs/bcs.js.map +2 -2
- package/dist/esm/bcs/effects.d.ts +2 -6
- package/dist/esm/bcs/effects.js +1 -1
- package/dist/esm/bcs/effects.js.map +2 -2
- package/dist/esm/bcs/index.d.ts +49 -117
- package/dist/esm/bcs/type-tag-serializer.d.ts +1 -0
- package/dist/esm/bcs/type-tag-serializer.js +5 -1
- package/dist/esm/bcs/type-tag-serializer.js.map +2 -2
- package/dist/esm/cryptography/intent.js +1 -1
- package/dist/esm/cryptography/intent.js.map +2 -2
- package/dist/esm/cryptography/keypair.js +1 -1
- package/dist/esm/cryptography/keypair.js.map +2 -2
- package/dist/esm/cryptography/publickey.js +1 -1
- package/dist/esm/cryptography/publickey.js.map +2 -2
- package/dist/esm/cryptography/signature.d.ts +2 -2
- package/dist/esm/experimental/client.js +0 -4
- package/dist/esm/experimental/client.js.map +2 -2
- package/dist/esm/experimental/types.d.ts +1 -7
- package/dist/esm/graphql/generated/queries.d.ts +1 -1
- package/dist/esm/graphql/generated/queries.js.map +1 -1
- package/dist/esm/grpc/core.d.ts +3 -1
- package/dist/esm/grpc/core.js +5 -3
- package/dist/esm/grpc/core.js.map +2 -2
- package/dist/esm/grpc/proto/google/protobuf/any.d.ts +6 -6
- package/dist/esm/grpc/proto/google/protobuf/any.js +20 -20
- package/dist/esm/grpc/proto/google/protobuf/any.js.map +2 -2
- package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +4 -4
- package/dist/esm/grpc/proto/google/protobuf/duration.js +8 -12
- package/dist/esm/grpc/proto/google/protobuf/duration.js.map +2 -2
- package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +1 -1
- package/dist/esm/grpc/proto/google/protobuf/empty.js.map +2 -2
- package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +4 -4
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js +8 -7
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +2 -2
- package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +10 -10
- package/dist/esm/grpc/proto/google/protobuf/struct.js +29 -17
- package/dist/esm/grpc/proto/google/protobuf/struct.js.map +2 -2
- package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +4 -4
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js +21 -18
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +2 -2
- package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +2 -2
- package/dist/esm/grpc/proto/google/rpc/error_details.js +40 -11
- package/dist/esm/grpc/proto/google/rpc/error_details.js.map +2 -2
- package/dist/esm/grpc/proto/google/rpc/status.d.ts +2 -2
- package/dist/esm/grpc/proto/google/rpc/status.js +1 -1
- package/dist/esm/grpc/proto/google/rpc/status.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +7 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/argument.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/bcs.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.d.ts +6 -6
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +12 -7
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +3 -3
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +16 -4
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +5 -5
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +35 -13
- package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.d.ts +6 -6
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +65 -19
- package/dist/esm/grpc/proto/sui/rpc/v2/effects.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.d.ts +5 -5
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +4 -8
- package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/event.d.ts +3 -3
- package/dist/esm/grpc/proto/sui/rpc/v2/event.js +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/event.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +8 -8
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +21 -10
- package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.d.ts +12 -12
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +75 -17
- package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +0 -4
- package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/input.d.ts +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/input.js +8 -3
- package/dist/esm/grpc/proto/sui/rpc/v2/input.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +18 -18
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +50 -8
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.d.ts +15 -15
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +41 -20
- package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +126 -20
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +12 -12
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +29 -5
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.d.ts +5 -5
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +16 -6
- package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.d.ts +8 -8
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +15 -3
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.d.ts +3 -3
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +18 -7
- package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/object.d.ts +5 -5
- package/dist/esm/grpc/proto/sui/rpc/v2/object.js +4 -8
- package/dist/esm/grpc/proto/sui/rpc/v2/object.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +0 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +7 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/owner.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +22 -11
- package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.d.ts +8 -8
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +73 -17
- package/dist/esm/grpc/proto/sui/rpc/v2/signature.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +6 -6
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +8 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +5 -5
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +7 -6
- package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.d.ts +14 -14
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +36 -6
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.d.ts +5 -5
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +60 -14
- package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +6 -6
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +8 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.d.ts +4 -4
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +9 -4
- package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.d.ts +1 -1
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +26 -59
- package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.d.ts +29 -29
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +210 -71
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +8 -8
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +15 -3
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +2 -2
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +9 -9
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +62 -16
- package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +2 -2
- package/dist/esm/jsonRpc/client.d.ts +2 -6
- package/dist/esm/jsonRpc/client.js +0 -8
- package/dist/esm/jsonRpc/client.js.map +2 -2
- package/dist/esm/keypairs/passkey/publickey.d.ts +1 -1
- package/dist/esm/multisig/publickey.d.ts +10 -10
- package/dist/esm/multisig/publickey.js +2 -2
- package/dist/esm/multisig/publickey.js.map +2 -2
- package/dist/esm/transactions/TransactionData.d.ts +1 -0
- package/dist/esm/transactions/TransactionData.js +71 -0
- package/dist/esm/transactions/TransactionData.js.map +3 -3
- package/dist/esm/transactions/serializer.js +1 -1
- package/dist/esm/transactions/serializer.js.map +2 -2
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +2 -2
- package/dist/esm/version.d.ts +2 -2
- package/dist/esm/version.js +2 -2
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/zklogin/bcs.d.ts +1 -3
- package/dist/esm/zklogin/bcs.js +1 -1
- package/dist/esm/zklogin/bcs.js.map +2 -2
- package/dist/esm/zklogin/publickey.d.ts +1 -1
- package/dist/esm/zklogin/signature.d.ts +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/bcs/bcs.ts +17 -17
- package/src/bcs/effects.ts +1 -1
- package/src/bcs/type-tag-serializer.ts +4 -0
- package/src/cryptography/intent.ts +1 -1
- package/src/cryptography/keypair.ts +1 -1
- package/src/cryptography/publickey.ts +1 -1
- package/src/experimental/client.ts +0 -4
- package/src/experimental/types.ts +4 -17
- package/src/graphql/generated/queries.ts +1 -1
- package/src/grpc/core.ts +28 -8
- package/src/grpc/proto/google/protobuf/any.ts +159 -144
- package/src/grpc/proto/google/protobuf/duration.ts +77 -74
- package/src/grpc/proto/google/protobuf/empty.ts +5 -6
- package/src/grpc/proto/google/protobuf/field_mask.ts +59 -47
- package/src/grpc/proto/google/protobuf/struct.ts +223 -201
- package/src/grpc/proto/google/protobuf/timestamp.ts +121 -100
- package/src/grpc/proto/google/rpc/error_details.ts +388 -352
- package/src/grpc/proto/google/rpc/status.ts +32 -32
- package/src/grpc/proto/sui/rpc/v2/argument.ts +60 -54
- package/src/grpc/proto/sui/rpc/v2/balance_change.ts +26 -26
- package/src/grpc/proto/sui/rpc/v2/bcs.ts +19 -19
- package/src/grpc/proto/sui/rpc/v2/checkpoint.ts +79 -66
- package/src/grpc/proto/sui/rpc/v2/checkpoint_contents.ts +72 -60
- package/src/grpc/proto/sui/rpc/v2/checkpoint_summary.ts +219 -158
- package/src/grpc/proto/sui/rpc/v2/effects.ts +418 -318
- package/src/grpc/proto/sui/rpc/v2/epoch.ts +90 -62
- package/src/grpc/proto/sui/rpc/v2/error_reason.ts +12 -12
- package/src/grpc/proto/sui/rpc/v2/event.ts +76 -76
- package/src/grpc/proto/sui/rpc/v2/executed_transaction.ts +99 -80
- package/src/grpc/proto/sui/rpc/v2/execution_status.ts +888 -755
- package/src/grpc/proto/sui/rpc/v2/gas_cost_summary.ts +62 -34
- package/src/grpc/proto/sui/rpc/v2/input.ts +102 -89
- package/src/grpc/proto/sui/rpc/v2/jwk.ts +51 -51
- package/src/grpc/proto/sui/rpc/v2/ledger_service.client.ts +196 -106
- package/src/grpc/proto/sui/rpc/v2/ledger_service.ts +420 -328
- package/src/grpc/proto/sui/rpc/v2/move_package.ts +608 -486
- package/src/grpc/proto/sui/rpc/v2/move_package_service.client.ts +114 -63
- package/src/grpc/proto/sui/rpc/v2/move_package_service.ts +190 -172
- package/src/grpc/proto/sui/rpc/v2/name_service.client.ts +62 -37
- package/src/grpc/proto/sui/rpc/v2/name_service.ts +123 -112
- package/src/grpc/proto/sui/rpc/v2/object.ts +147 -120
- package/src/grpc/proto/sui/rpc/v2/object_reference.ts +33 -26
- package/src/grpc/proto/sui/rpc/v2/owner.ts +61 -48
- package/src/grpc/proto/sui/rpc/v2/protocol_config.ts +43 -24
- package/src/grpc/proto/sui/rpc/v2/signature.ts +596 -503
- package/src/grpc/proto/sui/rpc/v2/signature_scheme.ts +28 -28
- package/src/grpc/proto/sui/rpc/v2/signature_verification_service.client.ts +43 -29
- package/src/grpc/proto/sui/rpc/v2/signature_verification_service.ts +68 -67
- package/src/grpc/proto/sui/rpc/v2/state_service.client.ts +140 -76
- package/src/grpc/proto/sui/rpc/v2/state_service.ts +642 -573
- package/src/grpc/proto/sui/rpc/v2/subscription_service.client.ts +60 -48
- package/src/grpc/proto/sui/rpc/v2/subscription_service.ts +50 -37
- package/src/grpc/proto/sui/rpc/v2/system_state.ts +1055 -689
- package/src/grpc/proto/sui/rpc/v2/transaction.ts +1535 -1110
- package/src/grpc/proto/sui/rpc/v2/transaction_execution_service.client.ts +65 -38
- package/src/grpc/proto/sui/rpc/v2/transaction_execution_service.ts +185 -139
- package/src/jsonRpc/client.ts +2 -17
- package/src/multisig/publickey.ts +14 -14
- package/src/transactions/TransactionData.ts +100 -1
- package/src/transactions/serializer.ts +1 -1
- package/src/utils/index.ts +1 -0
- package/src/version.ts +2 -2
- package/src/zklogin/bcs.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/multisig/publickey.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@mysten/bcs';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { bytesToHex } from '@noble/hashes/utils';\n\nimport { bcs } from '../bcs/index.js';\nimport type { Signer } from '../cryptography/keypair.js';\nimport { bytesEqual, PublicKey } from '../cryptography/publickey.js';\nimport {\n\tSIGNATURE_FLAG_TO_SCHEME,\n\tSIGNATURE_SCHEME_TO_FLAG,\n} from '../cryptography/signature-scheme.js';\nimport type { SignatureFlag, SignatureScheme } from '../cryptography/signature-scheme.js';\nimport { parseSerializedSignature } from '../cryptography/signature.js';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\n// eslint-disable-next-line import/no-cycle\nimport { publicKeyFromRawBytes } from '../verify/index.js';\nimport type { ZkLoginCompatibleClient } from '../zklogin/publickey.js';\nimport { toZkLoginPublicIdentifier } from '../zklogin/publickey.js';\nimport { MultiSigSigner } from './signer.js';\n\ntype CompressedSignature =\n\t| { ED25519: number[] }\n\t| { Secp256k1: number[] }\n\t| { Secp256r1: number[] }\n\t| { ZkLogin: number[] }\n\t| { Passkey: number[] };\n\ntype PublicKeyEnum =\n\t| { ED25519: number[] }\n\t| { Secp256k1: number[] }\n\t| { Secp256r1: number[] }\n\t| { ZkLogin: number[] }\n\t| { Passkey: number[] };\n\ntype PubkeyEnumWeightPair = {\n\tpubKey: PublicKeyEnum;\n\tweight: number;\n};\n\ntype MultiSigPublicKeyStruct = {\n\tpk_map: PubkeyEnumWeightPair[];\n\tthreshold: number;\n};\n\nexport type MultiSigStruct = {\n\tsigs: CompressedSignature[];\n\tbitmap: number;\n\tmultisig_pk: MultiSigPublicKeyStruct;\n};\n\ntype ParsedPartialMultiSigSignature = {\n\tsignatureScheme: SignatureScheme;\n\tsignature: Uint8Array;\n\tpublicKey: PublicKey;\n\tweight: number;\n};\n\nexport const MAX_SIGNER_IN_MULTISIG = 10;\nexport const MIN_SIGNER_IN_MULTISIG = 1;\n/**\n * A MultiSig public key\n */\nexport class MultiSigPublicKey extends PublicKey {\n\tprivate rawBytes: Uint8Array<ArrayBuffer>;\n\tprivate multisigPublicKey: MultiSigPublicKeyStruct;\n\tprivate publicKeys: {\n\t\tweight: number;\n\t\tpublicKey: PublicKey;\n\t}[];\n\t/**\n\t * Create a new MultiSigPublicKey object\n\t */\n\tconstructor(\n\t\t/**\n\t\t * MultiSig public key as buffer or base-64 encoded string\n\t\t */\n\t\tvalue: string | Uint8Array | MultiSigPublicKeyStruct,\n\t\toptions: { client?: ZkLoginCompatibleClient } = {},\n\t) {\n\t\tsuper();\n\n\t\tif (typeof value === 'string') {\n\t\t\tthis.rawBytes = fromBase64(value);\n\n\t\t\tthis.multisigPublicKey = bcs.MultiSigPublicKey.parse(this.rawBytes);\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\tthis.rawBytes = value as Uint8Array<ArrayBuffer>;\n\t\t\tthis.multisigPublicKey = bcs.MultiSigPublicKey.parse(this.rawBytes);\n\t\t} else {\n\t\t\tthis.multisigPublicKey = value;\n\t\t\tthis.rawBytes = bcs.MultiSigPublicKey.serialize(value).toBytes();\n\t\t}\n\t\tif (this.multisigPublicKey.threshold < 1) {\n\t\t\tthrow new Error('Invalid threshold');\n\t\t}\n\n\t\tconst seenPublicKeys = new Set<string>();\n\n\t\tthis.publicKeys = this.multisigPublicKey.pk_map.map(({ pubKey, weight }) => {\n\t\t\tconst [scheme, bytes] = Object.entries(pubKey).filter(([name]) => name !== '$kind')[0] as [\n\t\t\t\tSignatureScheme,\n\t\t\t\tnumber[],\n\t\t\t];\n\t\t\tconst publicKeyStr = Uint8Array.from(bytes).toString();\n\n\t\t\tif (seenPublicKeys.has(publicKeyStr)) {\n\t\t\t\tthrow new Error(`Multisig does not support duplicate public keys`);\n\t\t\t}\n\t\t\tseenPublicKeys.add(publicKeyStr);\n\n\t\t\tif (weight < 1) {\n\t\t\t\tthrow new Error(`Invalid weight`);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tpublicKey: publicKeyFromRawBytes(scheme, Uint8Array.from(bytes), options),\n\t\t\t\tweight,\n\t\t\t};\n\t\t});\n\n\t\tconst totalWeight = this.publicKeys.reduce((sum, { weight }) => sum + weight, 0);\n\n\t\tif (this.multisigPublicKey.threshold > totalWeight) {\n\t\t\tthrow new Error(`Unreachable threshold`);\n\t\t}\n\n\t\tif (this.publicKeys.length > MAX_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Max number of signers in a multisig is ${MAX_SIGNER_IN_MULTISIG}`);\n\t\t}\n\n\t\tif (this.publicKeys.length < MIN_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Min number of signers in a multisig is ${MIN_SIGNER_IN_MULTISIG}`);\n\t\t}\n\t}\n\t/**\n\t * \tA static method to create a new MultiSig publickey instance from a set of public keys and their associated weights pairs and threshold.\n\t */\n\n\tstatic fromPublicKeys({\n\t\tthreshold,\n\t\tpublicKeys,\n\t}: {\n\t\tthreshold: number;\n\t\tpublicKeys: { publicKey: PublicKey; weight: number }[];\n\t}) {\n\t\treturn new MultiSigPublicKey({\n\t\t\tpk_map: publicKeys.map(({ publicKey, weight }) => {\n\t\t\t\tconst scheme = SIGNATURE_FLAG_TO_SCHEME[publicKey.flag() as SignatureFlag];\n\n\t\t\t\treturn {\n\t\t\t\t\tpubKey: { [scheme]: Array.from(publicKey.toRawBytes()) } as PublicKeyEnum,\n\t\t\t\t\tweight,\n\t\t\t\t};\n\t\t\t}),\n\t\t\tthreshold,\n\t\t});\n\t}\n\n\t/**\n\t * Checks if two MultiSig public keys are equal\n\t */\n\toverride equals(publicKey: MultiSigPublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the MultiSig public key\n\t */\n\ttoRawBytes(): Uint8Array<ArrayBuffer> {\n\t\treturn this.rawBytes;\n\t}\n\n\tgetPublicKeys() {\n\t\treturn this.publicKeys;\n\t}\n\n\tgetThreshold() {\n\t\treturn this.multisigPublicKey.threshold;\n\t}\n\n\tgetSigner(...signers: [signer: Signer]) {\n\t\treturn new MultiSigSigner(this, signers);\n\t}\n\n\t/**\n\t * Return the Sui address associated with this MultiSig public key\n\t */\n\toverride toSuiAddress(): string {\n\t\t// max length = 1 flag byte + (max pk size + max weight size (u8)) * max signer size + 2 threshold bytes (u16)\n\t\tconst maxLength = 1 + (64 + 1) * MAX_SIGNER_IN_MULTISIG + 2;\n\t\tconst tmp = new Uint8Array(maxLength);\n\t\ttmp.set([SIGNATURE_SCHEME_TO_FLAG['MultiSig']]);\n\n\t\ttmp.set(bcs.u16().serialize(this.multisigPublicKey.threshold).toBytes(), 1);\n\t\t// The initial value 3 ensures that following data will be after the flag byte and threshold bytes\n\t\tlet i = 3;\n\t\tfor (const { publicKey, weight } of this.publicKeys) {\n\t\t\tconst bytes = publicKey.toSuiBytes();\n\t\t\ttmp.set(bytes, i);\n\t\t\ti += bytes.length;\n\t\t\ttmp.set([weight], i++);\n\t\t}\n\t\treturn normalizeSuiAddress(bytesToHex(blake2b(tmp.slice(0, i), { dkLen: 32 })));\n\t}\n\n\t/**\n\t * Return the Sui address associated with this MultiSig public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['MultiSig'];\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tasync verify(message: Uint8Array, multisigSignature: string): Promise<boolean> {\n\t\t// Multisig verification only supports serialized signature\n\t\tconst parsed = parseSerializedSignature(multisigSignature);\n\n\t\tif (parsed.signatureScheme !== 'MultiSig') {\n\t\t\tthrow new Error('Invalid signature scheme');\n\t\t}\n\n\t\tconst { multisig } = parsed;\n\n\t\tlet signatureWeight = 0;\n\n\t\tif (\n\t\t\t!bytesEqual(\n\t\t\t\tbcs.MultiSigPublicKey.serialize(this.multisigPublicKey).toBytes(),\n\t\t\t\tbcs.MultiSigPublicKey.serialize(multisig.multisig_pk).toBytes(),\n\t\t\t)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (const { publicKey, weight, signature } of parsePartialSignatures(multisig)) {\n\t\t\tif (!(await publicKey.verify(message, signature))) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tsignatureWeight += weight;\n\t\t}\n\n\t\treturn signatureWeight >= this.multisigPublicKey.threshold;\n\t}\n\n\t/**\n\t * Combines multiple partial signatures into a single multisig, ensuring that each public key signs only once\n\t * and that all the public keys involved are known and valid, and then serializes multisig into the standard format\n\t */\n\tcombinePartialSignatures(signatures: string[]): string {\n\t\tif (signatures.length > MAX_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Max number of signatures in a multisig is ${MAX_SIGNER_IN_MULTISIG}`);\n\t\t}\n\n\t\tlet bitmap = 0;\n\t\tconst compressedSignatures: CompressedSignature[] = new Array(signatures.length);\n\n\t\tfor (let i = 0; i < signatures.length; i++) {\n\t\t\tconst parsed = parseSerializedSignature(signatures[i]);\n\t\t\tif (parsed.signatureScheme === 'MultiSig') {\n\t\t\t\tthrow new Error('MultiSig is not supported inside MultiSig');\n\t\t\t}\n\n\t\t\tlet publicKey;\n\t\t\tif (parsed.signatureScheme === 'ZkLogin') {\n\t\t\t\tpublicKey = toZkLoginPublicIdentifier(\n\t\t\t\t\tparsed.zkLogin?.addressSeed,\n\t\t\t\t\tparsed.zkLogin?.iss,\n\t\t\t\t).toRawBytes();\n\t\t\t} else {\n\t\t\t\tpublicKey = parsed.publicKey;\n\t\t\t}\n\n\t\t\tcompressedSignatures[i] = {\n\t\t\t\t[parsed.signatureScheme]: Array.from(parsed.signature.map((x: number) => Number(x))),\n\t\t\t} as CompressedSignature;\n\n\t\t\tlet publicKeyIndex;\n\t\t\tfor (let j = 0; j < this.publicKeys.length; j++) {\n\t\t\t\tif (bytesEqual(publicKey, this.publicKeys[j].publicKey.toRawBytes())) {\n\t\t\t\t\tif (bitmap & (1 << j)) {\n\t\t\t\t\t\tthrow new Error('Received multiple signatures from the same public key');\n\t\t\t\t\t}\n\n\t\t\t\t\tpublicKeyIndex = j;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (publicKeyIndex === undefined) {\n\t\t\t\tthrow new Error('Received signature from unknown public key');\n\t\t\t}\n\n\t\t\tbitmap |= 1 << publicKeyIndex;\n\t\t}\n\n\t\tconst multisig: MultiSigStruct = {\n\t\t\tsigs: compressedSignatures,\n\t\t\tbitmap,\n\t\t\tmultisig_pk: this.multisigPublicKey,\n\t\t};\n\t\tconst bytes = bcs.MultiSig.serialize(multisig, { maxSize: 8192 }).toBytes();\n\t\tconst tmp = new Uint8Array(bytes.length + 1);\n\t\ttmp.set([SIGNATURE_SCHEME_TO_FLAG['MultiSig']]);\n\t\ttmp.set(bytes, 1);\n\t\treturn toBase64(tmp);\n\t}\n}\n\n/**\n * Parse multisig structure into an array of individual signatures: signature scheme, the actual individual signature, public key and its weight.\n */\nexport function parsePartialSignatures(\n\tmultisig: MultiSigStruct,\n\toptions: { client?: ZkLoginCompatibleClient } = {},\n): ParsedPartialMultiSigSignature[] {\n\tconst res: ParsedPartialMultiSigSignature[] = new Array(multisig.sigs.length);\n\tfor (let i = 0; i < multisig.sigs.length; i++) {\n\t\tconst [signatureScheme, signature] = Object.entries(multisig.sigs[i]).filter(\n\t\t\t([name]) => name !== '$kind',\n\t\t)[0] as [SignatureScheme, number[]];\n\t\tconst pkIndex = asIndices(multisig.bitmap).at(i)!;\n\t\tconst pair = multisig.multisig_pk.pk_map[pkIndex];\n\t\tconst pkBytes = Uint8Array.from(Object.values(pair.pubKey)[0]);\n\n\t\tif (signatureScheme === 'MultiSig') {\n\t\t\tthrow new Error('MultiSig is not supported inside MultiSig');\n\t\t}\n\n\t\tconst publicKey = publicKeyFromRawBytes(signatureScheme, pkBytes, options);\n\n\t\tres[i] = {\n\t\t\tsignatureScheme,\n\t\t\tsignature: Uint8Array.from(signature),\n\t\t\tpublicKey: publicKey,\n\t\t\tweight: pair.weight,\n\t\t};\n\t}\n\treturn res;\n}\n\nfunction asIndices(bitmap: number): Uint8Array {\n\tif (bitmap < 0 || bitmap > 1024) {\n\t\tthrow new Error('Invalid bitmap');\n\t}\n\tconst res: number[] = [];\n\tfor (let i = 0; i < 10; i++) {\n\t\tif ((bitmap & (1 << i)) !== 0) {\n\t\t\tres.push(i);\n\t\t}\n\t}\n\treturn Uint8Array.from(res);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAAqC;AACrC,qBAAwB;AACxB,mBAA2B;AAE3B,IAAAA,cAAoB;AAEpB,uBAAsC;AACtC,8BAGO;AAEP,uBAAyC;AACzC,uBAAoC;AAEpC,oBAAsC;AAEtC,IAAAC,oBAA0C;AAC1C,oBAA+B;AAuCxB,MAAM,yBAAyB;AAC/B,MAAM,yBAAyB;AAI/B,MAAM,0BAA0B,2BAAU;AAAA;AAAA;AAAA;AAAA,EAUhD,YAIC,OACA,UAAgD,CAAC,GAChD;AACD,UAAM;AAEN,QAAI,OAAO,UAAU,UAAU;AAC9B,WAAK,eAAW,uBAAW,KAAK;AAEhC,WAAK,oBAAoB,gBAAI,kBAAkB,MAAM,KAAK,QAAQ;AAAA,IACnE,WAAW,iBAAiB,YAAY;AACvC,WAAK,WAAW;AAChB,WAAK,oBAAoB,gBAAI,kBAAkB,MAAM,KAAK,QAAQ;AAAA,IACnE,OAAO;AACN,WAAK,oBAAoB;AACzB,WAAK,WAAW,gBAAI,kBAAkB,UAAU,KAAK,EAAE,QAAQ;AAAA,IAChE;AACA,QAAI,KAAK,kBAAkB,YAAY,GAAG;AACzC,YAAM,IAAI,MAAM,mBAAmB;AAAA,IACpC;AAEA,UAAM,iBAAiB,oBAAI,IAAY;AAEvC,SAAK,aAAa,KAAK,kBAAkB,OAAO,IAAI,CAAC,EAAE,QAAQ,OAAO,MAAM;AAC3E,YAAM,CAAC,QAAQ,KAAK,IAAI,OAAO,QAAQ,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,MAAM,SAAS,OAAO,EAAE,CAAC;AAIrF,YAAM,eAAe,WAAW,KAAK,KAAK,EAAE,SAAS;AAErD,UAAI,eAAe,IAAI,YAAY,GAAG;AACrC,cAAM,IAAI,MAAM,iDAAiD;AAAA,MAClE;AACA,qBAAe,IAAI,YAAY;AAE/B,UAAI,SAAS,GAAG;AACf,cAAM,IAAI,MAAM,gBAAgB;AAAA,MACjC;AAEA,aAAO;AAAA,QACN,eAAW,qCAAsB,QAAQ,WAAW,KAAK,KAAK,GAAG,OAAO;AAAA,QACxE;AAAA,MACD;AAAA,IACD,CAAC;AAED,UAAM,cAAc,KAAK,WAAW,OAAO,CAAC,KAAK,EAAE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE/E,QAAI,KAAK,kBAAkB,YAAY,aAAa;AACnD,YAAM,IAAI,MAAM,uBAAuB;AAAA,IACxC;AAEA,QAAI,KAAK,WAAW,SAAS,wBAAwB;AACpD,YAAM,IAAI,MAAM,0CAA0C,sBAAsB,EAAE;AAAA,IACnF;AAEA,QAAI,KAAK,WAAW,SAAS,wBAAwB;AACpD,YAAM,IAAI,MAAM,0CAA0C,sBAAsB,EAAE;AAAA,IACnF;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,eAAe;AAAA,IACrB;AAAA,IACA;AAAA,EACD,GAGG;AACF,WAAO,IAAI,kBAAkB;AAAA,MAC5B,QAAQ,WAAW,IAAI,CAAC,EAAE,WAAW,OAAO,MAAM;AACjD,cAAM,SAAS,iDAAyB,UAAU,KAAK,CAAkB;AAEzE,eAAO;AAAA,UACN,QAAQ,EAAE,CAAC,MAAM,GAAG,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@mysten/bcs';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { bytesToHex } from '@noble/hashes/utils';\n\nimport { bcs } from '../bcs/index.js';\nimport type { Signer } from '../cryptography/keypair.js';\nimport { bytesEqual, PublicKey } from '../cryptography/publickey.js';\nimport {\n\tSIGNATURE_FLAG_TO_SCHEME,\n\tSIGNATURE_SCHEME_TO_FLAG,\n} from '../cryptography/signature-scheme.js';\nimport type { SignatureFlag, SignatureScheme } from '../cryptography/signature-scheme.js';\nimport { parseSerializedSignature } from '../cryptography/signature.js';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\n// eslint-disable-next-line import/no-cycle\nimport { publicKeyFromRawBytes } from '../verify/index.js';\nimport type { ZkLoginCompatibleClient } from '../zklogin/publickey.js';\nimport { toZkLoginPublicIdentifier } from '../zklogin/publickey.js';\nimport { MultiSigSigner } from './signer.js';\n\ntype CompressedSignature =\n\t| { ED25519: Uint8Array }\n\t| { Secp256k1: Uint8Array }\n\t| { Secp256r1: Uint8Array }\n\t| { ZkLogin: Uint8Array }\n\t| { Passkey: Uint8Array };\n\ntype PublicKeyEnum =\n\t| { ED25519: Uint8Array }\n\t| { Secp256k1: Uint8Array }\n\t| { Secp256r1: Uint8Array }\n\t| { ZkLogin: Uint8Array }\n\t| { Passkey: Uint8Array };\n\ntype PubkeyEnumWeightPair = {\n\tpubKey: PublicKeyEnum;\n\tweight: number;\n};\n\ntype MultiSigPublicKeyStruct = {\n\tpk_map: PubkeyEnumWeightPair[];\n\tthreshold: number;\n};\n\nexport type MultiSigStruct = {\n\tsigs: CompressedSignature[];\n\tbitmap: number;\n\tmultisig_pk: MultiSigPublicKeyStruct;\n};\n\ntype ParsedPartialMultiSigSignature = {\n\tsignatureScheme: SignatureScheme;\n\tsignature: Uint8Array;\n\tpublicKey: PublicKey;\n\tweight: number;\n};\n\nexport const MAX_SIGNER_IN_MULTISIG = 10;\nexport const MIN_SIGNER_IN_MULTISIG = 1;\n/**\n * A MultiSig public key\n */\nexport class MultiSigPublicKey extends PublicKey {\n\tprivate rawBytes: Uint8Array<ArrayBuffer>;\n\tprivate multisigPublicKey: MultiSigPublicKeyStruct;\n\tprivate publicKeys: {\n\t\tweight: number;\n\t\tpublicKey: PublicKey;\n\t}[];\n\t/**\n\t * Create a new MultiSigPublicKey object\n\t */\n\tconstructor(\n\t\t/**\n\t\t * MultiSig public key as buffer or base-64 encoded string\n\t\t */\n\t\tvalue: string | Uint8Array | MultiSigPublicKeyStruct,\n\t\toptions: { client?: ZkLoginCompatibleClient } = {},\n\t) {\n\t\tsuper();\n\n\t\tif (typeof value === 'string') {\n\t\t\tthis.rawBytes = fromBase64(value);\n\n\t\t\tthis.multisigPublicKey = bcs.MultiSigPublicKey.parse(this.rawBytes);\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\tthis.rawBytes = value as Uint8Array<ArrayBuffer>;\n\t\t\tthis.multisigPublicKey = bcs.MultiSigPublicKey.parse(this.rawBytes);\n\t\t} else {\n\t\t\tthis.multisigPublicKey = value;\n\t\t\tthis.rawBytes = bcs.MultiSigPublicKey.serialize(value).toBytes();\n\t\t}\n\t\tif (this.multisigPublicKey.threshold < 1) {\n\t\t\tthrow new Error('Invalid threshold');\n\t\t}\n\n\t\tconst seenPublicKeys = new Set<string>();\n\n\t\tthis.publicKeys = this.multisigPublicKey.pk_map.map(({ pubKey, weight }) => {\n\t\t\tconst [scheme, bytes] = Object.entries(pubKey).filter(([name]) => name !== '$kind')[0] as [\n\t\t\t\tSignatureScheme,\n\t\t\t\tUint8Array,\n\t\t\t];\n\t\t\tconst publicKeyStr = Uint8Array.from(bytes).toString();\n\n\t\t\tif (seenPublicKeys.has(publicKeyStr)) {\n\t\t\t\tthrow new Error(`Multisig does not support duplicate public keys`);\n\t\t\t}\n\t\t\tseenPublicKeys.add(publicKeyStr);\n\n\t\t\tif (weight < 1) {\n\t\t\t\tthrow new Error(`Invalid weight`);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tpublicKey: publicKeyFromRawBytes(scheme, Uint8Array.from(bytes), options),\n\t\t\t\tweight,\n\t\t\t};\n\t\t});\n\n\t\tconst totalWeight = this.publicKeys.reduce((sum, { weight }) => sum + weight, 0);\n\n\t\tif (this.multisigPublicKey.threshold > totalWeight) {\n\t\t\tthrow new Error(`Unreachable threshold`);\n\t\t}\n\n\t\tif (this.publicKeys.length > MAX_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Max number of signers in a multisig is ${MAX_SIGNER_IN_MULTISIG}`);\n\t\t}\n\n\t\tif (this.publicKeys.length < MIN_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Min number of signers in a multisig is ${MIN_SIGNER_IN_MULTISIG}`);\n\t\t}\n\t}\n\t/**\n\t * \tA static method to create a new MultiSig publickey instance from a set of public keys and their associated weights pairs and threshold.\n\t */\n\n\tstatic fromPublicKeys({\n\t\tthreshold,\n\t\tpublicKeys,\n\t}: {\n\t\tthreshold: number;\n\t\tpublicKeys: { publicKey: PublicKey; weight: number }[];\n\t}) {\n\t\treturn new MultiSigPublicKey({\n\t\t\tpk_map: publicKeys.map(({ publicKey, weight }) => {\n\t\t\t\tconst scheme = SIGNATURE_FLAG_TO_SCHEME[publicKey.flag() as SignatureFlag];\n\n\t\t\t\treturn {\n\t\t\t\t\tpubKey: { [scheme]: publicKey.toRawBytes() } as PublicKeyEnum,\n\t\t\t\t\tweight,\n\t\t\t\t};\n\t\t\t}),\n\t\t\tthreshold,\n\t\t});\n\t}\n\n\t/**\n\t * Checks if two MultiSig public keys are equal\n\t */\n\toverride equals(publicKey: MultiSigPublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the MultiSig public key\n\t */\n\ttoRawBytes(): Uint8Array<ArrayBuffer> {\n\t\treturn this.rawBytes;\n\t}\n\n\tgetPublicKeys() {\n\t\treturn this.publicKeys;\n\t}\n\n\tgetThreshold() {\n\t\treturn this.multisigPublicKey.threshold;\n\t}\n\n\tgetSigner(...signers: [signer: Signer]) {\n\t\treturn new MultiSigSigner(this, signers);\n\t}\n\n\t/**\n\t * Return the Sui address associated with this MultiSig public key\n\t */\n\toverride toSuiAddress(): string {\n\t\t// max length = 1 flag byte + (max pk size + max weight size (u8)) * max signer size + 2 threshold bytes (u16)\n\t\tconst maxLength = 1 + (64 + 1) * MAX_SIGNER_IN_MULTISIG + 2;\n\t\tconst tmp = new Uint8Array(maxLength);\n\t\ttmp.set([SIGNATURE_SCHEME_TO_FLAG['MultiSig']]);\n\n\t\ttmp.set(bcs.u16().serialize(this.multisigPublicKey.threshold).toBytes(), 1);\n\t\t// The initial value 3 ensures that following data will be after the flag byte and threshold bytes\n\t\tlet i = 3;\n\t\tfor (const { publicKey, weight } of this.publicKeys) {\n\t\t\tconst bytes = publicKey.toSuiBytes();\n\t\t\ttmp.set(bytes, i);\n\t\t\ti += bytes.length;\n\t\t\ttmp.set([weight], i++);\n\t\t}\n\t\treturn normalizeSuiAddress(bytesToHex(blake2b(tmp.slice(0, i), { dkLen: 32 })));\n\t}\n\n\t/**\n\t * Return the Sui address associated with this MultiSig public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['MultiSig'];\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tasync verify(message: Uint8Array, multisigSignature: string): Promise<boolean> {\n\t\t// Multisig verification only supports serialized signature\n\t\tconst parsed = parseSerializedSignature(multisigSignature);\n\n\t\tif (parsed.signatureScheme !== 'MultiSig') {\n\t\t\tthrow new Error('Invalid signature scheme');\n\t\t}\n\n\t\tconst { multisig } = parsed;\n\n\t\tlet signatureWeight = 0;\n\n\t\tif (\n\t\t\t!bytesEqual(\n\t\t\t\tbcs.MultiSigPublicKey.serialize(this.multisigPublicKey).toBytes(),\n\t\t\t\tbcs.MultiSigPublicKey.serialize(multisig.multisig_pk).toBytes(),\n\t\t\t)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (const { publicKey, weight, signature } of parsePartialSignatures(multisig)) {\n\t\t\tif (!(await publicKey.verify(message, signature))) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tsignatureWeight += weight;\n\t\t}\n\n\t\treturn signatureWeight >= this.multisigPublicKey.threshold;\n\t}\n\n\t/**\n\t * Combines multiple partial signatures into a single multisig, ensuring that each public key signs only once\n\t * and that all the public keys involved are known and valid, and then serializes multisig into the standard format\n\t */\n\tcombinePartialSignatures(signatures: string[]): string {\n\t\tif (signatures.length > MAX_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Max number of signatures in a multisig is ${MAX_SIGNER_IN_MULTISIG}`);\n\t\t}\n\n\t\tlet bitmap = 0;\n\t\tconst compressedSignatures: CompressedSignature[] = new Array(signatures.length);\n\n\t\tfor (let i = 0; i < signatures.length; i++) {\n\t\t\tconst parsed = parseSerializedSignature(signatures[i]);\n\t\t\tif (parsed.signatureScheme === 'MultiSig') {\n\t\t\t\tthrow new Error('MultiSig is not supported inside MultiSig');\n\t\t\t}\n\n\t\t\tlet publicKey;\n\t\t\tif (parsed.signatureScheme === 'ZkLogin') {\n\t\t\t\tpublicKey = toZkLoginPublicIdentifier(\n\t\t\t\t\tparsed.zkLogin?.addressSeed,\n\t\t\t\t\tparsed.zkLogin?.iss,\n\t\t\t\t).toRawBytes();\n\t\t\t} else {\n\t\t\t\tpublicKey = parsed.publicKey;\n\t\t\t}\n\n\t\t\tcompressedSignatures[i] = {\n\t\t\t\t[parsed.signatureScheme]: parsed.signature,\n\t\t\t} as CompressedSignature;\n\n\t\t\tlet publicKeyIndex;\n\t\t\tfor (let j = 0; j < this.publicKeys.length; j++) {\n\t\t\t\tif (bytesEqual(publicKey, this.publicKeys[j].publicKey.toRawBytes())) {\n\t\t\t\t\tif (bitmap & (1 << j)) {\n\t\t\t\t\t\tthrow new Error('Received multiple signatures from the same public key');\n\t\t\t\t\t}\n\n\t\t\t\t\tpublicKeyIndex = j;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (publicKeyIndex === undefined) {\n\t\t\t\tthrow new Error('Received signature from unknown public key');\n\t\t\t}\n\n\t\t\tbitmap |= 1 << publicKeyIndex;\n\t\t}\n\n\t\tconst multisig: MultiSigStruct = {\n\t\t\tsigs: compressedSignatures,\n\t\t\tbitmap,\n\t\t\tmultisig_pk: this.multisigPublicKey,\n\t\t};\n\t\tconst bytes = bcs.MultiSig.serialize(multisig, { maxSize: 8192 }).toBytes();\n\t\tconst tmp = new Uint8Array(bytes.length + 1);\n\t\ttmp.set([SIGNATURE_SCHEME_TO_FLAG['MultiSig']]);\n\t\ttmp.set(bytes, 1);\n\t\treturn toBase64(tmp);\n\t}\n}\n\n/**\n * Parse multisig structure into an array of individual signatures: signature scheme, the actual individual signature, public key and its weight.\n */\nexport function parsePartialSignatures(\n\tmultisig: MultiSigStruct,\n\toptions: { client?: ZkLoginCompatibleClient } = {},\n): ParsedPartialMultiSigSignature[] {\n\tconst res: ParsedPartialMultiSigSignature[] = new Array(multisig.sigs.length);\n\tfor (let i = 0; i < multisig.sigs.length; i++) {\n\t\tconst [signatureScheme, signature] = Object.entries(multisig.sigs[i]).filter(\n\t\t\t([name]) => name !== '$kind',\n\t\t)[0] as [SignatureScheme, Uint8Array];\n\t\tconst pkIndex = asIndices(multisig.bitmap).at(i)!;\n\t\tconst pair = multisig.multisig_pk.pk_map[pkIndex];\n\t\tconst pkBytes = Uint8Array.from(Object.values(pair.pubKey)[0]);\n\n\t\tif (signatureScheme === 'MultiSig') {\n\t\t\tthrow new Error('MultiSig is not supported inside MultiSig');\n\t\t}\n\n\t\tconst publicKey = publicKeyFromRawBytes(signatureScheme, pkBytes, options);\n\n\t\tres[i] = {\n\t\t\tsignatureScheme,\n\t\t\tsignature: Uint8Array.from(signature),\n\t\t\tpublicKey: publicKey,\n\t\t\tweight: pair.weight,\n\t\t};\n\t}\n\treturn res;\n}\n\nfunction asIndices(bitmap: number): Uint8Array {\n\tif (bitmap < 0 || bitmap > 1024) {\n\t\tthrow new Error('Invalid bitmap');\n\t}\n\tconst res: number[] = [];\n\tfor (let i = 0; i < 10; i++) {\n\t\tif ((bitmap & (1 << i)) !== 0) {\n\t\t\tres.push(i);\n\t\t}\n\t}\n\treturn Uint8Array.from(res);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_bcs", "import_publickey"]
|
|
7
7
|
}
|
|
@@ -276,5 +276,76 @@ class TransactionDataBuilder {
|
|
|
276
276
|
commands: [...this.commands]
|
|
277
277
|
});
|
|
278
278
|
}
|
|
279
|
+
applyResolvedData(resolved) {
|
|
280
|
+
if (!this.sender) {
|
|
281
|
+
this.sender = resolved.sender ?? null;
|
|
282
|
+
}
|
|
283
|
+
if (!this.expiration) {
|
|
284
|
+
this.expiration = resolved.expiration ?? null;
|
|
285
|
+
}
|
|
286
|
+
if (!this.gasData.budget) {
|
|
287
|
+
this.gasData.budget = resolved.gasData.budget;
|
|
288
|
+
}
|
|
289
|
+
if (!this.gasData.owner) {
|
|
290
|
+
this.gasData.owner = resolved.gasData.owner ?? null;
|
|
291
|
+
}
|
|
292
|
+
if (!this.gasData.payment) {
|
|
293
|
+
this.gasData.payment = resolved.gasData.payment;
|
|
294
|
+
}
|
|
295
|
+
if (!this.gasData.price) {
|
|
296
|
+
this.gasData.price = resolved.gasData.price;
|
|
297
|
+
}
|
|
298
|
+
for (let i = 0; i < this.inputs.length; i++) {
|
|
299
|
+
const input = this.inputs[i];
|
|
300
|
+
const resolvedInput = resolved.inputs[i];
|
|
301
|
+
switch (input.$kind) {
|
|
302
|
+
case "UnresolvedPure":
|
|
303
|
+
if (resolvedInput.$kind !== "Pure") {
|
|
304
|
+
throw new Error(
|
|
305
|
+
`Expected input at index ${i} to resolve to a Pure argument, but got ${JSON.stringify(
|
|
306
|
+
resolvedInput
|
|
307
|
+
)}`
|
|
308
|
+
);
|
|
309
|
+
}
|
|
310
|
+
this.inputs[i] = resolvedInput;
|
|
311
|
+
break;
|
|
312
|
+
case "UnresolvedObject":
|
|
313
|
+
if (resolvedInput.$kind !== "Object") {
|
|
314
|
+
throw new Error(
|
|
315
|
+
`Expected input at index ${i} to resolve to an Object argument, but got ${JSON.stringify(
|
|
316
|
+
resolvedInput
|
|
317
|
+
)}`
|
|
318
|
+
);
|
|
319
|
+
}
|
|
320
|
+
if (resolvedInput.Object.$kind === "ImmOrOwnedObject" || resolvedInput.Object.$kind === "Receiving") {
|
|
321
|
+
const original = input.UnresolvedObject;
|
|
322
|
+
const resolved2 = resolvedInput.Object.ImmOrOwnedObject ?? resolvedInput.Object.Receiving;
|
|
323
|
+
if ((0, import_sui_types.normalizeSuiAddress)(original.objectId) !== (0, import_sui_types.normalizeSuiAddress)(resolved2.objectId) || original.version != null && original.version !== resolved2.version || original.digest != null && original.digest !== resolved2.digest || // Objects with shared object properties should not resolve to owned objects
|
|
324
|
+
original.mutable != null || original.initialSharedVersion != null) {
|
|
325
|
+
throw new Error(
|
|
326
|
+
`Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved2)}`
|
|
327
|
+
);
|
|
328
|
+
}
|
|
329
|
+
} else if (resolvedInput.Object.$kind === "SharedObject") {
|
|
330
|
+
const original = input.UnresolvedObject;
|
|
331
|
+
const resolved2 = resolvedInput.Object.SharedObject;
|
|
332
|
+
if ((0, import_sui_types.normalizeSuiAddress)(original.objectId) !== (0, import_sui_types.normalizeSuiAddress)(resolved2.objectId) || original.initialSharedVersion != null && original.initialSharedVersion !== resolved2.initialSharedVersion || original.mutable != null && original.mutable !== resolved2.mutable || // Objects with owned object properties should not resolve to shared objects
|
|
333
|
+
original.version != null || original.digest != null) {
|
|
334
|
+
throw new Error(
|
|
335
|
+
`Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved2)}`
|
|
336
|
+
);
|
|
337
|
+
}
|
|
338
|
+
} else {
|
|
339
|
+
throw new Error(
|
|
340
|
+
`Input at index ${i} resolved to an unexpected Object kind: ${JSON.stringify(
|
|
341
|
+
resolvedInput.Object
|
|
342
|
+
)}`
|
|
343
|
+
);
|
|
344
|
+
}
|
|
345
|
+
this.inputs[i] = resolvedInput;
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
279
350
|
}
|
|
280
351
|
//# sourceMappingURL=TransactionData.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/transactions/TransactionData.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { toBase58 } from '@mysten/bcs';\nimport type { InferInput } from 'valibot';\nimport { parse } from 'valibot';\n\nimport { bcs } from '../bcs/index.js';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport type {\n\tArgument,\n\tCallArg,\n\tCommand,\n\tGasData,\n\tTransactionExpiration,\n\tTransactionData,\n} from './data/internal.js';\nimport { TransactionDataSchema } from './data/internal.js';\nimport { transactionDataFromV1 } from './data/v1.js';\nimport type { SerializedTransactionDataV1 } from './data/v1.js';\nimport type { SerializedTransactionDataV2Schema } from './data/v2.js';\nimport { hashTypedData } from './hash.js';\n\nfunction prepareSuiAddress(address: string) {\n\treturn normalizeSuiAddress(address).replace('0x', '');\n}\n\nexport class TransactionDataBuilder implements TransactionData {\n\tstatic fromKindBytes(bytes: Uint8Array) {\n\t\tconst kind = bcs.TransactionKind.parse(bytes);\n\n\t\tconst programmableTx = kind.ProgrammableTransaction;\n\t\tif (!programmableTx) {\n\t\t\tthrow new Error('Unable to deserialize from bytes.');\n\t\t}\n\n\t\treturn TransactionDataBuilder.restore({\n\t\t\tversion: 2,\n\t\t\tsender: null,\n\t\t\texpiration: null,\n\t\t\tgasData: {\n\t\t\t\tbudget: null,\n\t\t\t\towner: null,\n\t\t\t\tpayment: null,\n\t\t\t\tprice: null,\n\t\t\t},\n\t\t\tinputs: programmableTx.inputs,\n\t\t\tcommands: programmableTx.commands,\n\t\t});\n\t}\n\n\tstatic fromBytes(bytes: Uint8Array) {\n\t\tconst rawData = bcs.TransactionData.parse(bytes);\n\t\tconst data = rawData?.V1;\n\t\tconst programmableTx = data.kind.ProgrammableTransaction;\n\n\t\tif (!data || !programmableTx) {\n\t\t\tthrow new Error('Unable to deserialize from bytes.');\n\t\t}\n\n\t\treturn TransactionDataBuilder.restore({\n\t\t\tversion: 2,\n\t\t\tsender: data.sender,\n\t\t\texpiration: data.expiration,\n\t\t\tgasData: data.gasData,\n\t\t\tinputs: programmableTx.inputs,\n\t\t\tcommands: programmableTx.commands,\n\t\t});\n\t}\n\n\tstatic restore(\n\t\tdata:\n\t\t\t| InferInput<typeof SerializedTransactionDataV2Schema>\n\t\t\t| InferInput<typeof SerializedTransactionDataV1>,\n\t) {\n\t\tif (data.version === 2) {\n\t\t\treturn new TransactionDataBuilder(parse(TransactionDataSchema, data));\n\t\t} else {\n\t\t\treturn new TransactionDataBuilder(parse(TransactionDataSchema, transactionDataFromV1(data)));\n\t\t}\n\t}\n\n\t/**\n\t * Generate transaction digest.\n\t *\n\t * @param bytes BCS serialized transaction data\n\t * @returns transaction digest.\n\t */\n\tstatic getDigestFromBytes(bytes: Uint8Array) {\n\t\tconst hash = hashTypedData('TransactionData', bytes);\n\t\treturn toBase58(hash);\n\t}\n\n\t// @deprecated use gasData instead\n\tget gasConfig() {\n\t\treturn this.gasData;\n\t}\n\t// @deprecated use gasData instead\n\tset gasConfig(value) {\n\t\tthis.gasData = value;\n\t}\n\n\tversion = 2 as const;\n\tsender: string | null;\n\texpiration: TransactionExpiration | null;\n\tgasData: GasData;\n\tinputs: CallArg[];\n\tcommands: Command[];\n\n\tconstructor(clone?: TransactionData) {\n\t\tthis.sender = clone?.sender ?? null;\n\t\tthis.expiration = clone?.expiration ?? null;\n\t\tthis.inputs = clone?.inputs ?? [];\n\t\tthis.commands = clone?.commands ?? [];\n\t\tthis.gasData = clone?.gasData ?? {\n\t\t\tbudget: null,\n\t\t\tprice: null,\n\t\t\towner: null,\n\t\t\tpayment: null,\n\t\t};\n\t}\n\n\tbuild({\n\t\tmaxSizeBytes = Infinity,\n\t\toverrides,\n\t\tonlyTransactionKind,\n\t}: {\n\t\tmaxSizeBytes?: number;\n\t\toverrides?: {\n\t\t\texpiration?: TransactionExpiration;\n\t\t\tsender?: string;\n\t\t\t// @deprecated use gasData instead\n\t\t\tgasConfig?: Partial<GasData>;\n\t\t\tgasData?: Partial<GasData>;\n\t\t};\n\t\tonlyTransactionKind?: boolean;\n\t} = {}) {\n\t\t// TODO validate that inputs and intents are actually resolved\n\t\tconst inputs = this.inputs as (typeof bcs.CallArg.$inferInput)[];\n\t\tconst commands = this.commands as Extract<\n\t\t\tCommand<Exclude<Argument, { IntentResult: unknown } | { NestedIntentResult: unknown }>>,\n\t\t\t{ Upgrade: unknown }\n\t\t>[];\n\n\t\tconst kind = {\n\t\t\tProgrammableTransaction: {\n\t\t\t\tinputs,\n\t\t\t\tcommands,\n\t\t\t},\n\t\t};\n\n\t\tif (onlyTransactionKind) {\n\t\t\treturn bcs.TransactionKind.serialize(kind, { maxSize: maxSizeBytes }).toBytes();\n\t\t}\n\n\t\tconst expiration = overrides?.expiration ?? this.expiration;\n\t\tconst sender = overrides?.sender ?? this.sender;\n\t\tconst gasData = { ...this.gasData, ...overrides?.gasConfig, ...overrides?.gasData };\n\n\t\tif (!sender) {\n\t\t\tthrow new Error('Missing transaction sender');\n\t\t}\n\n\t\tif (!gasData.budget) {\n\t\t\tthrow new Error('Missing gas budget');\n\t\t}\n\n\t\tif (!gasData.payment) {\n\t\t\tthrow new Error('Missing gas payment');\n\t\t}\n\n\t\tif (!gasData.price) {\n\t\t\tthrow new Error('Missing gas price');\n\t\t}\n\n\t\tconst transactionData = {\n\t\t\tsender: prepareSuiAddress(sender),\n\t\t\texpiration: expiration ? expiration : { None: true },\n\t\t\tgasData: {\n\t\t\t\tpayment: gasData.payment,\n\t\t\t\towner: prepareSuiAddress(this.gasData.owner ?? sender),\n\t\t\t\tprice: BigInt(gasData.price),\n\t\t\t\tbudget: BigInt(gasData.budget),\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\tProgrammableTransaction: {\n\t\t\t\t\tinputs,\n\t\t\t\t\tcommands,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\treturn bcs.TransactionData.serialize(\n\t\t\t{ V1: transactionData },\n\t\t\t{ maxSize: maxSizeBytes },\n\t\t).toBytes();\n\t}\n\n\taddInput<T extends 'object' | 'pure'>(type: T, arg: CallArg) {\n\t\tconst index = this.inputs.length;\n\t\tthis.inputs.push(arg);\n\t\treturn { Input: index, type, $kind: 'Input' as const };\n\t}\n\n\tgetInputUses(index: number, fn: (arg: Argument, command: Command) => void) {\n\t\tthis.mapArguments((arg, command) => {\n\t\t\tif (arg.$kind === 'Input' && arg.Input === index) {\n\t\t\t\tfn(arg, command);\n\t\t\t}\n\n\t\t\treturn arg;\n\t\t});\n\t}\n\n\tmapCommandArguments(\n\t\tindex: number,\n\t\tfn: (arg: Argument, command: Command, commandIndex: number) => Argument,\n\t) {\n\t\tconst command = this.commands[index];\n\n\t\tswitch (command.$kind) {\n\t\t\tcase 'MoveCall':\n\t\t\t\tcommand.MoveCall.arguments = command.MoveCall.arguments.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'TransferObjects':\n\t\t\t\tcommand.TransferObjects.objects = command.TransferObjects.objects.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tcommand.TransferObjects.address = fn(command.TransferObjects.address, command, index);\n\t\t\t\tbreak;\n\t\t\tcase 'SplitCoins':\n\t\t\t\tcommand.SplitCoins.coin = fn(command.SplitCoins.coin, command, index);\n\t\t\t\tcommand.SplitCoins.amounts = command.SplitCoins.amounts.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'MergeCoins':\n\t\t\t\tcommand.MergeCoins.destination = fn(command.MergeCoins.destination, command, index);\n\t\t\t\tcommand.MergeCoins.sources = command.MergeCoins.sources.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'MakeMoveVec':\n\t\t\t\tcommand.MakeMoveVec.elements = command.MakeMoveVec.elements.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'Upgrade':\n\t\t\t\tcommand.Upgrade.ticket = fn(command.Upgrade.ticket, command, index);\n\t\t\t\tbreak;\n\t\t\tcase '$Intent':\n\t\t\t\tconst inputs = command.$Intent.inputs;\n\t\t\t\tcommand.$Intent.inputs = {};\n\n\t\t\t\tfor (const [key, value] of Object.entries(inputs)) {\n\t\t\t\t\tcommand.$Intent.inputs[key] = Array.isArray(value)\n\t\t\t\t\t\t? value.map((arg) => fn(arg, command, index))\n\t\t\t\t\t\t: fn(value, command, index);\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase 'Publish':\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unexpected transaction kind: ${(command as { $kind: unknown }).$kind}`);\n\t\t}\n\t}\n\n\tmapArguments(fn: (arg: Argument, command: Command, commandIndex: number) => Argument) {\n\t\tfor (const commandIndex of this.commands.keys()) {\n\t\t\tthis.mapCommandArguments(commandIndex, fn);\n\t\t}\n\t}\n\n\treplaceCommand(index: number, replacement: Command | Command[], resultIndex = index) {\n\t\tif (!Array.isArray(replacement)) {\n\t\t\tthis.commands[index] = replacement;\n\t\t\treturn;\n\t\t}\n\n\t\tconst sizeDiff = replacement.length - 1;\n\t\tthis.commands.splice(index, 1, ...replacement);\n\n\t\tif (sizeDiff !== 0) {\n\t\t\tthis.mapArguments((arg, _command, commandIndex) => {\n\t\t\t\tif (commandIndex < index + replacement.length) {\n\t\t\t\t\treturn arg;\n\t\t\t\t}\n\n\t\t\t\tswitch (arg.$kind) {\n\t\t\t\t\tcase 'Result':\n\t\t\t\t\t\tif (arg.Result === index) {\n\t\t\t\t\t\t\targ.Result = resultIndex;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (arg.Result > index) {\n\t\t\t\t\t\t\targ.Result += sizeDiff;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'NestedResult':\n\t\t\t\t\t\tif (arg.NestedResult[0] === index) {\n\t\t\t\t\t\t\targ.NestedResult[0] = resultIndex;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (arg.NestedResult[0] > index) {\n\t\t\t\t\t\t\targ.NestedResult[0] += sizeDiff;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\treturn arg;\n\t\t\t});\n\t\t}\n\t}\n\n\tgetDigest() {\n\t\tconst bytes = this.build({ onlyTransactionKind: false });\n\t\treturn TransactionDataBuilder.getDigestFromBytes(bytes);\n\t}\n\n\tsnapshot(): TransactionData {\n\t\treturn parse(TransactionDataSchema, this);\n\t}\n\n\tshallowClone() {\n\t\treturn new TransactionDataBuilder({\n\t\t\tversion: this.version,\n\t\t\tsender: this.sender,\n\t\t\texpiration: this.expiration,\n\t\t\tgasData: {\n\t\t\t\t...this.gasData,\n\t\t\t},\n\t\t\tinputs: [...this.inputs],\n\t\t\tcommands: [...this.commands],\n\t\t});\n\t}\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAAyB;AAEzB,qBAAsB;AAEtB,IAAAA,cAAoB;AACpB,uBAAoC;AASpC,sBAAsC;AACtC,gBAAsC;AAGtC,kBAA8B;
|
|
6
|
-
"names": ["import_bcs"]
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { toBase58 } from '@mysten/bcs';\nimport type { InferInput } from 'valibot';\nimport { parse } from 'valibot';\n\nimport { bcs } from '../bcs/index.js';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport type {\n\tArgument,\n\tCallArg,\n\tCommand,\n\tGasData,\n\tTransactionExpiration,\n\tTransactionData,\n} from './data/internal.js';\nimport { TransactionDataSchema } from './data/internal.js';\nimport { transactionDataFromV1 } from './data/v1.js';\nimport type { SerializedTransactionDataV1 } from './data/v1.js';\nimport type { SerializedTransactionDataV2Schema } from './data/v2.js';\nimport { hashTypedData } from './hash.js';\nfunction prepareSuiAddress(address: string) {\n\treturn normalizeSuiAddress(address).replace('0x', '');\n}\n\nexport class TransactionDataBuilder implements TransactionData {\n\tstatic fromKindBytes(bytes: Uint8Array) {\n\t\tconst kind = bcs.TransactionKind.parse(bytes);\n\n\t\tconst programmableTx = kind.ProgrammableTransaction;\n\t\tif (!programmableTx) {\n\t\t\tthrow new Error('Unable to deserialize from bytes.');\n\t\t}\n\n\t\treturn TransactionDataBuilder.restore({\n\t\t\tversion: 2,\n\t\t\tsender: null,\n\t\t\texpiration: null,\n\t\t\tgasData: {\n\t\t\t\tbudget: null,\n\t\t\t\towner: null,\n\t\t\t\tpayment: null,\n\t\t\t\tprice: null,\n\t\t\t},\n\t\t\tinputs: programmableTx.inputs,\n\t\t\tcommands: programmableTx.commands,\n\t\t});\n\t}\n\n\tstatic fromBytes(bytes: Uint8Array) {\n\t\tconst rawData = bcs.TransactionData.parse(bytes);\n\t\tconst data = rawData?.V1;\n\t\tconst programmableTx = data.kind.ProgrammableTransaction;\n\n\t\tif (!data || !programmableTx) {\n\t\t\tthrow new Error('Unable to deserialize from bytes.');\n\t\t}\n\n\t\treturn TransactionDataBuilder.restore({\n\t\t\tversion: 2,\n\t\t\tsender: data.sender,\n\t\t\texpiration: data.expiration,\n\t\t\tgasData: data.gasData,\n\t\t\tinputs: programmableTx.inputs,\n\t\t\tcommands: programmableTx.commands,\n\t\t});\n\t}\n\n\tstatic restore(\n\t\tdata:\n\t\t\t| InferInput<typeof SerializedTransactionDataV2Schema>\n\t\t\t| InferInput<typeof SerializedTransactionDataV1>,\n\t) {\n\t\tif (data.version === 2) {\n\t\t\treturn new TransactionDataBuilder(parse(TransactionDataSchema, data));\n\t\t} else {\n\t\t\treturn new TransactionDataBuilder(parse(TransactionDataSchema, transactionDataFromV1(data)));\n\t\t}\n\t}\n\n\t/**\n\t * Generate transaction digest.\n\t *\n\t * @param bytes BCS serialized transaction data\n\t * @returns transaction digest.\n\t */\n\tstatic getDigestFromBytes(bytes: Uint8Array) {\n\t\tconst hash = hashTypedData('TransactionData', bytes);\n\t\treturn toBase58(hash);\n\t}\n\n\t// @deprecated use gasData instead\n\tget gasConfig() {\n\t\treturn this.gasData;\n\t}\n\t// @deprecated use gasData instead\n\tset gasConfig(value) {\n\t\tthis.gasData = value;\n\t}\n\n\tversion = 2 as const;\n\tsender: string | null;\n\texpiration: TransactionExpiration | null;\n\tgasData: GasData;\n\tinputs: CallArg[];\n\tcommands: Command[];\n\n\tconstructor(clone?: TransactionData) {\n\t\tthis.sender = clone?.sender ?? null;\n\t\tthis.expiration = clone?.expiration ?? null;\n\t\tthis.inputs = clone?.inputs ?? [];\n\t\tthis.commands = clone?.commands ?? [];\n\t\tthis.gasData = clone?.gasData ?? {\n\t\t\tbudget: null,\n\t\t\tprice: null,\n\t\t\towner: null,\n\t\t\tpayment: null,\n\t\t};\n\t}\n\n\tbuild({\n\t\tmaxSizeBytes = Infinity,\n\t\toverrides,\n\t\tonlyTransactionKind,\n\t}: {\n\t\tmaxSizeBytes?: number;\n\t\toverrides?: {\n\t\t\texpiration?: TransactionExpiration;\n\t\t\tsender?: string;\n\t\t\t// @deprecated use gasData instead\n\t\t\tgasConfig?: Partial<GasData>;\n\t\t\tgasData?: Partial<GasData>;\n\t\t};\n\t\tonlyTransactionKind?: boolean;\n\t} = {}) {\n\t\t// TODO validate that inputs and intents are actually resolved\n\t\tconst inputs = this.inputs as (typeof bcs.CallArg.$inferInput)[];\n\t\tconst commands = this.commands as Extract<\n\t\t\tCommand<Exclude<Argument, { IntentResult: unknown } | { NestedIntentResult: unknown }>>,\n\t\t\t{ Upgrade: unknown }\n\t\t>[];\n\n\t\tconst kind = {\n\t\t\tProgrammableTransaction: {\n\t\t\t\tinputs,\n\t\t\t\tcommands,\n\t\t\t},\n\t\t};\n\n\t\tif (onlyTransactionKind) {\n\t\t\treturn bcs.TransactionKind.serialize(kind, { maxSize: maxSizeBytes }).toBytes();\n\t\t}\n\n\t\tconst expiration = overrides?.expiration ?? this.expiration;\n\t\tconst sender = overrides?.sender ?? this.sender;\n\t\tconst gasData = { ...this.gasData, ...overrides?.gasConfig, ...overrides?.gasData };\n\n\t\tif (!sender) {\n\t\t\tthrow new Error('Missing transaction sender');\n\t\t}\n\n\t\tif (!gasData.budget) {\n\t\t\tthrow new Error('Missing gas budget');\n\t\t}\n\n\t\tif (!gasData.payment) {\n\t\t\tthrow new Error('Missing gas payment');\n\t\t}\n\n\t\tif (!gasData.price) {\n\t\t\tthrow new Error('Missing gas price');\n\t\t}\n\n\t\tconst transactionData = {\n\t\t\tsender: prepareSuiAddress(sender),\n\t\t\texpiration: expiration ? expiration : { None: true },\n\t\t\tgasData: {\n\t\t\t\tpayment: gasData.payment,\n\t\t\t\towner: prepareSuiAddress(this.gasData.owner ?? sender),\n\t\t\t\tprice: BigInt(gasData.price),\n\t\t\t\tbudget: BigInt(gasData.budget),\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\tProgrammableTransaction: {\n\t\t\t\t\tinputs,\n\t\t\t\t\tcommands,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\treturn bcs.TransactionData.serialize(\n\t\t\t{ V1: transactionData },\n\t\t\t{ maxSize: maxSizeBytes },\n\t\t).toBytes();\n\t}\n\n\taddInput<T extends 'object' | 'pure'>(type: T, arg: CallArg) {\n\t\tconst index = this.inputs.length;\n\t\tthis.inputs.push(arg);\n\t\treturn { Input: index, type, $kind: 'Input' as const };\n\t}\n\n\tgetInputUses(index: number, fn: (arg: Argument, command: Command) => void) {\n\t\tthis.mapArguments((arg, command) => {\n\t\t\tif (arg.$kind === 'Input' && arg.Input === index) {\n\t\t\t\tfn(arg, command);\n\t\t\t}\n\n\t\t\treturn arg;\n\t\t});\n\t}\n\n\tmapCommandArguments(\n\t\tindex: number,\n\t\tfn: (arg: Argument, command: Command, commandIndex: number) => Argument,\n\t) {\n\t\tconst command = this.commands[index];\n\n\t\tswitch (command.$kind) {\n\t\t\tcase 'MoveCall':\n\t\t\t\tcommand.MoveCall.arguments = command.MoveCall.arguments.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'TransferObjects':\n\t\t\t\tcommand.TransferObjects.objects = command.TransferObjects.objects.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tcommand.TransferObjects.address = fn(command.TransferObjects.address, command, index);\n\t\t\t\tbreak;\n\t\t\tcase 'SplitCoins':\n\t\t\t\tcommand.SplitCoins.coin = fn(command.SplitCoins.coin, command, index);\n\t\t\t\tcommand.SplitCoins.amounts = command.SplitCoins.amounts.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'MergeCoins':\n\t\t\t\tcommand.MergeCoins.destination = fn(command.MergeCoins.destination, command, index);\n\t\t\t\tcommand.MergeCoins.sources = command.MergeCoins.sources.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'MakeMoveVec':\n\t\t\t\tcommand.MakeMoveVec.elements = command.MakeMoveVec.elements.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'Upgrade':\n\t\t\t\tcommand.Upgrade.ticket = fn(command.Upgrade.ticket, command, index);\n\t\t\t\tbreak;\n\t\t\tcase '$Intent':\n\t\t\t\tconst inputs = command.$Intent.inputs;\n\t\t\t\tcommand.$Intent.inputs = {};\n\n\t\t\t\tfor (const [key, value] of Object.entries(inputs)) {\n\t\t\t\t\tcommand.$Intent.inputs[key] = Array.isArray(value)\n\t\t\t\t\t\t? value.map((arg) => fn(arg, command, index))\n\t\t\t\t\t\t: fn(value, command, index);\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase 'Publish':\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unexpected transaction kind: ${(command as { $kind: unknown }).$kind}`);\n\t\t}\n\t}\n\n\tmapArguments(fn: (arg: Argument, command: Command, commandIndex: number) => Argument) {\n\t\tfor (const commandIndex of this.commands.keys()) {\n\t\t\tthis.mapCommandArguments(commandIndex, fn);\n\t\t}\n\t}\n\n\treplaceCommand(index: number, replacement: Command | Command[], resultIndex = index) {\n\t\tif (!Array.isArray(replacement)) {\n\t\t\tthis.commands[index] = replacement;\n\t\t\treturn;\n\t\t}\n\n\t\tconst sizeDiff = replacement.length - 1;\n\t\tthis.commands.splice(index, 1, ...replacement);\n\n\t\tif (sizeDiff !== 0) {\n\t\t\tthis.mapArguments((arg, _command, commandIndex) => {\n\t\t\t\tif (commandIndex < index + replacement.length) {\n\t\t\t\t\treturn arg;\n\t\t\t\t}\n\n\t\t\t\tswitch (arg.$kind) {\n\t\t\t\t\tcase 'Result':\n\t\t\t\t\t\tif (arg.Result === index) {\n\t\t\t\t\t\t\targ.Result = resultIndex;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (arg.Result > index) {\n\t\t\t\t\t\t\targ.Result += sizeDiff;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'NestedResult':\n\t\t\t\t\t\tif (arg.NestedResult[0] === index) {\n\t\t\t\t\t\t\targ.NestedResult[0] = resultIndex;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (arg.NestedResult[0] > index) {\n\t\t\t\t\t\t\targ.NestedResult[0] += sizeDiff;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\treturn arg;\n\t\t\t});\n\t\t}\n\t}\n\n\tgetDigest() {\n\t\tconst bytes = this.build({ onlyTransactionKind: false });\n\t\treturn TransactionDataBuilder.getDigestFromBytes(bytes);\n\t}\n\n\tsnapshot(): TransactionData {\n\t\treturn parse(TransactionDataSchema, this);\n\t}\n\n\tshallowClone() {\n\t\treturn new TransactionDataBuilder({\n\t\t\tversion: this.version,\n\t\t\tsender: this.sender,\n\t\t\texpiration: this.expiration,\n\t\t\tgasData: {\n\t\t\t\t...this.gasData,\n\t\t\t},\n\t\t\tinputs: [...this.inputs],\n\t\t\tcommands: [...this.commands],\n\t\t});\n\t}\n\n\tapplyResolvedData(resolved: TransactionData) {\n\t\tif (!this.sender) {\n\t\t\tthis.sender = resolved.sender ?? null;\n\t\t}\n\n\t\tif (!this.expiration) {\n\t\t\tthis.expiration = resolved.expiration ?? null;\n\t\t}\n\n\t\tif (!this.gasData.budget) {\n\t\t\tthis.gasData.budget = resolved.gasData.budget;\n\t\t}\n\n\t\tif (!this.gasData.owner) {\n\t\t\tthis.gasData.owner = resolved.gasData.owner ?? null;\n\t\t}\n\n\t\tif (!this.gasData.payment) {\n\t\t\tthis.gasData.payment = resolved.gasData.payment;\n\t\t}\n\n\t\tif (!this.gasData.price) {\n\t\t\tthis.gasData.price = resolved.gasData.price;\n\t\t}\n\n\t\tfor (let i = 0; i < this.inputs.length; i++) {\n\t\t\tconst input = this.inputs[i];\n\t\t\tconst resolvedInput = resolved.inputs[i];\n\n\t\t\tswitch (input.$kind) {\n\t\t\t\tcase 'UnresolvedPure':\n\t\t\t\t\tif (resolvedInput.$kind !== 'Pure') {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Expected input at index ${i} to resolve to a Pure argument, but got ${JSON.stringify(\n\t\t\t\t\t\t\t\tresolvedInput,\n\t\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tthis.inputs[i] = resolvedInput;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'UnresolvedObject':\n\t\t\t\t\tif (resolvedInput.$kind !== 'Object') {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Expected input at index ${i} to resolve to an Object argument, but got ${JSON.stringify(\n\t\t\t\t\t\t\t\tresolvedInput,\n\t\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tresolvedInput.Object.$kind === 'ImmOrOwnedObject' ||\n\t\t\t\t\t\tresolvedInput.Object.$kind === 'Receiving'\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst original = input.UnresolvedObject;\n\t\t\t\t\t\tconst resolved =\n\t\t\t\t\t\t\tresolvedInput.Object.ImmOrOwnedObject ?? resolvedInput.Object.Receiving!;\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnormalizeSuiAddress(original.objectId) !== normalizeSuiAddress(resolved.objectId) ||\n\t\t\t\t\t\t\t(original.version != null && original.version !== resolved.version) ||\n\t\t\t\t\t\t\t(original.digest != null && original.digest !== resolved.digest) ||\n\t\t\t\t\t\t\t// Objects with shared object properties should not resolve to owned objects\n\t\t\t\t\t\t\toriginal.mutable != null ||\n\t\t\t\t\t\t\toriginal.initialSharedVersion != null\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved)}`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (resolvedInput.Object.$kind === 'SharedObject') {\n\t\t\t\t\t\tconst original = input.UnresolvedObject;\n\t\t\t\t\t\tconst resolved = resolvedInput.Object.SharedObject;\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnormalizeSuiAddress(original.objectId) !== normalizeSuiAddress(resolved.objectId) ||\n\t\t\t\t\t\t\t(original.initialSharedVersion != null &&\n\t\t\t\t\t\t\t\toriginal.initialSharedVersion !== resolved.initialSharedVersion) ||\n\t\t\t\t\t\t\t(original.mutable != null && original.mutable !== resolved.mutable) ||\n\t\t\t\t\t\t\t// Objects with owned object properties should not resolve to shared objects\n\t\t\t\t\t\t\toriginal.version != null ||\n\t\t\t\t\t\t\toriginal.digest != null\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved)}`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Input at index ${i} resolved to an unexpected Object kind: ${JSON.stringify(\n\t\t\t\t\t\t\t\tresolvedInput.Object,\n\t\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.inputs[i] = resolvedInput;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_bcs", "resolved"]
|
|
7
7
|
}
|
|
@@ -64,7 +64,7 @@ function getPureBcsSchema(typeSignature) {
|
|
|
64
64
|
}
|
|
65
65
|
if ("vector" in typeSignature) {
|
|
66
66
|
if (typeSignature.vector === "u8") {
|
|
67
|
-
return import_bcs.bcs.
|
|
67
|
+
return import_bcs.bcs.byteVector().transform({
|
|
68
68
|
input: (val) => typeof val === "string" ? new TextEncoder().encode(val) : val,
|
|
69
69
|
output: (val) => val
|
|
70
70
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/transactions/serializer.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { BcsType } from '@mysten/bcs';\n\nimport { bcs } from '../bcs/index.js';\nimport type { SuiMoveNormalizedType } from '../client/index.js';\nimport { MOVE_STDLIB_ADDRESS, SUI_FRAMEWORK_ADDRESS } from '../utils/index.js';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport type { OpenMoveTypeSignature, OpenMoveTypeSignatureBody } from './data/internal.js';\n\nconst OBJECT_MODULE_NAME = 'object';\nconst ID_STRUCT_NAME = 'ID';\n\nconst STD_ASCII_MODULE_NAME = 'ascii';\nconst STD_ASCII_STRUCT_NAME = 'String';\n\nconst STD_UTF8_MODULE_NAME = 'string';\nconst STD_UTF8_STRUCT_NAME = 'String';\n\nconst STD_OPTION_MODULE_NAME = 'option';\nconst STD_OPTION_STRUCT_NAME = 'Option';\n\nexport function isTxContext(param: OpenMoveTypeSignature): boolean {\n\tconst struct =\n\t\ttypeof param.body === 'object' && 'datatype' in param.body ? param.body.datatype : null;\n\n\treturn (\n\t\t!!struct &&\n\t\tnormalizeSuiAddress(struct.package) === normalizeSuiAddress('0x2') &&\n\t\tstruct.module === 'tx_context' &&\n\t\tstruct.type === 'TxContext'\n\t);\n}\n\nexport function getPureBcsSchema(typeSignature: OpenMoveTypeSignatureBody): BcsType<any> | null {\n\tif (typeof typeSignature === 'string') {\n\t\tswitch (typeSignature) {\n\t\t\tcase 'address':\n\t\t\t\treturn bcs.Address;\n\t\t\tcase 'bool':\n\t\t\t\treturn bcs.Bool;\n\t\t\tcase 'u8':\n\t\t\t\treturn bcs.U8;\n\t\t\tcase 'u16':\n\t\t\t\treturn bcs.U16;\n\t\t\tcase 'u32':\n\t\t\t\treturn bcs.U32;\n\t\t\tcase 'u64':\n\t\t\t\treturn bcs.U64;\n\t\t\tcase 'u128':\n\t\t\t\treturn bcs.U128;\n\t\t\tcase 'u256':\n\t\t\t\treturn bcs.U256;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown type signature ${typeSignature}`);\n\t\t}\n\t}\n\n\tif ('vector' in typeSignature) {\n\t\tif (typeSignature.vector === 'u8') {\n\t\t\treturn bcs.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,iBAAoB;AAEpB,mBAA2D;AAC3D,uBAAoC;AAGpC,MAAM,qBAAqB;AAC3B,MAAM,iBAAiB;AAEvB,MAAM,wBAAwB;AAC9B,MAAM,wBAAwB;AAE9B,MAAM,uBAAuB;AAC7B,MAAM,uBAAuB;AAE7B,MAAM,yBAAyB;AAC/B,MAAM,yBAAyB;AAExB,SAAS,YAAY,OAAuC;AAClE,QAAM,SACL,OAAO,MAAM,SAAS,YAAY,cAAc,MAAM,OAAO,MAAM,KAAK,WAAW;AAEpF,SACC,CAAC,CAAC,cACF,sCAAoB,OAAO,OAAO,UAAM,sCAAoB,KAAK,KACjE,OAAO,WAAW,gBAClB,OAAO,SAAS;AAElB;AAEO,SAAS,iBAAiB,eAA+D;AAC/F,MAAI,OAAO,kBAAkB,UAAU;AACtC,YAAQ,eAAe;AAAA,MACtB,KAAK;AACJ,eAAO,eAAI;AAAA,MACZ,KAAK;AACJ,eAAO,eAAI;AAAA,MACZ,KAAK;AACJ,eAAO,eAAI;AAAA,MACZ,KAAK;AACJ,eAAO,eAAI;AAAA,MACZ,KAAK;AACJ,eAAO,eAAI;AAAA,MACZ,KAAK;AACJ,eAAO,eAAI;AAAA,MACZ,KAAK;AACJ,eAAO,eAAI;AAAA,MACZ,KAAK;AACJ,eAAO,eAAI;AAAA,MACZ;AACC,cAAM,IAAI,MAAM,0BAA0B,aAAa,EAAE;AAAA,IAC3D;AAAA,EACD;AAEA,MAAI,YAAY,eAAe;AAC9B,QAAI,cAAc,WAAW,MAAM;AAClC,aAAO,eAAI,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { BcsType } from '@mysten/bcs';\n\nimport { bcs } from '../bcs/index.js';\nimport type { SuiMoveNormalizedType } from '../client/index.js';\nimport { MOVE_STDLIB_ADDRESS, SUI_FRAMEWORK_ADDRESS } from '../utils/index.js';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport type { OpenMoveTypeSignature, OpenMoveTypeSignatureBody } from './data/internal.js';\n\nconst OBJECT_MODULE_NAME = 'object';\nconst ID_STRUCT_NAME = 'ID';\n\nconst STD_ASCII_MODULE_NAME = 'ascii';\nconst STD_ASCII_STRUCT_NAME = 'String';\n\nconst STD_UTF8_MODULE_NAME = 'string';\nconst STD_UTF8_STRUCT_NAME = 'String';\n\nconst STD_OPTION_MODULE_NAME = 'option';\nconst STD_OPTION_STRUCT_NAME = 'Option';\n\nexport function isTxContext(param: OpenMoveTypeSignature): boolean {\n\tconst struct =\n\t\ttypeof param.body === 'object' && 'datatype' in param.body ? param.body.datatype : null;\n\n\treturn (\n\t\t!!struct &&\n\t\tnormalizeSuiAddress(struct.package) === normalizeSuiAddress('0x2') &&\n\t\tstruct.module === 'tx_context' &&\n\t\tstruct.type === 'TxContext'\n\t);\n}\n\nexport function getPureBcsSchema(typeSignature: OpenMoveTypeSignatureBody): BcsType<any> | null {\n\tif (typeof typeSignature === 'string') {\n\t\tswitch (typeSignature) {\n\t\t\tcase 'address':\n\t\t\t\treturn bcs.Address;\n\t\t\tcase 'bool':\n\t\t\t\treturn bcs.Bool;\n\t\t\tcase 'u8':\n\t\t\t\treturn bcs.U8;\n\t\t\tcase 'u16':\n\t\t\t\treturn bcs.U16;\n\t\t\tcase 'u32':\n\t\t\t\treturn bcs.U32;\n\t\t\tcase 'u64':\n\t\t\t\treturn bcs.U64;\n\t\t\tcase 'u128':\n\t\t\t\treturn bcs.U128;\n\t\t\tcase 'u256':\n\t\t\t\treturn bcs.U256;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown type signature ${typeSignature}`);\n\t\t}\n\t}\n\n\tif ('vector' in typeSignature) {\n\t\tif (typeSignature.vector === 'u8') {\n\t\t\treturn bcs.byteVector().transform({\n\t\t\t\tinput: (val: string | Uint8Array) =>\n\t\t\t\t\ttypeof val === 'string' ? new TextEncoder().encode(val) : val,\n\t\t\t\toutput: (val) => val,\n\t\t\t});\n\t\t}\n\t\tconst type = getPureBcsSchema(typeSignature.vector);\n\t\treturn type ? bcs.vector(type) : null;\n\t}\n\n\tif ('datatype' in typeSignature) {\n\t\tconst pkg = normalizeSuiAddress(typeSignature.datatype.package);\n\n\t\tif (pkg === normalizeSuiAddress(MOVE_STDLIB_ADDRESS)) {\n\t\t\tif (\n\t\t\t\ttypeSignature.datatype.module === STD_ASCII_MODULE_NAME &&\n\t\t\t\ttypeSignature.datatype.type === STD_ASCII_STRUCT_NAME\n\t\t\t) {\n\t\t\t\treturn bcs.String;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\ttypeSignature.datatype.module === STD_UTF8_MODULE_NAME &&\n\t\t\t\ttypeSignature.datatype.type === STD_UTF8_STRUCT_NAME\n\t\t\t) {\n\t\t\t\treturn bcs.String;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\ttypeSignature.datatype.module === STD_OPTION_MODULE_NAME &&\n\t\t\t\ttypeSignature.datatype.type === STD_OPTION_STRUCT_NAME\n\t\t\t) {\n\t\t\t\tconst type = getPureBcsSchema(typeSignature.datatype.typeParameters[0]);\n\t\t\t\treturn type ? bcs.vector(type) : null;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tpkg === normalizeSuiAddress(SUI_FRAMEWORK_ADDRESS) &&\n\t\t\ttypeSignature.datatype.module === OBJECT_MODULE_NAME &&\n\t\t\ttypeSignature.datatype.type === ID_STRUCT_NAME\n\t\t) {\n\t\t\treturn bcs.Address;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport function normalizedTypeToMoveTypeSignature(\n\ttype: SuiMoveNormalizedType,\n): OpenMoveTypeSignature {\n\tif (typeof type === 'object' && 'Reference' in type) {\n\t\treturn {\n\t\t\tref: '&',\n\t\t\tbody: normalizedTypeToMoveTypeSignatureBody(type.Reference),\n\t\t};\n\t}\n\tif (typeof type === 'object' && 'MutableReference' in type) {\n\t\treturn {\n\t\t\tref: '&mut',\n\t\t\tbody: normalizedTypeToMoveTypeSignatureBody(type.MutableReference),\n\t\t};\n\t}\n\n\treturn {\n\t\tref: null,\n\t\tbody: normalizedTypeToMoveTypeSignatureBody(type),\n\t};\n}\n\nfunction normalizedTypeToMoveTypeSignatureBody(\n\ttype: SuiMoveNormalizedType,\n): OpenMoveTypeSignatureBody {\n\tif (typeof type === 'string') {\n\t\tswitch (type) {\n\t\t\tcase 'Address':\n\t\t\t\treturn 'address';\n\t\t\tcase 'Bool':\n\t\t\t\treturn 'bool';\n\t\t\tcase 'U8':\n\t\t\t\treturn 'u8';\n\t\t\tcase 'U16':\n\t\t\t\treturn 'u16';\n\t\t\tcase 'U32':\n\t\t\t\treturn 'u32';\n\t\t\tcase 'U64':\n\t\t\t\treturn 'u64';\n\t\t\tcase 'U128':\n\t\t\t\treturn 'u128';\n\t\t\tcase 'U256':\n\t\t\t\treturn 'u256';\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unexpected type ${type}`);\n\t\t}\n\t}\n\n\tif ('Vector' in type) {\n\t\treturn { vector: normalizedTypeToMoveTypeSignatureBody(type.Vector) };\n\t}\n\n\tif ('Struct' in type) {\n\t\treturn {\n\t\t\tdatatype: {\n\t\t\t\tpackage: type.Struct.address,\n\t\t\t\tmodule: type.Struct.module,\n\t\t\t\ttype: type.Struct.name,\n\t\t\t\ttypeParameters: type.Struct.typeArguments.map(normalizedTypeToMoveTypeSignatureBody),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('TypeParameter' in type) {\n\t\treturn { typeParameter: type.TypeParameter };\n\t}\n\n\tthrow new Error(`Unexpected type ${JSON.stringify(type)}`);\n}\n\nexport function pureBcsSchemaFromOpenMoveTypeSignatureBody(\n\ttypeSignature: OpenMoveTypeSignatureBody,\n): BcsType<any> {\n\tif (typeof typeSignature === 'string') {\n\t\tswitch (typeSignature) {\n\t\t\tcase 'address':\n\t\t\t\treturn bcs.Address;\n\t\t\tcase 'bool':\n\t\t\t\treturn bcs.Bool;\n\t\t\tcase 'u8':\n\t\t\t\treturn bcs.U8;\n\t\t\tcase 'u16':\n\t\t\t\treturn bcs.U16;\n\t\t\tcase 'u32':\n\t\t\t\treturn bcs.U32;\n\t\t\tcase 'u64':\n\t\t\t\treturn bcs.U64;\n\t\t\tcase 'u128':\n\t\t\t\treturn bcs.U128;\n\t\t\tcase 'u256':\n\t\t\t\treturn bcs.U256;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown type signature ${typeSignature}`);\n\t\t}\n\t}\n\n\tif ('vector' in typeSignature) {\n\t\treturn bcs.vector(pureBcsSchemaFromOpenMoveTypeSignatureBody(typeSignature.vector));\n\t}\n\n\tthrow new Error(`Expected pure typeSignature, but got ${JSON.stringify(typeSignature)}`);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -6,3 +6,4 @@ export { SUI_DECIMALS, MIST_PER_SUI, MOVE_STDLIB_ADDRESS, SUI_FRAMEWORK_ADDRESS,
|
|
|
6
6
|
export { isValidNamedPackage, isValidNamedType } from './move-registry.js';
|
|
7
7
|
export { deriveDynamicFieldID } from './dynamic-fields.js';
|
|
8
8
|
export { deriveObjectID } from './derived-objects.js';
|
|
9
|
+
export { normalizeTypeTag } from '../bcs/type-tag-serializer.js';
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -48,6 +48,7 @@ __export(utils_exports, {
|
|
|
48
48
|
normalizeSuiAddress: () => import_sui_types.normalizeSuiAddress,
|
|
49
49
|
normalizeSuiNSName: () => import_suins.normalizeSuiNSName,
|
|
50
50
|
normalizeSuiObjectId: () => import_sui_types.normalizeSuiObjectId,
|
|
51
|
+
normalizeTypeTag: () => import_type_tag_serializer.normalizeTypeTag,
|
|
51
52
|
parseStructTag: () => import_sui_types.parseStructTag,
|
|
52
53
|
toB64: () => import_bcs.toB64,
|
|
53
54
|
toBase58: () => import_bcs.toBase58,
|
|
@@ -64,4 +65,5 @@ var import_constants = require("./constants.js");
|
|
|
64
65
|
var import_move_registry = require("./move-registry.js");
|
|
65
66
|
var import_dynamic_fields = require("./dynamic-fields.js");
|
|
66
67
|
var import_derived_objects = require("./derived-objects.js");
|
|
68
|
+
var import_type_tag_serializer = require("../bcs/type-tag-serializer.js");
|
|
67
69
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/index.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { formatAddress, formatDigest } from './format.js';\nexport {\n\tisValidSuiAddress,\n\tisValidSuiObjectId,\n\tisValidTransactionDigest,\n\tnormalizeStructTag,\n\tnormalizeSuiAddress,\n\tnormalizeSuiObjectId,\n\tparseStructTag,\n\tSUI_ADDRESS_LENGTH,\n} from './sui-types.js';\n\nexport {\n\tfromB64,\n\ttoB64,\n\tfromHEX,\n\ttoHex,\n\ttoHEX,\n\tfromHex,\n\tfromBase64,\n\ttoBase64,\n\tfromBase58,\n\ttoBase58,\n} from '@mysten/bcs';\nexport { isValidSuiNSName, normalizeSuiNSName } from './suins.js';\n\nexport {\n\tSUI_DECIMALS,\n\tMIST_PER_SUI,\n\tMOVE_STDLIB_ADDRESS,\n\tSUI_FRAMEWORK_ADDRESS,\n\tSUI_SYSTEM_ADDRESS,\n\tSUI_CLOCK_OBJECT_ID,\n\tSUI_SYSTEM_MODULE_NAME,\n\tSUI_TYPE_ARG,\n\tSUI_SYSTEM_STATE_OBJECT_ID,\n\tSUI_RANDOM_OBJECT_ID,\n} from './constants.js';\n\nexport { isValidNamedPackage, isValidNamedType } from './move-registry.js';\n\nexport { deriveDynamicFieldID } from './dynamic-fields.js';\n\nexport { deriveObjectID } from './derived-objects.js';\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4C;AAC5C,uBASO;AAEP,iBAWO;AACP,mBAAqD;AAErD,uBAWO;AAEP,2BAAsD;AAEtD,4BAAqC;AAErC,6BAA+B;",
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { formatAddress, formatDigest } from './format.js';\nexport {\n\tisValidSuiAddress,\n\tisValidSuiObjectId,\n\tisValidTransactionDigest,\n\tnormalizeStructTag,\n\tnormalizeSuiAddress,\n\tnormalizeSuiObjectId,\n\tparseStructTag,\n\tSUI_ADDRESS_LENGTH,\n} from './sui-types.js';\n\nexport {\n\tfromB64,\n\ttoB64,\n\tfromHEX,\n\ttoHex,\n\ttoHEX,\n\tfromHex,\n\tfromBase64,\n\ttoBase64,\n\tfromBase58,\n\ttoBase58,\n} from '@mysten/bcs';\nexport { isValidSuiNSName, normalizeSuiNSName } from './suins.js';\n\nexport {\n\tSUI_DECIMALS,\n\tMIST_PER_SUI,\n\tMOVE_STDLIB_ADDRESS,\n\tSUI_FRAMEWORK_ADDRESS,\n\tSUI_SYSTEM_ADDRESS,\n\tSUI_CLOCK_OBJECT_ID,\n\tSUI_SYSTEM_MODULE_NAME,\n\tSUI_TYPE_ARG,\n\tSUI_SYSTEM_STATE_OBJECT_ID,\n\tSUI_RANDOM_OBJECT_ID,\n} from './constants.js';\n\nexport { isValidNamedPackage, isValidNamedType } from './move-registry.js';\n\nexport { deriveDynamicFieldID } from './dynamic-fields.js';\n\nexport { deriveObjectID } from './derived-objects.js';\nexport { normalizeTypeTag } from '../bcs/type-tag-serializer.js';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4C;AAC5C,uBASO;AAEP,iBAWO;AACP,mBAAqD;AAErD,uBAWO;AAEP,2BAAsD;AAEtD,4BAAqC;AAErC,6BAA+B;AAC/B,iCAAiC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PACKAGE_VERSION = "1.
|
|
2
|
-
export declare const TARGETED_RPC_VERSION = "1.
|
|
1
|
+
export declare const PACKAGE_VERSION = "1.43.0";
|
|
2
|
+
export declare const TARGETED_RPC_VERSION = "1.60.0";
|
package/dist/cjs/version.js
CHANGED
|
@@ -22,6 +22,6 @@ __export(version_exports, {
|
|
|
22
22
|
TARGETED_RPC_VERSION: () => TARGETED_RPC_VERSION
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(version_exports);
|
|
25
|
-
const PACKAGE_VERSION = "1.
|
|
26
|
-
const TARGETED_RPC_VERSION = "1.
|
|
25
|
+
const PACKAGE_VERSION = "1.43.0";
|
|
26
|
+
const TARGETED_RPC_VERSION = "1.60.0";
|
|
27
27
|
//# sourceMappingURL=version.js.map
|
package/dist/cjs/version.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/version.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '1.
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '1.43.0';\nexport const TARGETED_RPC_VERSION = '1.60.0';\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,kBAAkB;AACxB,MAAM,uBAAuB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -22,9 +22,7 @@ export declare const zkLoginSignature: import("@mysten/bcs").BcsStruct<{
|
|
|
22
22
|
addressSeed: import("@mysten/bcs").BcsType<string, string, "string">;
|
|
23
23
|
}, string>;
|
|
24
24
|
maxEpoch: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
25
|
-
userSignature: import("@mysten/bcs").BcsType<
|
|
26
|
-
length: number;
|
|
27
|
-
}, string>;
|
|
25
|
+
userSignature: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
|
|
28
26
|
}, string>;
|
|
29
27
|
export type ZkLoginSignature = InferBcsInput<typeof zkLoginSignature>;
|
|
30
28
|
export type ZkLoginSignatureInputs = ZkLoginSignature['inputs'];
|
package/dist/cjs/zklogin/bcs.js
CHANGED
|
@@ -37,6 +37,6 @@ const zkLoginSignature = import_bcs.bcs.struct("ZkLoginSignature", {
|
|
|
37
37
|
addressSeed: import_bcs.bcs.string()
|
|
38
38
|
}),
|
|
39
39
|
maxEpoch: import_bcs.bcs.u64(),
|
|
40
|
-
userSignature: import_bcs.bcs.
|
|
40
|
+
userSignature: import_bcs.bcs.byteVector()
|
|
41
41
|
});
|
|
42
42
|
//# sourceMappingURL=bcs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/zklogin/bcs.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { InferBcsInput } from '@mysten/bcs';\nimport { bcs } from '@mysten/bcs';\n\nexport const zkLoginSignature = bcs.struct('ZkLoginSignature', {\n\tinputs: bcs.struct('ZkLoginSignatureInputs', {\n\t\tproofPoints: bcs.struct('ZkLoginSignatureInputsProofPoints', {\n\t\t\ta: bcs.vector(bcs.string()),\n\t\t\tb: bcs.vector(bcs.vector(bcs.string())),\n\t\t\tc: bcs.vector(bcs.string()),\n\t\t}),\n\t\tissBase64Details: bcs.struct('ZkLoginSignatureInputsClaim', {\n\t\t\tvalue: bcs.string(),\n\t\t\tindexMod4: bcs.u8(),\n\t\t}),\n\t\theaderBase64: bcs.string(),\n\t\taddressSeed: bcs.string(),\n\t}),\n\tmaxEpoch: bcs.u64(),\n\tuserSignature: bcs.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAoB;AAEb,MAAM,mBAAmB,eAAI,OAAO,oBAAoB;AAAA,EAC9D,QAAQ,eAAI,OAAO,0BAA0B;AAAA,IAC5C,aAAa,eAAI,OAAO,qCAAqC;AAAA,MAC5D,GAAG,eAAI,OAAO,eAAI,OAAO,CAAC;AAAA,MAC1B,GAAG,eAAI,OAAO,eAAI,OAAO,eAAI,OAAO,CAAC,CAAC;AAAA,MACtC,GAAG,eAAI,OAAO,eAAI,OAAO,CAAC;AAAA,IAC3B,CAAC;AAAA,IACD,kBAAkB,eAAI,OAAO,+BAA+B;AAAA,MAC3D,OAAO,eAAI,OAAO;AAAA,MAClB,WAAW,eAAI,GAAG;AAAA,IACnB,CAAC;AAAA,IACD,cAAc,eAAI,OAAO;AAAA,IACzB,aAAa,eAAI,OAAO;AAAA,EACzB,CAAC;AAAA,EACD,UAAU,eAAI,IAAI;AAAA,EAClB,eAAe,eAAI,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { InferBcsInput } from '@mysten/bcs';\nimport { bcs } from '@mysten/bcs';\n\nexport const zkLoginSignature = bcs.struct('ZkLoginSignature', {\n\tinputs: bcs.struct('ZkLoginSignatureInputs', {\n\t\tproofPoints: bcs.struct('ZkLoginSignatureInputsProofPoints', {\n\t\t\ta: bcs.vector(bcs.string()),\n\t\t\tb: bcs.vector(bcs.vector(bcs.string())),\n\t\t\tc: bcs.vector(bcs.string()),\n\t\t}),\n\t\tissBase64Details: bcs.struct('ZkLoginSignatureInputsClaim', {\n\t\t\tvalue: bcs.string(),\n\t\t\tindexMod4: bcs.u8(),\n\t\t}),\n\t\theaderBase64: bcs.string(),\n\t\taddressSeed: bcs.string(),\n\t}),\n\tmaxEpoch: bcs.u64(),\n\tuserSignature: bcs.byteVector(),\n});\n\nexport type ZkLoginSignature = InferBcsInput<typeof zkLoginSignature>;\nexport type ZkLoginSignatureInputs = ZkLoginSignature['inputs'];\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAoB;AAEb,MAAM,mBAAmB,eAAI,OAAO,oBAAoB;AAAA,EAC9D,QAAQ,eAAI,OAAO,0BAA0B;AAAA,IAC5C,aAAa,eAAI,OAAO,qCAAqC;AAAA,MAC5D,GAAG,eAAI,OAAO,eAAI,OAAO,CAAC;AAAA,MAC1B,GAAG,eAAI,OAAO,eAAI,OAAO,eAAI,OAAO,CAAC,CAAC;AAAA,MACtC,GAAG,eAAI,OAAO,eAAI,OAAO,CAAC;AAAA,IAC3B,CAAC;AAAA,IACD,kBAAkB,eAAI,OAAO,+BAA+B;AAAA,MAC3D,OAAO,eAAI,OAAO;AAAA,MAClB,WAAW,eAAI,GAAG;AAAA,IACnB,CAAC;AAAA,IACD,cAAc,eAAI,OAAO;AAAA,IACzB,aAAa,eAAI,OAAO;AAAA,EACzB,CAAC;AAAA,EACD,UAAU,eAAI,IAAI;AAAA,EAClB,eAAe,eAAI,WAAW;AAC/B,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|