@haneullabs/haneul 0.1.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 +1723 -0
- package/LICENSE +201 -0
- package/README.md +449 -0
- package/bcs/package.json +6 -0
- package/client/package.json +6 -0
- package/cryptography/package.json +6 -0
- package/dist/cjs/bcs/bcs.d.ts +1973 -0
- package/dist/cjs/bcs/bcs.js +328 -0
- package/dist/cjs/bcs/bcs.js.map +7 -0
- package/dist/cjs/bcs/effects.d.ts +579 -0
- package/dist/cjs/bcs/effects.js +210 -0
- package/dist/cjs/bcs/effects.js.map +7 -0
- package/dist/cjs/bcs/index.d.ts +2589 -0
- package/dist/cjs/bcs/index.js +80 -0
- package/dist/cjs/bcs/index.js.map +7 -0
- package/dist/cjs/bcs/pure.d.ts +22 -0
- package/dist/cjs/bcs/pure.js +59 -0
- package/dist/cjs/bcs/pure.js.map +7 -0
- package/dist/cjs/bcs/type-tag-serializer.d.ts +7 -0
- package/dist/cjs/bcs/type-tag-serializer.js +117 -0
- package/dist/cjs/bcs/type-tag-serializer.js.map +7 -0
- package/dist/cjs/bcs/types.d.ts +114 -0
- package/dist/cjs/bcs/types.js +27 -0
- package/dist/cjs/bcs/types.js.map +7 -0
- package/dist/cjs/client/index.d.ts +5 -0
- package/dist/cjs/client/index.js +34 -0
- package/dist/cjs/client/index.js.map +7 -0
- package/dist/cjs/client/network.d.ts +1 -0
- package/dist/cjs/client/network.js +38 -0
- package/dist/cjs/client/network.js.map +7 -0
- package/dist/cjs/cryptography/index.d.ts +7 -0
- package/dist/cjs/cryptography/index.js +47 -0
- package/dist/cjs/cryptography/index.js.map +7 -0
- package/dist/cjs/cryptography/intent.d.ts +6 -0
- package/dist/cjs/cryptography/intent.js +35 -0
- package/dist/cjs/cryptography/intent.js.map +7 -0
- package/dist/cjs/cryptography/keypair.d.ts +72 -0
- package/dist/cjs/cryptography/keypair.js +118 -0
- package/dist/cjs/cryptography/keypair.js.map +7 -0
- package/dist/cjs/cryptography/mnemonics.d.ts +27 -0
- package/dist/cjs/cryptography/mnemonics.js +47 -0
- package/dist/cjs/cryptography/mnemonics.js.map +7 -0
- package/dist/cjs/cryptography/publickey.d.ts +67 -0
- package/dist/cjs/cryptography/publickey.js +140 -0
- package/dist/cjs/cryptography/publickey.js.map +7 -0
- package/dist/cjs/cryptography/signature-scheme.d.ts +24 -0
- package/dist/cjs/cryptography/signature-scheme.js +48 -0
- package/dist/cjs/cryptography/signature-scheme.js.map +7 -0
- package/dist/cjs/cryptography/signature.d.ts +65 -0
- package/dist/cjs/cryptography/signature.js +71 -0
- package/dist/cjs/cryptography/signature.js.map +7 -0
- package/dist/cjs/experimental/cache.d.ts +12 -0
- package/dist/cjs/experimental/cache.js +88 -0
- package/dist/cjs/experimental/cache.js.map +7 -0
- package/dist/cjs/experimental/client.d.ts +12 -0
- package/dist/cjs/experimental/client.js +46 -0
- package/dist/cjs/experimental/client.js.map +7 -0
- package/dist/cjs/experimental/core.d.ts +37 -0
- package/dist/cjs/experimental/core.js +114 -0
- package/dist/cjs/experimental/core.js.map +7 -0
- package/dist/cjs/experimental/errors.d.ts +8 -0
- package/dist/cjs/experimental/errors.js +54 -0
- package/dist/cjs/experimental/errors.js.map +7 -0
- package/dist/cjs/experimental/index.d.ts +7 -0
- package/dist/cjs/experimental/index.js +32 -0
- package/dist/cjs/experimental/index.js.map +7 -0
- package/dist/cjs/experimental/mvr.d.ts +42 -0
- package/dist/cjs/experimental/mvr.js +365 -0
- package/dist/cjs/experimental/mvr.js.map +7 -0
- package/dist/cjs/experimental/transports/utils.d.ts +3 -0
- package/dist/cjs/experimental/transports/utils.js +101 -0
- package/dist/cjs/experimental/transports/utils.js.map +7 -0
- package/dist/cjs/experimental/types.d.ts +434 -0
- package/dist/cjs/experimental/types.js +17 -0
- package/dist/cjs/experimental/types.js.map +7 -0
- package/dist/cjs/faucet/faucet.d.ts +65 -0
- package/dist/cjs/faucet/faucet.js +130 -0
- package/dist/cjs/faucet/faucet.js.map +7 -0
- package/dist/cjs/faucet/index.d.ts +1 -0
- package/dist/cjs/faucet/index.js +30 -0
- package/dist/cjs/faucet/index.js.map +7 -0
- package/dist/cjs/graphql/client.d.ts +50 -0
- package/dist/cjs/graphql/client.js +94 -0
- package/dist/cjs/graphql/client.js.map +7 -0
- package/dist/cjs/graphql/core.d.ts +32 -0
- package/dist/cjs/graphql/core.js +471 -0
- package/dist/cjs/graphql/core.js.map +7 -0
- package/dist/cjs/graphql/generated/2024.1/tada-env.d.ts +11380 -0
- package/dist/cjs/graphql/generated/2024.1/tada-env.js +13142 -0
- package/dist/cjs/graphql/generated/2024.1/tada-env.js.map +7 -0
- package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +12 -0
- package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js.map +7 -0
- package/dist/cjs/graphql/generated/2024.4/tada-env.d.ts +11496 -0
- package/dist/cjs/graphql/generated/2024.4/tada-env.js +13288 -0
- package/dist/cjs/graphql/generated/2024.4/tada-env.js.map +7 -0
- package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +12 -0
- package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js.map +7 -0
- package/dist/cjs/graphql/generated/latest/tada-env.d.ts +11128 -0
- package/dist/cjs/graphql/generated/latest/tada-env.js +12926 -0
- package/dist/cjs/graphql/generated/latest/tada-env.js.map +7 -0
- package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +12 -0
- package/dist/cjs/graphql/generated/latest/tsconfig.tada.js.map +7 -0
- package/dist/cjs/graphql/generated/queries.d.ts +4980 -0
- package/dist/cjs/graphql/generated/queries.js +803 -0
- package/dist/cjs/graphql/generated/queries.js.map +7 -0
- package/dist/cjs/graphql/index.d.ts +1 -0
- package/dist/cjs/graphql/index.js +26 -0
- package/dist/cjs/graphql/index.js.map +7 -0
- package/dist/cjs/graphql/schemas/2024.1/index.d.ts +10 -0
- package/dist/cjs/graphql/schemas/2024.1/index.js +29 -0
- package/dist/cjs/graphql/schemas/2024.1/index.js.map +7 -0
- package/dist/cjs/graphql/schemas/2024.4/index.d.ts +10 -0
- package/dist/cjs/graphql/schemas/2024.4/index.js +29 -0
- package/dist/cjs/graphql/schemas/2024.4/index.js.map +7 -0
- package/dist/cjs/graphql/schemas/latest/index.d.ts +10 -0
- package/dist/cjs/graphql/schemas/latest/index.js +29 -0
- package/dist/cjs/graphql/schemas/latest/index.js.map +7 -0
- package/dist/cjs/graphql/types.d.ts +71 -0
- package/dist/cjs/graphql/types.js +17 -0
- package/dist/cjs/graphql/types.js.map +7 -0
- package/dist/cjs/grpc/client.d.ts +33 -0
- package/dist/cjs/grpc/client.js +53 -0
- package/dist/cjs/grpc/client.js.map +7 -0
- package/dist/cjs/grpc/core.d.ts +30 -0
- package/dist/cjs/grpc/core.js +651 -0
- package/dist/cjs/grpc/core.js.map +7 -0
- package/dist/cjs/grpc/index.d.ts +4 -0
- package/dist/cjs/grpc/index.js +27 -0
- package/dist/cjs/grpc/index.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +173 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.js +139 -0
- package/dist/cjs/grpc/proto/google/protobuf/any.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +104 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.js +88 -0
- package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +25 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.js +31 -0
- package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +73 -0
- package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +169 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.js +199 -0
- package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +7 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +123 -0
- package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +7 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +525 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.js +332 -0
- package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +7 -0
- package/dist/cjs/grpc/proto/google/rpc/status.d.ts +46 -0
- package/dist/cjs/grpc/proto/google/rpc/status.js +48 -0
- package/dist/cjs/grpc/proto/google/rpc/status.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/argument.d.ts +66 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/argument.js +71 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/argument.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/balance_change.d.ts +34 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/balance_change.js +56 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/balance_change.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/bcs.d.ts +30 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/bcs.js +48 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/bcs.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint.d.ts +68 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint.js +64 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_contents.d.ts +74 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_contents.js +89 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_contents.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_summary.d.ts +195 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_summary.js +165 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_summary.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/effects.d.ts +338 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/effects.js +294 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/effects.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/epoch.d.ts +62 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/epoch.js +73 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/epoch.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/error_reason.d.ts +17 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/error_reason.js +30 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/error_reason.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/event.d.ts +88 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/event.js +86 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/event.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/executed_transaction.d.ts +80 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/executed_transaction.js +74 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/executed_transaction.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/execution_status.d.ts +843 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/execution_status.js +513 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/execution_status.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/gas_cost_summary.d.ts +41 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/gas_cost_summary.js +64 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/gas_cost_summary.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/input.d.ts +98 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/input.js +90 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/input.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/jwk.d.ts +70 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/jwk.js +88 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/jwk.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.client.d.ts +95 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.client.js +127 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.d.ts +420 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.js +327 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package.d.ts +579 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package.js +480 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.client.d.ts +61 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.client.js +86 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.d.ts +229 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.js +226 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.client.d.ts +41 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.client.js +60 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.d.ts +144 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.js +138 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/object.d.ts +127 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/object.js +113 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/object.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/object_reference.d.ts +34 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/object_reference.js +56 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/object_reference.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/owner.d.ts +61 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/owner.js +65 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/owner.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/protocol_config.d.ts +30 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/protocol_config.js +62 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/protocol_config.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature.d.ts +630 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature.js +514 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_scheme.d.ts +40 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_scheme.js +34 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_scheme.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.client.d.ts +35 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.client.js +49 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.d.ts +79 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.js +76 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.client.d.ts +71 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.client.js +99 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.d.ts +690 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.js +546 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.client.d.ts +55 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.client.js +59 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.d.ts +57 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.js +63 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/system_state.d.ts +684 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/system_state.js +674 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/system_state.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction.d.ts +1321 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction.js +931 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.d.ts +41 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.js +60 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.js.map +7 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.d.ts +184 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.js +159 -0
- package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.js.map +7 -0
- package/dist/cjs/jsonRpc/client.d.ts +264 -0
- package/dist/cjs/jsonRpc/client.js +832 -0
- package/dist/cjs/jsonRpc/client.js.map +7 -0
- package/dist/cjs/jsonRpc/core.d.ts +93 -0
- package/dist/cjs/jsonRpc/core.js +644 -0
- package/dist/cjs/jsonRpc/core.js.map +7 -0
- package/dist/cjs/jsonRpc/errors.d.ts +12 -0
- package/dist/cjs/jsonRpc/errors.js +60 -0
- package/dist/cjs/jsonRpc/errors.js.map +7 -0
- package/dist/cjs/jsonRpc/http-transport.d.ts +42 -0
- package/dist/cjs/jsonRpc/http-transport.js +119 -0
- package/dist/cjs/jsonRpc/http-transport.js.map +7 -0
- package/dist/cjs/jsonRpc/index.d.ts +4 -0
- package/dist/cjs/jsonRpc/index.js +32 -0
- package/dist/cjs/jsonRpc/index.js.map +7 -0
- package/dist/cjs/jsonRpc/json-rpc-resolver.d.ts +4 -0
- package/dist/cjs/jsonRpc/json-rpc-resolver.js +311 -0
- package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +7 -0
- package/dist/cjs/jsonRpc/rpc-websocket-client.d.ts +43 -0
- package/dist/cjs/jsonRpc/rpc-websocket-client.js +194 -0
- package/dist/cjs/jsonRpc/rpc-websocket-client.js.map +7 -0
- package/dist/cjs/jsonRpc/types/chain.d.ts +99 -0
- package/dist/cjs/jsonRpc/types/chain.js +17 -0
- package/dist/cjs/jsonRpc/types/chain.js.map +7 -0
- package/dist/cjs/jsonRpc/types/changes.d.ts +19 -0
- package/dist/cjs/jsonRpc/types/changes.js +17 -0
- package/dist/cjs/jsonRpc/types/changes.js.map +7 -0
- package/dist/cjs/jsonRpc/types/coins.d.ts +6 -0
- package/dist/cjs/jsonRpc/types/coins.js +17 -0
- package/dist/cjs/jsonRpc/types/coins.js.map +7 -0
- package/dist/cjs/jsonRpc/types/common.d.ts +2 -0
- package/dist/cjs/jsonRpc/types/common.js +17 -0
- package/dist/cjs/jsonRpc/types/common.js.map +7 -0
- package/dist/cjs/jsonRpc/types/generated.d.ts +1492 -0
- package/dist/cjs/jsonRpc/types/generated.js +17 -0
- package/dist/cjs/jsonRpc/types/generated.js.map +7 -0
- package/dist/cjs/jsonRpc/types/index.d.ts +6 -0
- package/dist/cjs/jsonRpc/types/index.js +17 -0
- package/dist/cjs/jsonRpc/types/index.js.map +7 -0
- package/dist/cjs/jsonRpc/types/params.d.ts +656 -0
- package/dist/cjs/jsonRpc/types/params.js +17 -0
- package/dist/cjs/jsonRpc/types/params.js.map +7 -0
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.d.ts +8 -0
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +77 -0
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +7 -0
- package/dist/cjs/keypairs/ed25519/index.d.ts +2 -0
- package/dist/cjs/keypairs/ed25519/index.js +28 -0
- package/dist/cjs/keypairs/ed25519/index.js.map +7 -0
- package/dist/cjs/keypairs/ed25519/keypair.d.ts +74 -0
- package/dist/cjs/keypairs/ed25519/keypair.js +162 -0
- package/dist/cjs/keypairs/ed25519/keypair.js.map +7 -0
- package/dist/cjs/keypairs/ed25519/publickey.d.ts +30 -0
- package/dist/cjs/keypairs/ed25519/publickey.js +88 -0
- package/dist/cjs/keypairs/ed25519/publickey.js.map +7 -0
- package/dist/cjs/keypairs/passkey/index.d.ts +3 -0
- package/dist/cjs/keypairs/passkey/index.js +29 -0
- package/dist/cjs/keypairs/passkey/index.js.map +7 -0
- package/dist/cjs/keypairs/passkey/keypair.d.ts +113 -0
- package/dist/cjs/keypairs/passkey/keypair.js +251 -0
- package/dist/cjs/keypairs/passkey/keypair.js.map +7 -0
- package/dist/cjs/keypairs/passkey/publickey.d.ts +72 -0
- package/dist/cjs/keypairs/passkey/publickey.js +168 -0
- package/dist/cjs/keypairs/passkey/publickey.js.map +7 -0
- package/dist/cjs/keypairs/passkey/types.d.ts +12 -0
- package/dist/cjs/keypairs/passkey/types.js +17 -0
- package/dist/cjs/keypairs/passkey/types.js.map +7 -0
- package/dist/cjs/keypairs/secp256k1/index.d.ts +2 -0
- package/dist/cjs/keypairs/secp256k1/index.js +28 -0
- package/dist/cjs/keypairs/secp256k1/index.js.map +7 -0
- package/dist/cjs/keypairs/secp256k1/keypair.d.ts +73 -0
- package/dist/cjs/keypairs/secp256k1/keypair.js +150 -0
- package/dist/cjs/keypairs/secp256k1/keypair.js.map +7 -0
- package/dist/cjs/keypairs/secp256k1/publickey.d.ts +30 -0
- package/dist/cjs/keypairs/secp256k1/publickey.js +93 -0
- package/dist/cjs/keypairs/secp256k1/publickey.js.map +7 -0
- package/dist/cjs/keypairs/secp256r1/index.d.ts +2 -0
- package/dist/cjs/keypairs/secp256r1/index.js +28 -0
- package/dist/cjs/keypairs/secp256r1/index.js.map +7 -0
- package/dist/cjs/keypairs/secp256r1/keypair.d.ts +73 -0
- package/dist/cjs/keypairs/secp256r1/keypair.js +144 -0
- package/dist/cjs/keypairs/secp256r1/keypair.js.map +7 -0
- package/dist/cjs/keypairs/secp256r1/publickey.d.ts +30 -0
- package/dist/cjs/keypairs/secp256r1/publickey.js +94 -0
- package/dist/cjs/keypairs/secp256r1/publickey.js.map +7 -0
- package/dist/cjs/multisig/index.d.ts +2 -0
- package/dist/cjs/multisig/index.js +28 -0
- package/dist/cjs/multisig/index.js.map +7 -0
- package/dist/cjs/multisig/publickey.d.ts +114 -0
- package/dist/cjs/multisig/publickey.js +260 -0
- package/dist/cjs/multisig/publickey.js.map +7 -0
- package/dist/cjs/multisig/signer.d.ts +20 -0
- package/dist/cjs/multisig/signer.js +105 -0
- package/dist/cjs/multisig/signer.js.map +7 -0
- package/dist/cjs/package.json +5 -0
- package/dist/cjs/transactions/Arguments.d.ts +49 -0
- package/dist/cjs/transactions/Arguments.js +33 -0
- package/dist/cjs/transactions/Arguments.js.map +7 -0
- package/dist/cjs/transactions/Commands.d.ts +57 -0
- package/dist/cjs/transactions/Commands.js +140 -0
- package/dist/cjs/transactions/Commands.js.map +7 -0
- package/dist/cjs/transactions/Inputs.d.ts +22 -0
- package/dist/cjs/transactions/Inputs.js +80 -0
- package/dist/cjs/transactions/Inputs.js.map +7 -0
- package/dist/cjs/transactions/ObjectCache.d.ts +83 -0
- package/dist/cjs/transactions/ObjectCache.js +241 -0
- package/dist/cjs/transactions/ObjectCache.js.map +7 -0
- package/dist/cjs/transactions/Transaction.d.ts +710 -0
- package/dist/cjs/transactions/Transaction.js +683 -0
- package/dist/cjs/transactions/Transaction.js.map +7 -0
- package/dist/cjs/transactions/TransactionData.d.ts +73 -0
- package/dist/cjs/transactions/TransactionData.js +433 -0
- package/dist/cjs/transactions/TransactionData.js.map +7 -0
- package/dist/cjs/transactions/__tests__/Transaction.test.d.ts +1 -0
- package/dist/cjs/transactions/__tests__/bcs.test.d.ts +1 -0
- package/dist/cjs/transactions/data/internal.d.ts +1010 -0
- package/dist/cjs/transactions/data/internal.js +216 -0
- package/dist/cjs/transactions/data/internal.js.map +7 -0
- package/dist/cjs/transactions/data/v1.d.ts +312 -0
- package/dist/cjs/transactions/data/v1.js +482 -0
- package/dist/cjs/transactions/data/v1.js.map +7 -0
- package/dist/cjs/transactions/data/v2.d.ts +153 -0
- package/dist/cjs/transactions/data/v2.js +125 -0
- package/dist/cjs/transactions/data/v2.js.map +7 -0
- package/dist/cjs/transactions/executor/caching.d.ts +31 -0
- package/dist/cjs/transactions/executor/caching.js +114 -0
- package/dist/cjs/transactions/executor/caching.js.map +7 -0
- package/dist/cjs/transactions/executor/parallel.d.ts +37 -0
- package/dist/cjs/transactions/executor/parallel.js +380 -0
- package/dist/cjs/transactions/executor/parallel.js.map +7 -0
- package/dist/cjs/transactions/executor/queue.d.ts +11 -0
- package/dist/cjs/transactions/executor/queue.js +85 -0
- package/dist/cjs/transactions/executor/queue.js.map +7 -0
- package/dist/cjs/transactions/executor/serial.d.ts +31 -0
- package/dist/cjs/transactions/executor/serial.js +137 -0
- package/dist/cjs/transactions/executor/serial.js.map +7 -0
- package/dist/cjs/transactions/hash.d.ts +7 -0
- package/dist/cjs/transactions/hash.js +32 -0
- package/dist/cjs/transactions/hash.js.map +7 -0
- package/dist/cjs/transactions/index.d.ts +21 -0
- package/dist/cjs/transactions/index.js +51 -0
- package/dist/cjs/transactions/index.js.map +7 -0
- package/dist/cjs/transactions/intents/CoinWithBalance.d.ts +9 -0
- package/dist/cjs/transactions/intents/CoinWithBalance.js +188 -0
- package/dist/cjs/transactions/intents/CoinWithBalance.js.map +7 -0
- package/dist/cjs/transactions/object.d.ts +16 -0
- package/dist/cjs/transactions/object.js +78 -0
- package/dist/cjs/transactions/object.js.map +7 -0
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.d.ts +48 -0
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +67 -0
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +7 -0
- package/dist/cjs/transactions/pure.d.ts +20 -0
- package/dist/cjs/transactions/pure.js +57 -0
- package/dist/cjs/transactions/pure.js.map +7 -0
- package/dist/cjs/transactions/resolve.d.ts +13 -0
- package/dist/cjs/transactions/resolve.js +98 -0
- package/dist/cjs/transactions/resolve.js.map +7 -0
- package/dist/cjs/transactions/serializer.d.ts +7 -0
- package/dist/cjs/transactions/serializer.js +182 -0
- package/dist/cjs/transactions/serializer.js.map +7 -0
- package/dist/cjs/transactions/utils.d.ts +10 -0
- package/dist/cjs/transactions/utils.js +135 -0
- package/dist/cjs/transactions/utils.js.map +7 -0
- package/dist/cjs/utils/constants.d.ts +10 -0
- package/dist/cjs/utils/constants.js +44 -0
- package/dist/cjs/utils/constants.js.map +7 -0
- package/dist/cjs/utils/derived-objects.d.ts +5 -0
- package/dist/cjs/utils/derived-objects.js +34 -0
- package/dist/cjs/utils/derived-objects.js.map +7 -0
- package/dist/cjs/utils/dynamic-fields.d.ts +2 -0
- package/dist/cjs/utils/dynamic-fields.js +41 -0
- package/dist/cjs/utils/dynamic-fields.js.map +7 -0
- package/dist/cjs/utils/format.d.ts +2 -0
- package/dist/cjs/utils/format.js +36 -0
- package/dist/cjs/utils/format.js.map +7 -0
- package/dist/cjs/utils/haneul-types.d.ts +26 -0
- package/dist/cjs/utils/haneul-types.js +91 -0
- package/dist/cjs/utils/haneul-types.js.map +7 -0
- package/dist/cjs/utils/haneulns.d.ts +2 -0
- package/dist/cjs/utils/haneulns.js +57 -0
- package/dist/cjs/utils/haneulns.js.map +7 -0
- package/dist/cjs/utils/index.d.ts +9 -0
- package/dist/cjs/utils/index.js +69 -0
- package/dist/cjs/utils/index.js.map +7 -0
- package/dist/cjs/utils/move-registry.d.ts +6 -0
- package/dist/cjs/utils/move-registry.js +45 -0
- package/dist/cjs/utils/move-registry.js.map +7 -0
- package/dist/cjs/verify/index.d.ts +1 -0
- package/dist/cjs/verify/index.js +29 -0
- package/dist/cjs/verify/index.js.map +7 -0
- package/dist/cjs/verify/verify.d.ts +21 -0
- package/dist/cjs/verify/verify.js +124 -0
- package/dist/cjs/verify/verify.js.map +7 -0
- package/dist/cjs/version.d.ts +2 -0
- package/dist/cjs/version.js +27 -0
- package/dist/cjs/version.js.map +7 -0
- package/dist/cjs/zklogin/address.d.ts +16 -0
- package/dist/cjs/zklogin/address.js +87 -0
- package/dist/cjs/zklogin/address.js.map +7 -0
- package/dist/cjs/zklogin/bcs.d.ts +28 -0
- package/dist/cjs/zklogin/bcs.js +42 -0
- package/dist/cjs/zklogin/bcs.js.map +7 -0
- package/dist/cjs/zklogin/index.d.ts +9 -0
- package/dist/cjs/zklogin/index.js +46 -0
- package/dist/cjs/zklogin/index.js.map +7 -0
- package/dist/cjs/zklogin/jwt-decode.d.ts +47 -0
- package/dist/cjs/zklogin/jwt-decode.js +85 -0
- package/dist/cjs/zklogin/jwt-decode.js.map +7 -0
- package/dist/cjs/zklogin/jwt-utils.d.ts +12 -0
- package/dist/cjs/zklogin/jwt-utils.js +121 -0
- package/dist/cjs/zklogin/jwt-utils.js.map +7 -0
- package/dist/cjs/zklogin/nonce.d.ts +4 -0
- package/dist/cjs/zklogin/nonce.js +54 -0
- package/dist/cjs/zklogin/nonce.js.map +7 -0
- package/dist/cjs/zklogin/poseidon.d.ts +2 -0
- package/dist/cjs/zklogin/poseidon.js +63 -0
- package/dist/cjs/zklogin/poseidon.js.map +7 -0
- package/dist/cjs/zklogin/publickey.d.ts +87 -0
- package/dist/cjs/zklogin/publickey.js +257 -0
- package/dist/cjs/zklogin/publickey.js.map +7 -0
- package/dist/cjs/zklogin/signature.d.ts +23 -0
- package/dist/cjs/zklogin/signature.js +48 -0
- package/dist/cjs/zklogin/signature.js.map +7 -0
- package/dist/cjs/zklogin/utils.d.ts +16 -0
- package/dist/cjs/zklogin/utils.js +97 -0
- package/dist/cjs/zklogin/utils.js.map +7 -0
- package/dist/esm/bcs/bcs.d.ts +1973 -0
- package/dist/esm/bcs/bcs.js +308 -0
- package/dist/esm/bcs/bcs.js.map +7 -0
- package/dist/esm/bcs/effects.d.ts +579 -0
- package/dist/esm/bcs/effects.js +190 -0
- package/dist/esm/bcs/effects.js.map +7 -0
- package/dist/esm/bcs/index.d.ts +2589 -0
- package/dist/esm/bcs/index.js +94 -0
- package/dist/esm/bcs/index.js.map +7 -0
- package/dist/esm/bcs/pure.d.ts +22 -0
- package/dist/esm/bcs/pure.js +39 -0
- package/dist/esm/bcs/pure.js.map +7 -0
- package/dist/esm/bcs/type-tag-serializer.d.ts +7 -0
- package/dist/esm/bcs/type-tag-serializer.js +97 -0
- package/dist/esm/bcs/type-tag-serializer.js.map +7 -0
- package/dist/esm/bcs/types.d.ts +114 -0
- package/dist/esm/bcs/types.js +7 -0
- package/dist/esm/bcs/types.js.map +7 -0
- package/dist/esm/client/index.d.ts +5 -0
- package/dist/esm/client/index.js +19 -0
- package/dist/esm/client/index.js.map +7 -0
- package/dist/esm/client/network.d.ts +1 -0
- package/dist/esm/client/network.js +18 -0
- package/dist/esm/client/network.js.map +7 -0
- package/dist/esm/cryptography/index.d.ts +7 -0
- package/dist/esm/cryptography/index.js +47 -0
- package/dist/esm/cryptography/index.js.map +7 -0
- package/dist/esm/cryptography/intent.d.ts +6 -0
- package/dist/esm/cryptography/intent.js +15 -0
- package/dist/esm/cryptography/intent.js.map +7 -0
- package/dist/esm/cryptography/keypair.d.ts +72 -0
- package/dist/esm/cryptography/keypair.js +98 -0
- package/dist/esm/cryptography/keypair.js.map +7 -0
- package/dist/esm/cryptography/mnemonics.d.ts +27 -0
- package/dist/esm/cryptography/mnemonics.js +27 -0
- package/dist/esm/cryptography/mnemonics.js.map +7 -0
- package/dist/esm/cryptography/publickey.d.ts +67 -0
- package/dist/esm/cryptography/publickey.js +120 -0
- package/dist/esm/cryptography/publickey.js.map +7 -0
- package/dist/esm/cryptography/signature-scheme.d.ts +24 -0
- package/dist/esm/cryptography/signature-scheme.js +28 -0
- package/dist/esm/cryptography/signature-scheme.js.map +7 -0
- package/dist/esm/cryptography/signature.d.ts +65 -0
- package/dist/esm/cryptography/signature.js +51 -0
- package/dist/esm/cryptography/signature.js.map +7 -0
- package/dist/esm/experimental/cache.d.ts +12 -0
- package/dist/esm/experimental/cache.js +68 -0
- package/dist/esm/experimental/cache.js.map +7 -0
- package/dist/esm/experimental/client.d.ts +12 -0
- package/dist/esm/experimental/client.js +26 -0
- package/dist/esm/experimental/client.js.map +7 -0
- package/dist/esm/experimental/core.d.ts +37 -0
- package/dist/esm/experimental/core.js +94 -0
- package/dist/esm/experimental/core.js.map +7 -0
- package/dist/esm/experimental/errors.d.ts +8 -0
- package/dist/esm/experimental/errors.js +34 -0
- package/dist/esm/experimental/errors.js.map +7 -0
- package/dist/esm/experimental/index.d.ts +7 -0
- package/dist/esm/experimental/index.js +12 -0
- package/dist/esm/experimental/index.js.map +7 -0
- package/dist/esm/experimental/mvr.d.ts +42 -0
- package/dist/esm/experimental/mvr.js +350 -0
- package/dist/esm/experimental/mvr.js.map +7 -0
- package/dist/esm/experimental/transports/utils.d.ts +3 -0
- package/dist/esm/experimental/transports/utils.js +81 -0
- package/dist/esm/experimental/transports/utils.js.map +7 -0
- package/dist/esm/experimental/types.d.ts +434 -0
- package/dist/esm/experimental/types.js +1 -0
- package/dist/esm/experimental/types.js.map +7 -0
- package/dist/esm/faucet/faucet.d.ts +65 -0
- package/dist/esm/faucet/faucet.js +110 -0
- package/dist/esm/faucet/faucet.js.map +7 -0
- package/dist/esm/faucet/index.d.ts +1 -0
- package/dist/esm/faucet/index.js +17 -0
- package/dist/esm/faucet/index.js.map +7 -0
- package/dist/esm/graphql/client.d.ts +50 -0
- package/dist/esm/graphql/client.js +74 -0
- package/dist/esm/graphql/client.js.map +7 -0
- package/dist/esm/graphql/core.d.ts +32 -0
- package/dist/esm/graphql/core.js +469 -0
- package/dist/esm/graphql/core.js.map +7 -0
- package/dist/esm/graphql/generated/2024.1/tada-env.d.ts +11380 -0
- package/dist/esm/graphql/generated/2024.1/tada-env.js +13122 -0
- package/dist/esm/graphql/generated/2024.1/tada-env.js.map +7 -0
- package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +17 -0
- package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js.map +7 -0
- package/dist/esm/graphql/generated/2024.4/tada-env.d.ts +11496 -0
- package/dist/esm/graphql/generated/2024.4/tada-env.js +13268 -0
- package/dist/esm/graphql/generated/2024.4/tada-env.js.map +7 -0
- package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +17 -0
- package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js.map +7 -0
- package/dist/esm/graphql/generated/latest/tada-env.d.ts +11128 -0
- package/dist/esm/graphql/generated/latest/tada-env.js +12906 -0
- package/dist/esm/graphql/generated/latest/tada-env.js.map +7 -0
- package/dist/esm/graphql/generated/latest/tsconfig.tada.js +17 -0
- package/dist/esm/graphql/generated/latest/tsconfig.tada.js.map +7 -0
- package/dist/esm/graphql/generated/queries.d.ts +4980 -0
- package/dist/esm/graphql/generated/queries.js +783 -0
- package/dist/esm/graphql/generated/queries.js.map +7 -0
- package/dist/esm/graphql/index.d.ts +1 -0
- package/dist/esm/graphql/index.js +9 -0
- package/dist/esm/graphql/index.js.map +7 -0
- package/dist/esm/graphql/schemas/2024.1/index.d.ts +10 -0
- package/dist/esm/graphql/schemas/2024.1/index.js +9 -0
- package/dist/esm/graphql/schemas/2024.1/index.js.map +7 -0
- package/dist/esm/graphql/schemas/2024.4/index.d.ts +10 -0
- package/dist/esm/graphql/schemas/2024.4/index.js +9 -0
- package/dist/esm/graphql/schemas/2024.4/index.js.map +7 -0
- package/dist/esm/graphql/schemas/latest/index.d.ts +10 -0
- package/dist/esm/graphql/schemas/latest/index.js +9 -0
- package/dist/esm/graphql/schemas/latest/index.js.map +7 -0
- package/dist/esm/graphql/types.d.ts +71 -0
- package/dist/esm/graphql/types.js +1 -0
- package/dist/esm/graphql/types.js.map +7 -0
- package/dist/esm/grpc/client.d.ts +33 -0
- package/dist/esm/grpc/client.js +33 -0
- package/dist/esm/grpc/client.js.map +7 -0
- package/dist/esm/grpc/core.d.ts +30 -0
- package/dist/esm/grpc/core.js +640 -0
- package/dist/esm/grpc/core.js.map +7 -0
- package/dist/esm/grpc/index.d.ts +4 -0
- package/dist/esm/grpc/index.js +7 -0
- package/dist/esm/grpc/index.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/any.d.ts +173 -0
- package/dist/esm/grpc/proto/google/protobuf/any.js +119 -0
- package/dist/esm/grpc/proto/google/protobuf/any.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +104 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.js +68 -0
- package/dist/esm/grpc/proto/google/protobuf/duration.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +25 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.js +11 -0
- package/dist/esm/grpc/proto/google/protobuf/empty.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js +53 -0
- package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +169 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.js +179 -0
- package/dist/esm/grpc/proto/google/protobuf/struct.js.map +7 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js +103 -0
- package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +7 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +525 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.js +312 -0
- package/dist/esm/grpc/proto/google/rpc/error_details.js.map +7 -0
- package/dist/esm/grpc/proto/google/rpc/status.d.ts +46 -0
- package/dist/esm/grpc/proto/google/rpc/status.js +28 -0
- package/dist/esm/grpc/proto/google/rpc/status.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/argument.d.ts +66 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/argument.js +51 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/argument.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/balance_change.d.ts +34 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/balance_change.js +36 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/balance_change.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/bcs.d.ts +30 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/bcs.js +28 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/bcs.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint.d.ts +68 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint.js +44 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_contents.d.ts +74 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_contents.js +69 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_contents.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_summary.d.ts +195 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_summary.js +145 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_summary.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/effects.d.ts +338 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/effects.js +274 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/effects.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/epoch.d.ts +62 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/epoch.js +53 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/epoch.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/error_reason.d.ts +17 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/error_reason.js +10 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/error_reason.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/event.d.ts +88 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/event.js +66 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/event.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/executed_transaction.d.ts +80 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/executed_transaction.js +54 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/executed_transaction.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/execution_status.d.ts +843 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/execution_status.js +493 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/execution_status.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/gas_cost_summary.d.ts +41 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/gas_cost_summary.js +44 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/gas_cost_summary.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/input.d.ts +98 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/input.js +70 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/input.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/jwk.d.ts +70 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/jwk.js +68 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/jwk.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.client.d.ts +95 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.client.js +107 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.d.ts +420 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.js +307 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/move_package.d.ts +579 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/move_package.js +460 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/move_package.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.client.d.ts +61 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.client.js +66 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.d.ts +229 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.js +206 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.client.d.ts +41 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.client.js +40 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.d.ts +144 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.js +118 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/object.d.ts +127 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/object.js +93 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/object.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/object_reference.d.ts +34 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/object_reference.js +36 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/object_reference.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/owner.d.ts +61 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/owner.js +45 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/owner.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/protocol_config.d.ts +30 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/protocol_config.js +42 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/protocol_config.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature.d.ts +630 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature.js +494 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature_scheme.d.ts +40 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature_scheme.js +14 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature_scheme.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.client.d.ts +35 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.client.js +29 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.d.ts +79 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.js +56 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.client.d.ts +71 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.client.js +79 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.d.ts +690 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.js +526 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.client.d.ts +55 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.client.js +39 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.d.ts +57 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.js +43 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/system_state.d.ts +684 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/system_state.js +654 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/system_state.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/transaction.d.ts +1321 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/transaction.js +911 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/transaction.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.d.ts +41 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.js +40 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.js.map +7 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.d.ts +184 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.js +139 -0
- package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.js.map +7 -0
- package/dist/esm/jsonRpc/client.d.ts +264 -0
- package/dist/esm/jsonRpc/client.js +818 -0
- package/dist/esm/jsonRpc/client.js.map +7 -0
- package/dist/esm/jsonRpc/core.d.ts +93 -0
- package/dist/esm/jsonRpc/core.js +624 -0
- package/dist/esm/jsonRpc/core.js.map +7 -0
- package/dist/esm/jsonRpc/errors.d.ts +12 -0
- package/dist/esm/jsonRpc/errors.js +40 -0
- package/dist/esm/jsonRpc/errors.js.map +7 -0
- package/dist/esm/jsonRpc/http-transport.d.ts +42 -0
- package/dist/esm/jsonRpc/http-transport.js +99 -0
- package/dist/esm/jsonRpc/http-transport.js.map +7 -0
- package/dist/esm/jsonRpc/index.d.ts +4 -0
- package/dist/esm/jsonRpc/index.js +17 -0
- package/dist/esm/jsonRpc/index.js.map +7 -0
- package/dist/esm/jsonRpc/json-rpc-resolver.d.ts +4 -0
- package/dist/esm/jsonRpc/json-rpc-resolver.js +295 -0
- package/dist/esm/jsonRpc/json-rpc-resolver.js.map +7 -0
- package/dist/esm/jsonRpc/rpc-websocket-client.d.ts +43 -0
- package/dist/esm/jsonRpc/rpc-websocket-client.js +174 -0
- package/dist/esm/jsonRpc/rpc-websocket-client.js.map +7 -0
- package/dist/esm/jsonRpc/types/chain.d.ts +99 -0
- package/dist/esm/jsonRpc/types/chain.js +1 -0
- package/dist/esm/jsonRpc/types/chain.js.map +7 -0
- package/dist/esm/jsonRpc/types/changes.d.ts +19 -0
- package/dist/esm/jsonRpc/types/changes.js +1 -0
- package/dist/esm/jsonRpc/types/changes.js.map +7 -0
- package/dist/esm/jsonRpc/types/coins.d.ts +6 -0
- package/dist/esm/jsonRpc/types/coins.js +1 -0
- package/dist/esm/jsonRpc/types/coins.js.map +7 -0
- package/dist/esm/jsonRpc/types/common.d.ts +2 -0
- package/dist/esm/jsonRpc/types/common.js +1 -0
- package/dist/esm/jsonRpc/types/common.js.map +7 -0
- package/dist/esm/jsonRpc/types/generated.d.ts +1492 -0
- package/dist/esm/jsonRpc/types/generated.js +1 -0
- package/dist/esm/jsonRpc/types/generated.js.map +7 -0
- package/dist/esm/jsonRpc/types/index.d.ts +6 -0
- package/dist/esm/jsonRpc/types/index.js +1 -0
- package/dist/esm/jsonRpc/types/index.js.map +7 -0
- package/dist/esm/jsonRpc/types/params.d.ts +656 -0
- package/dist/esm/jsonRpc/types/params.js +1 -0
- package/dist/esm/jsonRpc/types/params.js.map +7 -0
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.d.ts +8 -0
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +57 -0
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +7 -0
- package/dist/esm/keypairs/ed25519/index.d.ts +2 -0
- package/dist/esm/keypairs/ed25519/index.js +11 -0
- package/dist/esm/keypairs/ed25519/index.js.map +7 -0
- package/dist/esm/keypairs/ed25519/keypair.d.ts +74 -0
- package/dist/esm/keypairs/ed25519/keypair.js +147 -0
- package/dist/esm/keypairs/ed25519/keypair.js.map +7 -0
- package/dist/esm/keypairs/ed25519/publickey.d.ts +30 -0
- package/dist/esm/keypairs/ed25519/publickey.js +72 -0
- package/dist/esm/keypairs/ed25519/publickey.js.map +7 -0
- package/dist/esm/keypairs/passkey/index.d.ts +3 -0
- package/dist/esm/keypairs/passkey/index.js +9 -0
- package/dist/esm/keypairs/passkey/index.js.map +7 -0
- package/dist/esm/keypairs/passkey/keypair.d.ts +113 -0
- package/dist/esm/keypairs/passkey/keypair.js +236 -0
- package/dist/esm/keypairs/passkey/keypair.js.map +7 -0
- package/dist/esm/keypairs/passkey/publickey.d.ts +72 -0
- package/dist/esm/keypairs/passkey/publickey.js +148 -0
- package/dist/esm/keypairs/passkey/publickey.js.map +7 -0
- package/dist/esm/keypairs/passkey/types.d.ts +12 -0
- package/dist/esm/keypairs/passkey/types.js +1 -0
- package/dist/esm/keypairs/passkey/types.js.map +7 -0
- package/dist/esm/keypairs/secp256k1/index.d.ts +2 -0
- package/dist/esm/keypairs/secp256k1/index.js +11 -0
- package/dist/esm/keypairs/secp256k1/index.js.map +7 -0
- package/dist/esm/keypairs/secp256k1/keypair.d.ts +73 -0
- package/dist/esm/keypairs/secp256k1/keypair.js +130 -0
- package/dist/esm/keypairs/secp256k1/keypair.js.map +7 -0
- package/dist/esm/keypairs/secp256k1/publickey.d.ts +30 -0
- package/dist/esm/keypairs/secp256k1/publickey.js +77 -0
- package/dist/esm/keypairs/secp256k1/publickey.js.map +7 -0
- package/dist/esm/keypairs/secp256r1/index.d.ts +2 -0
- package/dist/esm/keypairs/secp256r1/index.js +11 -0
- package/dist/esm/keypairs/secp256r1/index.js.map +7 -0
- package/dist/esm/keypairs/secp256r1/keypair.d.ts +73 -0
- package/dist/esm/keypairs/secp256r1/keypair.js +124 -0
- package/dist/esm/keypairs/secp256r1/keypair.js.map +7 -0
- package/dist/esm/keypairs/secp256r1/publickey.d.ts +30 -0
- package/dist/esm/keypairs/secp256r1/publickey.js +74 -0
- package/dist/esm/keypairs/secp256r1/publickey.js.map +7 -0
- package/dist/esm/multisig/index.d.ts +2 -0
- package/dist/esm/multisig/index.js +8 -0
- package/dist/esm/multisig/index.js.map +7 -0
- package/dist/esm/multisig/publickey.d.ts +114 -0
- package/dist/esm/multisig/publickey.js +243 -0
- package/dist/esm/multisig/publickey.js.map +7 -0
- package/dist/esm/multisig/signer.d.ts +20 -0
- package/dist/esm/multisig/signer.js +85 -0
- package/dist/esm/multisig/signer.js.map +7 -0
- package/dist/esm/package.json +5 -0
- package/dist/esm/transactions/Arguments.d.ts +49 -0
- package/dist/esm/transactions/Arguments.js +13 -0
- package/dist/esm/transactions/Arguments.js.map +7 -0
- package/dist/esm/transactions/Commands.d.ts +57 -0
- package/dist/esm/transactions/Commands.js +120 -0
- package/dist/esm/transactions/Commands.js.map +7 -0
- package/dist/esm/transactions/Inputs.d.ts +22 -0
- package/dist/esm/transactions/Inputs.js +60 -0
- package/dist/esm/transactions/Inputs.js.map +7 -0
- package/dist/esm/transactions/ObjectCache.d.ts +83 -0
- package/dist/esm/transactions/ObjectCache.js +221 -0
- package/dist/esm/transactions/ObjectCache.js.map +7 -0
- package/dist/esm/transactions/Transaction.d.ts +710 -0
- package/dist/esm/transactions/Transaction.js +668 -0
- package/dist/esm/transactions/Transaction.js.map +7 -0
- package/dist/esm/transactions/TransactionData.d.ts +73 -0
- package/dist/esm/transactions/TransactionData.js +413 -0
- package/dist/esm/transactions/TransactionData.js.map +7 -0
- package/dist/esm/transactions/__tests__/Transaction.test.d.ts +1 -0
- package/dist/esm/transactions/__tests__/bcs.test.d.ts +1 -0
- package/dist/esm/transactions/data/internal.d.ts +1010 -0
- package/dist/esm/transactions/data/internal.js +215 -0
- package/dist/esm/transactions/data/internal.js.map +7 -0
- package/dist/esm/transactions/data/v1.d.ts +312 -0
- package/dist/esm/transactions/data/v1.js +481 -0
- package/dist/esm/transactions/data/v1.js.map +7 -0
- package/dist/esm/transactions/data/v2.d.ts +153 -0
- package/dist/esm/transactions/data/v2.js +121 -0
- package/dist/esm/transactions/data/v2.js.map +7 -0
- package/dist/esm/transactions/executor/caching.d.ts +31 -0
- package/dist/esm/transactions/executor/caching.js +94 -0
- package/dist/esm/transactions/executor/caching.js.map +7 -0
- package/dist/esm/transactions/executor/parallel.d.ts +37 -0
- package/dist/esm/transactions/executor/parallel.js +360 -0
- package/dist/esm/transactions/executor/parallel.js.map +7 -0
- package/dist/esm/transactions/executor/queue.d.ts +11 -0
- package/dist/esm/transactions/executor/queue.js +65 -0
- package/dist/esm/transactions/executor/queue.js.map +7 -0
- package/dist/esm/transactions/executor/serial.d.ts +31 -0
- package/dist/esm/transactions/executor/serial.js +117 -0
- package/dist/esm/transactions/executor/serial.js.map +7 -0
- package/dist/esm/transactions/hash.d.ts +7 -0
- package/dist/esm/transactions/hash.js +12 -0
- package/dist/esm/transactions/hash.js.map +7 -0
- package/dist/esm/transactions/index.d.ts +21 -0
- package/dist/esm/transactions/index.js +39 -0
- package/dist/esm/transactions/index.js.map +7 -0
- package/dist/esm/transactions/intents/CoinWithBalance.d.ts +9 -0
- package/dist/esm/transactions/intents/CoinWithBalance.js +168 -0
- package/dist/esm/transactions/intents/CoinWithBalance.js.map +7 -0
- package/dist/esm/transactions/object.d.ts +16 -0
- package/dist/esm/transactions/object.js +58 -0
- package/dist/esm/transactions/object.js.map +7 -0
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.d.ts +48 -0
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +47 -0
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.js.map +7 -0
- package/dist/esm/transactions/pure.d.ts +20 -0
- package/dist/esm/transactions/pure.js +37 -0
- package/dist/esm/transactions/pure.js.map +7 -0
- package/dist/esm/transactions/resolve.d.ts +13 -0
- package/dist/esm/transactions/resolve.js +78 -0
- package/dist/esm/transactions/resolve.js.map +7 -0
- package/dist/esm/transactions/serializer.d.ts +7 -0
- package/dist/esm/transactions/serializer.js +162 -0
- package/dist/esm/transactions/serializer.js.map +7 -0
- package/dist/esm/transactions/utils.d.ts +10 -0
- package/dist/esm/transactions/utils.js +115 -0
- package/dist/esm/transactions/utils.js.map +7 -0
- package/dist/esm/utils/constants.d.ts +10 -0
- package/dist/esm/utils/constants.js +24 -0
- package/dist/esm/utils/constants.js.map +7 -0
- package/dist/esm/utils/derived-objects.d.ts +5 -0
- package/dist/esm/utils/derived-objects.js +14 -0
- package/dist/esm/utils/derived-objects.js.map +7 -0
- package/dist/esm/utils/dynamic-fields.d.ts +2 -0
- package/dist/esm/utils/dynamic-fields.js +21 -0
- package/dist/esm/utils/dynamic-fields.js.map +7 -0
- package/dist/esm/utils/format.d.ts +2 -0
- package/dist/esm/utils/format.js +16 -0
- package/dist/esm/utils/format.js.map +7 -0
- package/dist/esm/utils/haneul-types.d.ts +26 -0
- package/dist/esm/utils/haneul-types.js +71 -0
- package/dist/esm/utils/haneul-types.js.map +7 -0
- package/dist/esm/utils/haneulns.d.ts +2 -0
- package/dist/esm/utils/haneulns.js +37 -0
- package/dist/esm/utils/haneulns.js.map +7 -0
- package/dist/esm/utils/index.d.ts +9 -0
- package/dist/esm/utils/index.js +80 -0
- package/dist/esm/utils/index.js.map +7 -0
- package/dist/esm/utils/move-registry.d.ts +6 -0
- package/dist/esm/utils/move-registry.js +25 -0
- package/dist/esm/utils/move-registry.js.map +7 -0
- package/dist/esm/verify/index.d.ts +1 -0
- package/dist/esm/verify/index.js +15 -0
- package/dist/esm/verify/index.js.map +7 -0
- package/dist/esm/verify/verify.d.ts +21 -0
- package/dist/esm/verify/verify.js +104 -0
- package/dist/esm/verify/verify.js.map +7 -0
- package/dist/esm/version.d.ts +2 -0
- package/dist/esm/version.js +7 -0
- package/dist/esm/version.js.map +7 -0
- package/dist/esm/zklogin/address.d.ts +16 -0
- package/dist/esm/zklogin/address.js +72 -0
- package/dist/esm/zklogin/address.js.map +7 -0
- package/dist/esm/zklogin/bcs.d.ts +28 -0
- package/dist/esm/zklogin/bcs.js +22 -0
- package/dist/esm/zklogin/bcs.js.map +7 -0
- package/dist/esm/zklogin/index.d.ts +9 -0
- package/dist/esm/zklogin/index.js +35 -0
- package/dist/esm/zklogin/index.js.map +7 -0
- package/dist/esm/zklogin/jwt-decode.d.ts +47 -0
- package/dist/esm/zklogin/jwt-decode.js +65 -0
- package/dist/esm/zklogin/jwt-decode.js.map +7 -0
- package/dist/esm/zklogin/jwt-utils.d.ts +12 -0
- package/dist/esm/zklogin/jwt-utils.js +101 -0
- package/dist/esm/zklogin/jwt-utils.js.map +7 -0
- package/dist/esm/zklogin/nonce.d.ts +4 -0
- package/dist/esm/zklogin/nonce.js +34 -0
- package/dist/esm/zklogin/nonce.js.map +7 -0
- package/dist/esm/zklogin/poseidon.d.ts +2 -0
- package/dist/esm/zklogin/poseidon.js +60 -0
- package/dist/esm/zklogin/poseidon.js.map +7 -0
- package/dist/esm/zklogin/publickey.d.ts +87 -0
- package/dist/esm/zklogin/publickey.js +237 -0
- package/dist/esm/zklogin/publickey.js.map +7 -0
- package/dist/esm/zklogin/signature.d.ts +23 -0
- package/dist/esm/zklogin/signature.js +28 -0
- package/dist/esm/zklogin/signature.js.map +7 -0
- package/dist/esm/zklogin/utils.d.ts +16 -0
- package/dist/esm/zklogin/utils.js +77 -0
- package/dist/esm/zklogin/utils.js.map +7 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/experimental/package.json +6 -0
- package/faucet/package.json +6 -0
- package/graphql/package.json +6 -0
- package/graphql/schemas/2024.1/package.json +6 -0
- package/graphql/schemas/2024.4/package.json +6 -0
- package/graphql/schemas/latest/package.json +6 -0
- package/grpc/package.json +6 -0
- package/jsonRpc/package.json +6 -0
- package/keypairs/ed25519/package.json +6 -0
- package/keypairs/passkey/package.json +6 -0
- package/keypairs/secp256k1/package.json +6 -0
- package/keypairs/secp256r1/package.json +6 -0
- package/multisig/package.json +6 -0
- package/package.json +196 -0
- package/src/bcs/bcs.ts +321 -0
- package/src/bcs/effects.ts +206 -0
- package/src/bcs/index.ts +96 -0
- package/src/bcs/pure.ts +92 -0
- package/src/bcs/type-tag-serializer.ts +110 -0
- package/src/bcs/types.ts +113 -0
- package/src/client/index.ts +21 -0
- package/src/client/network.ts +17 -0
- package/src/cryptography/index.ts +36 -0
- package/src/cryptography/intent.ts +22 -0
- package/src/cryptography/keypair.ts +157 -0
- package/src/cryptography/mnemonics.ts +49 -0
- package/src/cryptography/publickey.ts +168 -0
- package/src/cryptography/signature-scheme.ts +37 -0
- package/src/cryptography/signature.ts +76 -0
- package/src/experimental/cache.ts +78 -0
- package/src/experimental/client.ts +60 -0
- package/src/experimental/core.ts +197 -0
- package/src/experimental/errors.ts +37 -0
- package/src/experimental/index.ts +24 -0
- package/src/experimental/mvr.ts +488 -0
- package/src/experimental/transports/utils.ts +117 -0
- package/src/experimental/types.ts +569 -0
- package/src/faucet/faucet.ts +189 -0
- package/src/faucet/index.ts +11 -0
- package/src/graphql/client.ts +134 -0
- package/src/graphql/core.ts +629 -0
- package/src/graphql/generated/2024.1/schema.graphql +4182 -0
- package/src/graphql/generated/2024.1/tada-env.ts +13144 -0
- package/src/graphql/generated/2024.1/tsconfig.tada.json +11 -0
- package/src/graphql/generated/2024.4/schema.graphql +4211 -0
- package/src/graphql/generated/2024.4/tada-env.ts +13290 -0
- package/src/graphql/generated/2024.4/tsconfig.tada.json +11 -0
- package/src/graphql/generated/latest/schema.graphql +4312 -0
- package/src/graphql/generated/latest/tada-env.ts +12928 -0
- package/src/graphql/generated/latest/tsconfig.tada.json +11 -0
- package/src/graphql/generated/queries.ts +5391 -0
- package/src/graphql/index.ts +12 -0
- package/src/graphql/queries/getAllBalances.graphql +19 -0
- package/src/graphql/queries/getBalance.graphql +13 -0
- package/src/graphql/queries/getCoins.graphql +37 -0
- package/src/graphql/queries/getDynamicFields.graphql +36 -0
- package/src/graphql/queries/getMoveFunction.graphql +20 -0
- package/src/graphql/queries/getReferenceGasPrice.graphql +8 -0
- package/src/graphql/queries/nameService.graphql +8 -0
- package/src/graphql/queries/objects.graphql +83 -0
- package/src/graphql/queries/transactions.graphql +101 -0
- package/src/graphql/queries/verifyZkLoginSignature.graphql +16 -0
- package/src/graphql/schemas/2024.1/index.ts +17 -0
- package/src/graphql/schemas/2024.4/index.ts +17 -0
- package/src/graphql/schemas/latest/index.ts +17 -0
- package/src/graphql/types.ts +87 -0
- package/src/grpc/client.ts +62 -0
- package/src/grpc/core.ts +757 -0
- package/src/grpc/index.ts +7 -0
- package/src/grpc/proto/google/protobuf/any.ts +296 -0
- package/src/grpc/proto/google/protobuf/duration.ts +187 -0
- package/src/grpc/proto/google/protobuf/empty.ts +64 -0
- package/src/grpc/proto/google/protobuf/field_mask.ts +309 -0
- package/src/grpc/proto/google/protobuf/struct.ts +327 -0
- package/src/grpc/proto/google/protobuf/timestamp.ts +260 -0
- package/src/grpc/proto/google/rpc/error_details.ts +667 -0
- package/src/grpc/proto/google/rpc/status.ts +74 -0
- package/src/grpc/proto/haneul/rpc/v2/argument.ts +90 -0
- package/src/grpc/proto/haneul/rpc/v2/balance_change.ts +51 -0
- package/src/grpc/proto/haneul/rpc/v2/bcs.ts +46 -0
- package/src/grpc/proto/haneul/rpc/v2/checkpoint.ts +102 -0
- package/src/grpc/proto/haneul/rpc/v2/checkpoint_contents.ts +111 -0
- package/src/grpc/proto/haneul/rpc/v2/checkpoint_summary.ts +295 -0
- package/src/grpc/proto/haneul/rpc/v2/effects.ts +491 -0
- package/src/grpc/proto/haneul/rpc/v2/epoch.ts +113 -0
- package/src/grpc/proto/haneul/rpc/v2/error_reason.ts +28 -0
- package/src/grpc/proto/haneul/rpc/v2/event.ts +115 -0
- package/src/grpc/proto/haneul/rpc/v2/executed_transaction.ts +122 -0
- package/src/grpc/proto/haneul/rpc/v2/execution_status.ts +1079 -0
- package/src/grpc/proto/haneul/rpc/v2/gas_cost_summary.ts +87 -0
- package/src/grpc/proto/haneul/rpc/v2/input.ts +132 -0
- package/src/grpc/proto/haneul/rpc/v2/jwk.ts +94 -0
- package/src/grpc/proto/haneul/rpc/v2/ledger_service.client.ts +217 -0
- package/src/grpc/proto/haneul/rpc/v2/ledger_service.ts +625 -0
- package/src/grpc/proto/haneul/rpc/v2/move_package.ts +800 -0
- package/src/grpc/proto/haneul/rpc/v2/move_package_service.client.ts +135 -0
- package/src/grpc/proto/haneul/rpc/v2/move_package_service.ts +315 -0
- package/src/grpc/proto/haneul/rpc/v2/name_service.client.ts +83 -0
- package/src/grpc/proto/haneul/rpc/v2/name_service.ts +198 -0
- package/src/grpc/proto/haneul/rpc/v2/object.ts +186 -0
- package/src/grpc/proto/haneul/rpc/v2/object_reference.ts +58 -0
- package/src/grpc/proto/haneul/rpc/v2/owner.ts +91 -0
- package/src/grpc/proto/haneul/rpc/v2/protocol_config.ts +66 -0
- package/src/grpc/proto/haneul/rpc/v2/signature.ts +864 -0
- package/src/grpc/proto/haneul/rpc/v2/signature_scheme.ts +51 -0
- package/src/grpc/proto/haneul/rpc/v2/signature_verification_service.client.ts +63 -0
- package/src/grpc/proto/haneul/rpc/v2/signature_verification_service.ts +106 -0
- package/src/grpc/proto/haneul/rpc/v2/state_service.client.ts +161 -0
- package/src/grpc/proto/haneul/rpc/v2/state_service.ts +889 -0
- package/src/grpc/proto/haneul/rpc/v2/subscription_service.client.ts +81 -0
- package/src/grpc/proto/haneul/rpc/v2/subscription_service.ts +93 -0
- package/src/grpc/proto/haneul/rpc/v2/system_state.ts +1184 -0
- package/src/grpc/proto/haneul/rpc/v2/transaction.ts +1974 -0
- package/src/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.ts +85 -0
- package/src/grpc/proto/haneul/rpc/v2/transaction_execution_service.ts +282 -0
- package/src/jsonRpc/client.ts +1120 -0
- package/src/jsonRpc/core.ts +711 -0
- package/src/jsonRpc/errors.ts +45 -0
- package/src/jsonRpc/http-transport.ts +143 -0
- package/src/jsonRpc/index.ts +20 -0
- package/src/jsonRpc/json-rpc-resolver.ts +420 -0
- package/src/jsonRpc/rpc-websocket-client.ts +241 -0
- package/src/jsonRpc/types/chain.ts +122 -0
- package/src/jsonRpc/types/changes.ts +11 -0
- package/src/jsonRpc/types/coins.ts +9 -0
- package/src/jsonRpc/types/common.ts +5 -0
- package/src/jsonRpc/types/generated.ts +1639 -0
- package/src/jsonRpc/types/index.ts +9 -0
- package/src/jsonRpc/types/params.ts +660 -0
- package/src/keypairs/ed25519/ed25519-hd-key.ts +83 -0
- package/src/keypairs/ed25519/index.ts +9 -0
- package/src/keypairs/ed25519/keypair.ts +181 -0
- package/src/keypairs/ed25519/publickey.ts +89 -0
- package/src/keypairs/passkey/index.ts +5 -0
- package/src/keypairs/passkey/keypair.ts +306 -0
- package/src/keypairs/passkey/publickey.ts +188 -0
- package/src/keypairs/passkey/types.ts +16 -0
- package/src/keypairs/secp256k1/index.ts +9 -0
- package/src/keypairs/secp256k1/keypair.ts +161 -0
- package/src/keypairs/secp256k1/publickey.ts +94 -0
- package/src/keypairs/secp256r1/index.ts +9 -0
- package/src/keypairs/secp256r1/keypair.ts +157 -0
- package/src/keypairs/secp256r1/publickey.ts +91 -0
- package/src/multisig/index.ts +5 -0
- package/src/multisig/publickey.ts +358 -0
- package/src/multisig/signer.ts +93 -0
- package/src/transactions/Arguments.ts +27 -0
- package/src/transactions/Commands.ts +184 -0
- package/src/transactions/Inputs.ts +68 -0
- package/src/transactions/ObjectCache.ts +300 -0
- package/src/transactions/Transaction.ts +927 -0
- package/src/transactions/TransactionData.ts +560 -0
- package/src/transactions/__tests__/Transaction.test.ts +184 -0
- package/src/transactions/__tests__/bcs.test.ts +205 -0
- package/src/transactions/data/internal.ts +334 -0
- package/src/transactions/data/v1.ts +548 -0
- package/src/transactions/data/v2.ts +148 -0
- package/src/transactions/executor/caching.ts +111 -0
- package/src/transactions/executor/parallel.ts +459 -0
- package/src/transactions/executor/queue.ts +65 -0
- package/src/transactions/executor/serial.ts +145 -0
- package/src/transactions/hash.ts +20 -0
- package/src/transactions/index.ts +62 -0
- package/src/transactions/intents/CoinWithBalance.ts +230 -0
- package/src/transactions/object.ts +68 -0
- package/src/transactions/plugins/NamedPackagesPlugin.ts +111 -0
- package/src/transactions/pure.ts +66 -0
- package/src/transactions/resolve.ts +124 -0
- package/src/transactions/serializer.ts +212 -0
- package/src/transactions/utils.ts +142 -0
- package/src/utils/constants.ts +16 -0
- package/src/utils/derived-objects.ts +22 -0
- package/src/utils/dynamic-fields.ts +30 -0
- package/src/utils/format.ts +19 -0
- package/src/utils/haneul-types.ts +114 -0
- package/src/utils/haneulns.ts +43 -0
- package/src/utils/index.ts +48 -0
- package/src/utils/move-registry.ts +43 -0
- package/src/verify/index.ts +11 -0
- package/src/verify/verify.ts +149 -0
- package/src/version.ts +7 -0
- package/src/zklogin/address.ts +101 -0
- package/src/zklogin/bcs.ts +26 -0
- package/src/zklogin/index.ts +22 -0
- package/src/zklogin/jwt-decode.ts +127 -0
- package/src/zklogin/jwt-utils.ts +142 -0
- package/src/zklogin/nonce.ts +39 -0
- package/src/zklogin/poseidon.ts +64 -0
- package/src/zklogin/publickey.ts +286 -0
- package/src/zklogin/signature.ts +38 -0
- package/src/zklogin/utils.ts +112 -0
- package/transactions/package.json +6 -0
- package/utils/package.json +6 -0
- package/verify/package.json +6 -0
- package/zklogin/package.json +6 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { secp256k1 } from "@noble/curves/secp256k1";
|
|
2
|
+
import { blake2b } from "@noble/hashes/blake2b";
|
|
3
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
4
|
+
import { bytesToHex } from "@noble/hashes/utils";
|
|
5
|
+
import { HDKey } from "@scure/bip32";
|
|
6
|
+
import { decodeHaneulPrivateKey, encodeHaneulPrivateKey, Keypair } from "../../cryptography/keypair.js";
|
|
7
|
+
import { isValidBIP32Path, mnemonicToSeed } from "../../cryptography/mnemonics.js";
|
|
8
|
+
import { Secp256k1PublicKey } from "./publickey.js";
|
|
9
|
+
const DEFAULT_SECP256K1_DERIVATION_PATH = "m/54'/784'/0'/0/0";
|
|
10
|
+
class Secp256k1Keypair extends Keypair {
|
|
11
|
+
/**
|
|
12
|
+
* Create a new keypair instance.
|
|
13
|
+
* Generate random keypair if no {@link Secp256k1Keypair} is provided.
|
|
14
|
+
*
|
|
15
|
+
* @param keypair secp256k1 keypair
|
|
16
|
+
*/
|
|
17
|
+
constructor(keypair) {
|
|
18
|
+
super();
|
|
19
|
+
if (keypair) {
|
|
20
|
+
this.keypair = keypair;
|
|
21
|
+
} else {
|
|
22
|
+
const secretKey = secp256k1.utils.randomPrivateKey();
|
|
23
|
+
const publicKey = secp256k1.getPublicKey(secretKey, true);
|
|
24
|
+
this.keypair = { publicKey, secretKey };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the key scheme of the keypair Secp256k1
|
|
29
|
+
*/
|
|
30
|
+
getKeyScheme() {
|
|
31
|
+
return "Secp256k1";
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generate a new random keypair
|
|
35
|
+
*/
|
|
36
|
+
static generate() {
|
|
37
|
+
return new Secp256k1Keypair();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Create a keypair from a raw secret key byte array.
|
|
41
|
+
*
|
|
42
|
+
* This method should only be used to recreate a keypair from a previously
|
|
43
|
+
* generated secret key. Generating keypairs from a random seed should be done
|
|
44
|
+
* with the {@link Keypair.fromSeed} method.
|
|
45
|
+
*
|
|
46
|
+
* @throws error if the provided secret key is invalid and validation is not skipped.
|
|
47
|
+
*
|
|
48
|
+
* @param secretKey secret key byte array or Bech32 secret key string
|
|
49
|
+
* @param options: skip secret key validation
|
|
50
|
+
*/
|
|
51
|
+
static fromSecretKey(secretKey, options) {
|
|
52
|
+
if (typeof secretKey === "string") {
|
|
53
|
+
const decoded = decodeHaneulPrivateKey(secretKey);
|
|
54
|
+
if (decoded.schema !== "Secp256k1") {
|
|
55
|
+
throw new Error(`Expected a Secp256k1 keypair, got ${decoded.schema}`);
|
|
56
|
+
}
|
|
57
|
+
return this.fromSecretKey(decoded.secretKey, options);
|
|
58
|
+
}
|
|
59
|
+
const publicKey = secp256k1.getPublicKey(secretKey, true);
|
|
60
|
+
if (!options || !options.skipValidation) {
|
|
61
|
+
const encoder = new TextEncoder();
|
|
62
|
+
const signData = encoder.encode("sui validation");
|
|
63
|
+
const msgHash = bytesToHex(blake2b(signData, { dkLen: 32 }));
|
|
64
|
+
const signature = secp256k1.sign(msgHash, secretKey);
|
|
65
|
+
if (!secp256k1.verify(signature, msgHash, publicKey, { lowS: true })) {
|
|
66
|
+
throw new Error("Provided secretKey is invalid");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return new Secp256k1Keypair({ publicKey, secretKey });
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Generate a keypair from a 32 byte seed.
|
|
73
|
+
*
|
|
74
|
+
* @param seed seed byte array
|
|
75
|
+
*/
|
|
76
|
+
static fromSeed(seed) {
|
|
77
|
+
const publicKey = secp256k1.getPublicKey(seed, true);
|
|
78
|
+
return new Secp256k1Keypair({ publicKey, secretKey: seed });
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The public key for this keypair
|
|
82
|
+
*/
|
|
83
|
+
getPublicKey() {
|
|
84
|
+
return new Secp256k1PublicKey(this.keypair.publicKey);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The Bech32 secret key string for this Secp256k1 keypair
|
|
88
|
+
*/
|
|
89
|
+
getSecretKey() {
|
|
90
|
+
return encodeHaneulPrivateKey(this.keypair.secretKey, this.getKeyScheme());
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Return the signature for the provided data.
|
|
94
|
+
*/
|
|
95
|
+
async sign(data) {
|
|
96
|
+
const msgHash = sha256(data);
|
|
97
|
+
const sig = secp256k1.sign(msgHash, this.keypair.secretKey, {
|
|
98
|
+
lowS: true
|
|
99
|
+
});
|
|
100
|
+
return sig.toCompactRawBytes();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Derive Secp256k1 keypair from mnemonics and path. The mnemonics must be normalized
|
|
104
|
+
* and validated against the english wordlist.
|
|
105
|
+
*
|
|
106
|
+
* If path is none, it will default to m/54'/784'/0'/0/0, otherwise the path must
|
|
107
|
+
* be compliant to BIP-32 in form m/54'/784'/{account_index}'/{change_index}/{address_index}.
|
|
108
|
+
*/
|
|
109
|
+
static deriveKeypair(mnemonics, path) {
|
|
110
|
+
if (path == null) {
|
|
111
|
+
path = DEFAULT_SECP256K1_DERIVATION_PATH;
|
|
112
|
+
}
|
|
113
|
+
if (!isValidBIP32Path(path)) {
|
|
114
|
+
throw new Error("Invalid derivation path");
|
|
115
|
+
}
|
|
116
|
+
const key = HDKey.fromMasterSeed(mnemonicToSeed(mnemonics)).derive(path);
|
|
117
|
+
if (key.publicKey == null || key.privateKey == null) {
|
|
118
|
+
throw new Error("Invalid key");
|
|
119
|
+
}
|
|
120
|
+
return new Secp256k1Keypair({
|
|
121
|
+
publicKey: key.publicKey,
|
|
122
|
+
secretKey: key.privateKey
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export {
|
|
127
|
+
DEFAULT_SECP256K1_DERIVATION_PATH,
|
|
128
|
+
Secp256k1Keypair
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=keypair.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/keypairs/secp256k1/keypair.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { secp256k1 } from '@noble/curves/secp256k1';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { sha256 } from '@noble/hashes/sha256';\nimport { bytesToHex } from '@noble/hashes/utils';\nimport { HDKey } from '@scure/bip32';\n\nimport { decodeHaneulPrivateKey, encodeHaneulPrivateKey, Keypair } from '../../cryptography/keypair.js';\nimport { isValidBIP32Path, mnemonicToSeed } from '../../cryptography/mnemonics.js';\nimport type { PublicKey } from '../../cryptography/publickey.js';\nimport type { SignatureScheme } from '../../cryptography/signature-scheme.js';\nimport { Secp256k1PublicKey } from './publickey.js';\n\nexport const DEFAULT_SECP256K1_DERIVATION_PATH = \"m/54'/784'/0'/0/0\";\n\n/**\n * Secp256k1 Keypair data\n */\nexport interface Secp256k1KeypairData {\n\tpublicKey: Uint8Array;\n\tsecretKey: Uint8Array;\n}\n\n/**\n * An Secp256k1 Keypair used for signing transactions.\n */\nexport class Secp256k1Keypair extends Keypair {\n\tprivate keypair: Secp256k1KeypairData;\n\n\t/**\n\t * Create a new keypair instance.\n\t * Generate random keypair if no {@link Secp256k1Keypair} is provided.\n\t *\n\t * @param keypair secp256k1 keypair\n\t */\n\tconstructor(keypair?: Secp256k1KeypairData) {\n\t\tsuper();\n\t\tif (keypair) {\n\t\t\tthis.keypair = keypair;\n\t\t} else {\n\t\t\tconst secretKey: Uint8Array = secp256k1.utils.randomPrivateKey();\n\t\t\tconst publicKey: Uint8Array = secp256k1.getPublicKey(secretKey, true);\n\n\t\t\tthis.keypair = { publicKey, secretKey };\n\t\t}\n\t}\n\n\t/**\n\t * Get the key scheme of the keypair Secp256k1\n\t */\n\tgetKeyScheme(): SignatureScheme {\n\t\treturn 'Secp256k1';\n\t}\n\n\t/**\n\t * Generate a new random keypair\n\t */\n\tstatic generate(): Secp256k1Keypair {\n\t\treturn new Secp256k1Keypair();\n\t}\n\n\t/**\n\t * Create a keypair from a raw secret key byte array.\n\t *\n\t * This method should only be used to recreate a keypair from a previously\n\t * generated secret key. Generating keypairs from a random seed should be done\n\t * with the {@link Keypair.fromSeed} method.\n\t *\n\t * @throws error if the provided secret key is invalid and validation is not skipped.\n\t *\n\t * @param secretKey secret key byte array or Bech32 secret key string\n\t * @param options: skip secret key validation\n\t */\n\n\tstatic fromSecretKey(\n\t\tsecretKey: Uint8Array | string,\n\t\toptions?: { skipValidation?: boolean },\n\t): Secp256k1Keypair {\n\t\tif (typeof secretKey === 'string') {\n\t\t\tconst decoded = decodeHaneulPrivateKey(secretKey);\n\n\t\t\tif (decoded.schema !== 'Secp256k1') {\n\t\t\t\tthrow new Error(`Expected a Secp256k1 keypair, got ${decoded.schema}`);\n\t\t\t}\n\n\t\t\treturn this.fromSecretKey(decoded.secretKey, options);\n\t\t}\n\n\t\tconst publicKey: Uint8Array = secp256k1.getPublicKey(secretKey, true);\n\t\tif (!options || !options.skipValidation) {\n\t\t\tconst encoder = new TextEncoder();\n\t\t\tconst signData = encoder.encode('sui validation');\n\t\t\tconst msgHash = bytesToHex(blake2b(signData, { dkLen: 32 }));\n\t\t\tconst signature = secp256k1.sign(msgHash, secretKey);\n\t\t\tif (!secp256k1.verify(signature, msgHash, publicKey, { lowS: true })) {\n\t\t\t\tthrow new Error('Provided secretKey is invalid');\n\t\t\t}\n\t\t}\n\t\treturn new Secp256k1Keypair({ publicKey, secretKey });\n\t}\n\n\t/**\n\t * Generate a keypair from a 32 byte seed.\n\t *\n\t * @param seed seed byte array\n\t */\n\tstatic fromSeed(seed: Uint8Array): Secp256k1Keypair {\n\t\tconst publicKey = secp256k1.getPublicKey(seed, true);\n\t\treturn new Secp256k1Keypair({ publicKey, secretKey: seed });\n\t}\n\n\t/**\n\t * The public key for this keypair\n\t */\n\tgetPublicKey(): PublicKey {\n\t\treturn new Secp256k1PublicKey(this.keypair.publicKey);\n\t}\n\t/**\n\t * The Bech32 secret key string for this Secp256k1 keypair\n\t */\n\tgetSecretKey(): string {\n\t\treturn encodeHaneulPrivateKey(this.keypair.secretKey, this.getKeyScheme());\n\t}\n\n\t/**\n\t * Return the signature for the provided data.\n\t */\n\tasync sign(data: Uint8Array) {\n\t\tconst msgHash = sha256(data);\n\t\tconst sig = secp256k1.sign(msgHash, this.keypair.secretKey, {\n\t\t\tlowS: true,\n\t\t});\n\t\treturn sig.toCompactRawBytes() as Uint8Array<ArrayBuffer>;\n\t}\n\n\t/**\n\t * Derive Secp256k1 keypair from mnemonics and path. The mnemonics must be normalized\n\t * and validated against the english wordlist.\n\t *\n\t * If path is none, it will default to m/54'/784'/0'/0/0, otherwise the path must\n\t * be compliant to BIP-32 in form m/54'/784'/{account_index}'/{change_index}/{address_index}.\n\t */\n\tstatic deriveKeypair(mnemonics: string, path?: string): Secp256k1Keypair {\n\t\tif (path == null) {\n\t\t\tpath = DEFAULT_SECP256K1_DERIVATION_PATH;\n\t\t}\n\t\tif (!isValidBIP32Path(path)) {\n\t\t\tthrow new Error('Invalid derivation path');\n\t\t}\n\t\tconst key = HDKey.fromMasterSeed(mnemonicToSeed(mnemonics)).derive(path);\n\t\tif (key.publicKey == null || key.privateKey == null) {\n\t\t\tthrow new Error('Invalid key');\n\t\t}\n\t\treturn new Secp256k1Keypair({\n\t\t\tpublicKey: key.publicKey,\n\t\t\tsecretKey: key.privateKey,\n\t\t});\n\t}\n}\n"],
|
|
5
|
+
"mappings": "AAGA,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAC3B,SAAS,aAAa;AAEtB,SAAS,wBAAwB,wBAAwB,eAAe;AACxE,SAAS,kBAAkB,sBAAsB;AAGjD,SAAS,0BAA0B;AAE5B,MAAM,oCAAoC;AAa1C,MAAM,yBAAyB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS7C,YAAY,SAAgC;AAC3C,UAAM;AACN,QAAI,SAAS;AACZ,WAAK,UAAU;AAAA,IAChB,OAAO;AACN,YAAM,YAAwB,UAAU,MAAM,iBAAiB;AAC/D,YAAM,YAAwB,UAAU,aAAa,WAAW,IAAI;AAEpE,WAAK,UAAU,EAAE,WAAW,UAAU;AAAA,IACvC;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,eAAgC;AAC/B,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,WAA6B;AACnC,WAAO,IAAI,iBAAiB;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,OAAO,cACN,WACA,SACmB;AACnB,QAAI,OAAO,cAAc,UAAU;AAClC,YAAM,UAAU,uBAAuB,SAAS;AAEhD,UAAI,QAAQ,WAAW,aAAa;AACnC,cAAM,IAAI,MAAM,qCAAqC,QAAQ,MAAM,EAAE;AAAA,MACtE;AAEA,aAAO,KAAK,cAAc,QAAQ,WAAW,OAAO;AAAA,IACrD;AAEA,UAAM,YAAwB,UAAU,aAAa,WAAW,IAAI;AACpE,QAAI,CAAC,WAAW,CAAC,QAAQ,gBAAgB;AACxC,YAAM,UAAU,IAAI,YAAY;AAChC,YAAM,WAAW,QAAQ,OAAO,gBAAgB;AAChD,YAAM,UAAU,WAAW,QAAQ,UAAU,EAAE,OAAO,GAAG,CAAC,CAAC;AAC3D,YAAM,YAAY,UAAU,KAAK,SAAS,SAAS;AACnD,UAAI,CAAC,UAAU,OAAO,WAAW,SAAS,WAAW,EAAE,MAAM,KAAK,CAAC,GAAG;AACrE,cAAM,IAAI,MAAM,+BAA+B;AAAA,MAChD;AAAA,IACD;AACA,WAAO,IAAI,iBAAiB,EAAE,WAAW,UAAU,CAAC;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,SAAS,MAAoC;AACnD,UAAM,YAAY,UAAU,aAAa,MAAM,IAAI;AACnD,WAAO,IAAI,iBAAiB,EAAE,WAAW,WAAW,KAAK,CAAC;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA,EAKA,eAA0B;AACzB,WAAO,IAAI,mBAAmB,KAAK,QAAQ,SAAS;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA,EAIA,eAAuB;AACtB,WAAO,uBAAuB,KAAK,QAAQ,WAAW,KAAK,aAAa,CAAC;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,KAAK,MAAkB;AAC5B,UAAM,UAAU,OAAO,IAAI;AAC3B,UAAM,MAAM,UAAU,KAAK,SAAS,KAAK,QAAQ,WAAW;AAAA,MAC3D,MAAM;AAAA,IACP,CAAC;AACD,WAAO,IAAI,kBAAkB;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAO,cAAc,WAAmB,MAAiC;AACxE,QAAI,QAAQ,MAAM;AACjB,aAAO;AAAA,IACR;AACA,QAAI,CAAC,iBAAiB,IAAI,GAAG;AAC5B,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC1C;AACA,UAAM,MAAM,MAAM,eAAe,eAAe,SAAS,CAAC,EAAE,OAAO,IAAI;AACvE,QAAI,IAAI,aAAa,QAAQ,IAAI,cAAc,MAAM;AACpD,YAAM,IAAI,MAAM,aAAa;AAAA,IAC9B;AACA,WAAO,IAAI,iBAAiB;AAAA,MAC3B,WAAW,IAAI;AAAA,MACf,WAAW,IAAI;AAAA,IAChB,CAAC;AAAA,EACF;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PublicKey } from '../../cryptography/publickey.js';
|
|
2
|
+
import type { PublicKeyInitData } from '../../cryptography/publickey.js';
|
|
3
|
+
/**
|
|
4
|
+
* A Secp256k1 public key
|
|
5
|
+
*/
|
|
6
|
+
export declare class Secp256k1PublicKey extends PublicKey {
|
|
7
|
+
static SIZE: number;
|
|
8
|
+
private data;
|
|
9
|
+
/**
|
|
10
|
+
* Create a new Secp256k1PublicKey object
|
|
11
|
+
* @param value secp256k1 public key as buffer or base-64 encoded string
|
|
12
|
+
*/
|
|
13
|
+
constructor(value: PublicKeyInitData);
|
|
14
|
+
/**
|
|
15
|
+
* Checks if two Secp256k1 public keys are equal
|
|
16
|
+
*/
|
|
17
|
+
equals(publicKey: Secp256k1PublicKey): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Return the byte array representation of the Secp256k1 public key
|
|
20
|
+
*/
|
|
21
|
+
toRawBytes(): Uint8Array<ArrayBuffer>;
|
|
22
|
+
/**
|
|
23
|
+
* Return the Haneul address associated with this Secp256k1 public key
|
|
24
|
+
*/
|
|
25
|
+
flag(): number;
|
|
26
|
+
/**
|
|
27
|
+
* Verifies that the signature is valid for for the provided message
|
|
28
|
+
*/
|
|
29
|
+
verify(message: Uint8Array, signature: Uint8Array | string): Promise<boolean>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { fromBase64 } from "@haneullabs/bcs";
|
|
2
|
+
import { secp256k1 } from "@noble/curves/secp256k1";
|
|
3
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
4
|
+
import {
|
|
5
|
+
bytesEqual,
|
|
6
|
+
parseSerializedKeypairSignature,
|
|
7
|
+
PublicKey
|
|
8
|
+
} from "../../cryptography/publickey.js";
|
|
9
|
+
import { SIGNATURE_SCHEME_TO_FLAG } from "../../cryptography/signature-scheme.js";
|
|
10
|
+
const SECP256K1_PUBLIC_KEY_SIZE = 33;
|
|
11
|
+
class Secp256k1PublicKey extends PublicKey {
|
|
12
|
+
/**
|
|
13
|
+
* Create a new Secp256k1PublicKey object
|
|
14
|
+
* @param value secp256k1 public key as buffer or base-64 encoded string
|
|
15
|
+
*/
|
|
16
|
+
constructor(value) {
|
|
17
|
+
super();
|
|
18
|
+
if (typeof value === "string") {
|
|
19
|
+
this.data = fromBase64(value);
|
|
20
|
+
} else if (value instanceof Uint8Array) {
|
|
21
|
+
this.data = value;
|
|
22
|
+
} else {
|
|
23
|
+
this.data = Uint8Array.from(value);
|
|
24
|
+
}
|
|
25
|
+
if (this.data.length !== SECP256K1_PUBLIC_KEY_SIZE) {
|
|
26
|
+
throw new Error(
|
|
27
|
+
`Invalid public key input. Expected ${SECP256K1_PUBLIC_KEY_SIZE} bytes, got ${this.data.length}`
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Checks if two Secp256k1 public keys are equal
|
|
33
|
+
*/
|
|
34
|
+
equals(publicKey) {
|
|
35
|
+
return super.equals(publicKey);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Return the byte array representation of the Secp256k1 public key
|
|
39
|
+
*/
|
|
40
|
+
toRawBytes() {
|
|
41
|
+
return this.data;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Return the Haneul address associated with this Secp256k1 public key
|
|
45
|
+
*/
|
|
46
|
+
flag() {
|
|
47
|
+
return SIGNATURE_SCHEME_TO_FLAG["Secp256k1"];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Verifies that the signature is valid for for the provided message
|
|
51
|
+
*/
|
|
52
|
+
async verify(message, signature) {
|
|
53
|
+
let bytes;
|
|
54
|
+
if (typeof signature === "string") {
|
|
55
|
+
const parsed = parseSerializedKeypairSignature(signature);
|
|
56
|
+
if (parsed.signatureScheme !== "Secp256k1") {
|
|
57
|
+
throw new Error("Invalid signature scheme");
|
|
58
|
+
}
|
|
59
|
+
if (!bytesEqual(this.toRawBytes(), parsed.publicKey)) {
|
|
60
|
+
throw new Error("Signature does not match public key");
|
|
61
|
+
}
|
|
62
|
+
bytes = parsed.signature;
|
|
63
|
+
} else {
|
|
64
|
+
bytes = signature;
|
|
65
|
+
}
|
|
66
|
+
return secp256k1.verify(
|
|
67
|
+
secp256k1.Signature.fromCompact(bytes),
|
|
68
|
+
sha256(message),
|
|
69
|
+
this.toRawBytes()
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
Secp256k1PublicKey.SIZE = SECP256K1_PUBLIC_KEY_SIZE;
|
|
74
|
+
export {
|
|
75
|
+
Secp256k1PublicKey
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=publickey.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/keypairs/secp256k1/publickey.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@haneullabs/bcs';\nimport { secp256k1 } from '@noble/curves/secp256k1';\nimport { sha256 } from '@noble/hashes/sha256';\n\nimport {\n\tbytesEqual,\n\tparseSerializedKeypairSignature,\n\tPublicKey,\n} from '../../cryptography/publickey.js';\nimport type { PublicKeyInitData } from '../../cryptography/publickey.js';\nimport { SIGNATURE_SCHEME_TO_FLAG } from '../../cryptography/signature-scheme.js';\n\nconst SECP256K1_PUBLIC_KEY_SIZE = 33;\n\n/**\n * A Secp256k1 public key\n */\nexport class Secp256k1PublicKey extends PublicKey {\n\tstatic SIZE = SECP256K1_PUBLIC_KEY_SIZE;\n\tprivate data: Uint8Array<ArrayBuffer>;\n\n\t/**\n\t * Create a new Secp256k1PublicKey object\n\t * @param value secp256k1 public key as buffer or base-64 encoded string\n\t */\n\tconstructor(value: PublicKeyInitData) {\n\t\tsuper();\n\n\t\tif (typeof value === 'string') {\n\t\t\tthis.data = fromBase64(value);\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\tthis.data = value as Uint8Array<ArrayBuffer>;\n\t\t} else {\n\t\t\tthis.data = Uint8Array.from(value);\n\t\t}\n\n\t\tif (this.data.length !== SECP256K1_PUBLIC_KEY_SIZE) {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid public key input. Expected ${SECP256K1_PUBLIC_KEY_SIZE} bytes, got ${this.data.length}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if two Secp256k1 public keys are equal\n\t */\n\toverride equals(publicKey: Secp256k1PublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the Secp256k1 public key\n\t */\n\ttoRawBytes(): Uint8Array<ArrayBuffer> {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Return the Haneul address associated with this Secp256k1 public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['Secp256k1'];\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, signature: Uint8Array | string): Promise<boolean> {\n\t\tlet bytes;\n\t\tif (typeof signature === 'string') {\n\t\t\tconst parsed = parseSerializedKeypairSignature(signature);\n\t\t\tif (parsed.signatureScheme !== 'Secp256k1') {\n\t\t\t\tthrow new Error('Invalid signature scheme');\n\t\t\t}\n\n\t\t\tif (!bytesEqual(this.toRawBytes(), parsed.publicKey)) {\n\t\t\t\tthrow new Error('Signature does not match public key');\n\t\t\t}\n\n\t\t\tbytes = parsed.signature;\n\t\t} else {\n\t\t\tbytes = signature;\n\t\t}\n\n\t\treturn secp256k1.verify(\n\t\t\tsecp256k1.Signature.fromCompact(bytes),\n\t\t\tsha256(message),\n\t\t\tthis.toRawBytes(),\n\t\t);\n\t}\n}\n"],
|
|
5
|
+
"mappings": "AAGA,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AAEvB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEP,SAAS,gCAAgC;AAEzC,MAAM,4BAA4B;AAK3B,MAAM,2BAA2B,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjD,YAAY,OAA0B;AACrC,UAAM;AAEN,QAAI,OAAO,UAAU,UAAU;AAC9B,WAAK,OAAO,WAAW,KAAK;AAAA,IAC7B,WAAW,iBAAiB,YAAY;AACvC,WAAK,OAAO;AAAA,IACb,OAAO;AACN,WAAK,OAAO,WAAW,KAAK,KAAK;AAAA,IAClC;AAEA,QAAI,KAAK,KAAK,WAAW,2BAA2B;AACnD,YAAM,IAAI;AAAA,QACT,sCAAsC,yBAAyB,eAAe,KAAK,KAAK,MAAM;AAAA,MAC/F;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKS,OAAO,WAAwC;AACvD,WAAO,MAAM,OAAO,SAAS;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,aAAsC;AACrC,WAAO,KAAK;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe;AACd,WAAO,yBAAyB,WAAW;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,SAAqB,WAAkD;AACnF,QAAI;AACJ,QAAI,OAAO,cAAc,UAAU;AAClC,YAAM,SAAS,gCAAgC,SAAS;AACxD,UAAI,OAAO,oBAAoB,aAAa;AAC3C,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC3C;AAEA,UAAI,CAAC,WAAW,KAAK,WAAW,GAAG,OAAO,SAAS,GAAG;AACrD,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AAEA,cAAQ,OAAO;AAAA,IAChB,OAAO;AACN,cAAQ;AAAA,IACT;AAEA,WAAO,UAAU;AAAA,MAChB,UAAU,UAAU,YAAY,KAAK;AAAA,MACrC,OAAO,OAAO;AAAA,MACd,KAAK,WAAW;AAAA,IACjB;AAAA,EACD;AACD;AAzEa,mBACL,OAAO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_SECP256R1_DERIVATION_PATH,
|
|
3
|
+
Secp256r1Keypair
|
|
4
|
+
} from "./keypair.js";
|
|
5
|
+
import { Secp256r1PublicKey } from "./publickey.js";
|
|
6
|
+
export {
|
|
7
|
+
DEFAULT_SECP256R1_DERIVATION_PATH,
|
|
8
|
+
Secp256r1Keypair,
|
|
9
|
+
Secp256r1PublicKey
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/keypairs/secp256r1/index.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport {\n\tDEFAULT_SECP256R1_DERIVATION_PATH,\n\tSecp256r1Keypair,\n\ttype Secp256r1KeypairData,\n} from './keypair.js';\nexport { Secp256r1PublicKey } from './publickey.js';\n"],
|
|
5
|
+
"mappings": "AAGA;AAAA,EACC;AAAA,EACA;AAAA,OAEM;AACP,SAAS,0BAA0B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Keypair } from '../../cryptography/keypair.js';
|
|
2
|
+
import type { PublicKey } from '../../cryptography/publickey.js';
|
|
3
|
+
import type { SignatureScheme } from '../../cryptography/signature-scheme.js';
|
|
4
|
+
export declare const DEFAULT_SECP256R1_DERIVATION_PATH = "m/74'/784'/0'/0/0";
|
|
5
|
+
/**
|
|
6
|
+
* Secp256r1 Keypair data
|
|
7
|
+
*/
|
|
8
|
+
export interface Secp256r1KeypairData {
|
|
9
|
+
publicKey: Uint8Array;
|
|
10
|
+
secretKey: Uint8Array;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* An Secp256r1 Keypair used for signing transactions.
|
|
14
|
+
*/
|
|
15
|
+
export declare class Secp256r1Keypair extends Keypair {
|
|
16
|
+
private keypair;
|
|
17
|
+
/**
|
|
18
|
+
* Create a new keypair instance.
|
|
19
|
+
* Generate random keypair if no {@link Secp256r1Keypair} is provided.
|
|
20
|
+
*
|
|
21
|
+
* @param keypair Secp256r1 keypair
|
|
22
|
+
*/
|
|
23
|
+
constructor(keypair?: Secp256r1KeypairData);
|
|
24
|
+
/**
|
|
25
|
+
* Get the key scheme of the keypair Secp256r1
|
|
26
|
+
*/
|
|
27
|
+
getKeyScheme(): SignatureScheme;
|
|
28
|
+
/**
|
|
29
|
+
* Generate a new random keypair
|
|
30
|
+
*/
|
|
31
|
+
static generate(): Secp256r1Keypair;
|
|
32
|
+
/**
|
|
33
|
+
* Create a keypair from a raw secret key byte array.
|
|
34
|
+
*
|
|
35
|
+
* This method should only be used to recreate a keypair from a previously
|
|
36
|
+
* generated secret key. Generating keypairs from a random seed should be done
|
|
37
|
+
* with the {@link Keypair.fromSeed} method.
|
|
38
|
+
*
|
|
39
|
+
* @throws error if the provided secret key is invalid and validation is not skipped.
|
|
40
|
+
*
|
|
41
|
+
* @param secretKey secret key byte array or Bech32 secret key string
|
|
42
|
+
* @param options: skip secret key validation
|
|
43
|
+
*/
|
|
44
|
+
static fromSecretKey(secretKey: Uint8Array | string, options?: {
|
|
45
|
+
skipValidation?: boolean;
|
|
46
|
+
}): Secp256r1Keypair;
|
|
47
|
+
/**
|
|
48
|
+
* Generate a keypair from a 32 byte seed.
|
|
49
|
+
*
|
|
50
|
+
* @param seed seed byte array
|
|
51
|
+
*/
|
|
52
|
+
static fromSeed(seed: Uint8Array): Secp256r1Keypair;
|
|
53
|
+
/**
|
|
54
|
+
* The public key for this keypair
|
|
55
|
+
*/
|
|
56
|
+
getPublicKey(): PublicKey;
|
|
57
|
+
/**
|
|
58
|
+
* The Bech32 secret key string for this Secp256r1 keypair
|
|
59
|
+
*/
|
|
60
|
+
getSecretKey(): string;
|
|
61
|
+
/**
|
|
62
|
+
* Return the signature for the provided data.
|
|
63
|
+
*/
|
|
64
|
+
sign(data: Uint8Array): Promise<Uint8Array<ArrayBuffer>>;
|
|
65
|
+
/**
|
|
66
|
+
* Derive Secp256r1 keypair from mnemonics and path. The mnemonics must be normalized
|
|
67
|
+
* and validated against the english wordlist.
|
|
68
|
+
*
|
|
69
|
+
* If path is none, it will default to m/74'/784'/0'/0/0, otherwise the path must
|
|
70
|
+
* be compliant to BIP-32 in form m/74'/784'/{account_index}'/{change_index}/{address_index}.
|
|
71
|
+
*/
|
|
72
|
+
static deriveKeypair(mnemonics: string, path?: string): Secp256r1Keypair;
|
|
73
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { secp256r1 } from "@noble/curves/p256";
|
|
2
|
+
import { blake2b } from "@noble/hashes/blake2b";
|
|
3
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
4
|
+
import { bytesToHex } from "@noble/hashes/utils";
|
|
5
|
+
import { HDKey } from "@scure/bip32";
|
|
6
|
+
import { decodeHaneulPrivateKey, encodeHaneulPrivateKey, Keypair } from "../../cryptography/keypair.js";
|
|
7
|
+
import { isValidBIP32Path, mnemonicToSeed } from "../../cryptography/mnemonics.js";
|
|
8
|
+
import { Secp256r1PublicKey } from "./publickey.js";
|
|
9
|
+
const DEFAULT_SECP256R1_DERIVATION_PATH = "m/74'/784'/0'/0/0";
|
|
10
|
+
class Secp256r1Keypair extends Keypair {
|
|
11
|
+
/**
|
|
12
|
+
* Create a new keypair instance.
|
|
13
|
+
* Generate random keypair if no {@link Secp256r1Keypair} is provided.
|
|
14
|
+
*
|
|
15
|
+
* @param keypair Secp256r1 keypair
|
|
16
|
+
*/
|
|
17
|
+
constructor(keypair) {
|
|
18
|
+
super();
|
|
19
|
+
if (keypair) {
|
|
20
|
+
this.keypair = keypair;
|
|
21
|
+
} else {
|
|
22
|
+
const secretKey = secp256r1.utils.randomPrivateKey();
|
|
23
|
+
const publicKey = secp256r1.getPublicKey(secretKey, true);
|
|
24
|
+
this.keypair = { publicKey, secretKey };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the key scheme of the keypair Secp256r1
|
|
29
|
+
*/
|
|
30
|
+
getKeyScheme() {
|
|
31
|
+
return "Secp256r1";
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generate a new random keypair
|
|
35
|
+
*/
|
|
36
|
+
static generate() {
|
|
37
|
+
return new Secp256r1Keypair();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Create a keypair from a raw secret key byte array.
|
|
41
|
+
*
|
|
42
|
+
* This method should only be used to recreate a keypair from a previously
|
|
43
|
+
* generated secret key. Generating keypairs from a random seed should be done
|
|
44
|
+
* with the {@link Keypair.fromSeed} method.
|
|
45
|
+
*
|
|
46
|
+
* @throws error if the provided secret key is invalid and validation is not skipped.
|
|
47
|
+
*
|
|
48
|
+
* @param secretKey secret key byte array or Bech32 secret key string
|
|
49
|
+
* @param options: skip secret key validation
|
|
50
|
+
*/
|
|
51
|
+
static fromSecretKey(secretKey, options) {
|
|
52
|
+
if (typeof secretKey === "string") {
|
|
53
|
+
const decoded = decodeHaneulPrivateKey(secretKey);
|
|
54
|
+
if (decoded.schema !== "Secp256r1") {
|
|
55
|
+
throw new Error(`Expected a Secp256r1 keypair, got ${decoded.schema}`);
|
|
56
|
+
}
|
|
57
|
+
return this.fromSecretKey(decoded.secretKey, options);
|
|
58
|
+
}
|
|
59
|
+
const publicKey = secp256r1.getPublicKey(secretKey, true);
|
|
60
|
+
if (!options || !options.skipValidation) {
|
|
61
|
+
const encoder = new TextEncoder();
|
|
62
|
+
const signData = encoder.encode("sui validation");
|
|
63
|
+
const msgHash = bytesToHex(blake2b(signData, { dkLen: 32 }));
|
|
64
|
+
const signature = secp256r1.sign(msgHash, secretKey, { lowS: true });
|
|
65
|
+
if (!secp256r1.verify(signature, msgHash, publicKey, { lowS: true })) {
|
|
66
|
+
throw new Error("Provided secretKey is invalid");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return new Secp256r1Keypair({ publicKey, secretKey });
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Generate a keypair from a 32 byte seed.
|
|
73
|
+
*
|
|
74
|
+
* @param seed seed byte array
|
|
75
|
+
*/
|
|
76
|
+
static fromSeed(seed) {
|
|
77
|
+
const publicKey = secp256r1.getPublicKey(seed, true);
|
|
78
|
+
return new Secp256r1Keypair({ publicKey, secretKey: seed });
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The public key for this keypair
|
|
82
|
+
*/
|
|
83
|
+
getPublicKey() {
|
|
84
|
+
return new Secp256r1PublicKey(this.keypair.publicKey);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The Bech32 secret key string for this Secp256r1 keypair
|
|
88
|
+
*/
|
|
89
|
+
getSecretKey() {
|
|
90
|
+
return encodeHaneulPrivateKey(this.keypair.secretKey, this.getKeyScheme());
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Return the signature for the provided data.
|
|
94
|
+
*/
|
|
95
|
+
async sign(data) {
|
|
96
|
+
const msgHash = sha256(data);
|
|
97
|
+
const sig = secp256r1.sign(msgHash, this.keypair.secretKey, {
|
|
98
|
+
lowS: true
|
|
99
|
+
});
|
|
100
|
+
return sig.toCompactRawBytes();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Derive Secp256r1 keypair from mnemonics and path. The mnemonics must be normalized
|
|
104
|
+
* and validated against the english wordlist.
|
|
105
|
+
*
|
|
106
|
+
* If path is none, it will default to m/74'/784'/0'/0/0, otherwise the path must
|
|
107
|
+
* be compliant to BIP-32 in form m/74'/784'/{account_index}'/{change_index}/{address_index}.
|
|
108
|
+
*/
|
|
109
|
+
static deriveKeypair(mnemonics, path) {
|
|
110
|
+
if (path == null) {
|
|
111
|
+
path = DEFAULT_SECP256R1_DERIVATION_PATH;
|
|
112
|
+
}
|
|
113
|
+
if (!isValidBIP32Path(path)) {
|
|
114
|
+
throw new Error("Invalid derivation path");
|
|
115
|
+
}
|
|
116
|
+
const privateKey = HDKey.fromMasterSeed(mnemonicToSeed(mnemonics)).derive(path).privateKey;
|
|
117
|
+
return Secp256r1Keypair.fromSecretKey(privateKey);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export {
|
|
121
|
+
DEFAULT_SECP256R1_DERIVATION_PATH,
|
|
122
|
+
Secp256r1Keypair
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=keypair.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/keypairs/secp256r1/keypair.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { secp256r1 } from '@noble/curves/p256';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { sha256 } from '@noble/hashes/sha256';\nimport { bytesToHex } from '@noble/hashes/utils';\nimport { HDKey } from '@scure/bip32';\n\nimport { decodeHaneulPrivateKey, encodeHaneulPrivateKey, Keypair } from '../../cryptography/keypair.js';\nimport { isValidBIP32Path, mnemonicToSeed } from '../../cryptography/mnemonics.js';\nimport type { PublicKey } from '../../cryptography/publickey.js';\nimport type { SignatureScheme } from '../../cryptography/signature-scheme.js';\nimport { Secp256r1PublicKey } from './publickey.js';\n\nexport const DEFAULT_SECP256R1_DERIVATION_PATH = \"m/74'/784'/0'/0/0\";\n\n/**\n * Secp256r1 Keypair data\n */\nexport interface Secp256r1KeypairData {\n\tpublicKey: Uint8Array;\n\tsecretKey: Uint8Array;\n}\n\n/**\n * An Secp256r1 Keypair used for signing transactions.\n */\nexport class Secp256r1Keypair extends Keypair {\n\tprivate keypair: Secp256r1KeypairData;\n\n\t/**\n\t * Create a new keypair instance.\n\t * Generate random keypair if no {@link Secp256r1Keypair} is provided.\n\t *\n\t * @param keypair Secp256r1 keypair\n\t */\n\tconstructor(keypair?: Secp256r1KeypairData) {\n\t\tsuper();\n\t\tif (keypair) {\n\t\t\tthis.keypair = keypair;\n\t\t} else {\n\t\t\tconst secretKey: Uint8Array = secp256r1.utils.randomPrivateKey();\n\t\t\tconst publicKey: Uint8Array = secp256r1.getPublicKey(secretKey, true);\n\n\t\t\tthis.keypair = { publicKey, secretKey };\n\t\t}\n\t}\n\n\t/**\n\t * Get the key scheme of the keypair Secp256r1\n\t */\n\tgetKeyScheme(): SignatureScheme {\n\t\treturn 'Secp256r1';\n\t}\n\n\t/**\n\t * Generate a new random keypair\n\t */\n\tstatic generate(): Secp256r1Keypair {\n\t\treturn new Secp256r1Keypair();\n\t}\n\n\t/**\n\t * Create a keypair from a raw secret key byte array.\n\t *\n\t * This method should only be used to recreate a keypair from a previously\n\t * generated secret key. Generating keypairs from a random seed should be done\n\t * with the {@link Keypair.fromSeed} method.\n\t *\n\t * @throws error if the provided secret key is invalid and validation is not skipped.\n\t *\n\t * @param secretKey secret key byte array or Bech32 secret key string\n\t * @param options: skip secret key validation\n\t */\n\n\tstatic fromSecretKey(\n\t\tsecretKey: Uint8Array | string,\n\t\toptions?: { skipValidation?: boolean },\n\t): Secp256r1Keypair {\n\t\tif (typeof secretKey === 'string') {\n\t\t\tconst decoded = decodeHaneulPrivateKey(secretKey);\n\n\t\t\tif (decoded.schema !== 'Secp256r1') {\n\t\t\t\tthrow new Error(`Expected a Secp256r1 keypair, got ${decoded.schema}`);\n\t\t\t}\n\n\t\t\treturn this.fromSecretKey(decoded.secretKey, options);\n\t\t}\n\n\t\tconst publicKey: Uint8Array = secp256r1.getPublicKey(secretKey, true);\n\t\tif (!options || !options.skipValidation) {\n\t\t\tconst encoder = new TextEncoder();\n\t\t\tconst signData = encoder.encode('sui validation');\n\t\t\tconst msgHash = bytesToHex(blake2b(signData, { dkLen: 32 }));\n\t\t\tconst signature = secp256r1.sign(msgHash, secretKey, { lowS: true });\n\t\t\tif (!secp256r1.verify(signature, msgHash, publicKey, { lowS: true })) {\n\t\t\t\tthrow new Error('Provided secretKey is invalid');\n\t\t\t}\n\t\t}\n\t\treturn new Secp256r1Keypair({ publicKey, secretKey });\n\t}\n\n\t/**\n\t * Generate a keypair from a 32 byte seed.\n\t *\n\t * @param seed seed byte array\n\t */\n\tstatic fromSeed(seed: Uint8Array): Secp256r1Keypair {\n\t\tconst publicKey = secp256r1.getPublicKey(seed, true);\n\t\treturn new Secp256r1Keypair({ publicKey, secretKey: seed });\n\t}\n\n\t/**\n\t * The public key for this keypair\n\t */\n\tgetPublicKey(): PublicKey {\n\t\treturn new Secp256r1PublicKey(this.keypair.publicKey);\n\t}\n\n\t/**\n\t * The Bech32 secret key string for this Secp256r1 keypair\n\t */\n\tgetSecretKey(): string {\n\t\treturn encodeHaneulPrivateKey(this.keypair.secretKey, this.getKeyScheme());\n\t}\n\n\t/**\n\t * Return the signature for the provided data.\n\t */\n\tasync sign(data: Uint8Array) {\n\t\tconst msgHash = sha256(data);\n\t\tconst sig = secp256r1.sign(msgHash, this.keypair.secretKey, {\n\t\t\tlowS: true,\n\t\t});\n\t\treturn sig.toCompactRawBytes() as Uint8Array<ArrayBuffer>;\n\t}\n\n\t/**\n\t * Derive Secp256r1 keypair from mnemonics and path. The mnemonics must be normalized\n\t * and validated against the english wordlist.\n\t *\n\t * If path is none, it will default to m/74'/784'/0'/0/0, otherwise the path must\n\t * be compliant to BIP-32 in form m/74'/784'/{account_index}'/{change_index}/{address_index}.\n\t */\n\tstatic deriveKeypair(mnemonics: string, path?: string): Secp256r1Keypair {\n\t\tif (path == null) {\n\t\t\tpath = DEFAULT_SECP256R1_DERIVATION_PATH;\n\t\t}\n\t\tif (!isValidBIP32Path(path)) {\n\t\t\tthrow new Error('Invalid derivation path');\n\t\t}\n\t\t// We use HDKey which is hardcoded to use Secp256k1 but since we only need the 32 bytes for the private key it's okay to use here as well.\n\t\tconst privateKey = HDKey.fromMasterSeed(mnemonicToSeed(mnemonics)).derive(path).privateKey;\n\t\treturn Secp256r1Keypair.fromSecretKey(privateKey!);\n\t}\n}\n"],
|
|
5
|
+
"mappings": "AAGA,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAC3B,SAAS,aAAa;AAEtB,SAAS,wBAAwB,wBAAwB,eAAe;AACxE,SAAS,kBAAkB,sBAAsB;AAGjD,SAAS,0BAA0B;AAE5B,MAAM,oCAAoC;AAa1C,MAAM,yBAAyB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS7C,YAAY,SAAgC;AAC3C,UAAM;AACN,QAAI,SAAS;AACZ,WAAK,UAAU;AAAA,IAChB,OAAO;AACN,YAAM,YAAwB,UAAU,MAAM,iBAAiB;AAC/D,YAAM,YAAwB,UAAU,aAAa,WAAW,IAAI;AAEpE,WAAK,UAAU,EAAE,WAAW,UAAU;AAAA,IACvC;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,eAAgC;AAC/B,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,WAA6B;AACnC,WAAO,IAAI,iBAAiB;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,OAAO,cACN,WACA,SACmB;AACnB,QAAI,OAAO,cAAc,UAAU;AAClC,YAAM,UAAU,uBAAuB,SAAS;AAEhD,UAAI,QAAQ,WAAW,aAAa;AACnC,cAAM,IAAI,MAAM,qCAAqC,QAAQ,MAAM,EAAE;AAAA,MACtE;AAEA,aAAO,KAAK,cAAc,QAAQ,WAAW,OAAO;AAAA,IACrD;AAEA,UAAM,YAAwB,UAAU,aAAa,WAAW,IAAI;AACpE,QAAI,CAAC,WAAW,CAAC,QAAQ,gBAAgB;AACxC,YAAM,UAAU,IAAI,YAAY;AAChC,YAAM,WAAW,QAAQ,OAAO,gBAAgB;AAChD,YAAM,UAAU,WAAW,QAAQ,UAAU,EAAE,OAAO,GAAG,CAAC,CAAC;AAC3D,YAAM,YAAY,UAAU,KAAK,SAAS,WAAW,EAAE,MAAM,KAAK,CAAC;AACnE,UAAI,CAAC,UAAU,OAAO,WAAW,SAAS,WAAW,EAAE,MAAM,KAAK,CAAC,GAAG;AACrE,cAAM,IAAI,MAAM,+BAA+B;AAAA,MAChD;AAAA,IACD;AACA,WAAO,IAAI,iBAAiB,EAAE,WAAW,UAAU,CAAC;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,SAAS,MAAoC;AACnD,UAAM,YAAY,UAAU,aAAa,MAAM,IAAI;AACnD,WAAO,IAAI,iBAAiB,EAAE,WAAW,WAAW,KAAK,CAAC;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA,EAKA,eAA0B;AACzB,WAAO,IAAI,mBAAmB,KAAK,QAAQ,SAAS;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA,EAKA,eAAuB;AACtB,WAAO,uBAAuB,KAAK,QAAQ,WAAW,KAAK,aAAa,CAAC;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,KAAK,MAAkB;AAC5B,UAAM,UAAU,OAAO,IAAI;AAC3B,UAAM,MAAM,UAAU,KAAK,SAAS,KAAK,QAAQ,WAAW;AAAA,MAC3D,MAAM;AAAA,IACP,CAAC;AACD,WAAO,IAAI,kBAAkB;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAO,cAAc,WAAmB,MAAiC;AACxE,QAAI,QAAQ,MAAM;AACjB,aAAO;AAAA,IACR;AACA,QAAI,CAAC,iBAAiB,IAAI,GAAG;AAC5B,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC1C;AAEA,UAAM,aAAa,MAAM,eAAe,eAAe,SAAS,CAAC,EAAE,OAAO,IAAI,EAAE;AAChF,WAAO,iBAAiB,cAAc,UAAW;AAAA,EAClD;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PublicKey } from '../../cryptography/publickey.js';
|
|
2
|
+
import type { PublicKeyInitData } from '../../cryptography/publickey.js';
|
|
3
|
+
/**
|
|
4
|
+
* A Secp256r1 public key
|
|
5
|
+
*/
|
|
6
|
+
export declare class Secp256r1PublicKey extends PublicKey {
|
|
7
|
+
static SIZE: number;
|
|
8
|
+
private data;
|
|
9
|
+
/**
|
|
10
|
+
* Create a new Secp256r1PublicKey object
|
|
11
|
+
* @param value secp256r1 public key as buffer or base-64 encoded string
|
|
12
|
+
*/
|
|
13
|
+
constructor(value: PublicKeyInitData);
|
|
14
|
+
/**
|
|
15
|
+
* Checks if two Secp256r1 public keys are equal
|
|
16
|
+
*/
|
|
17
|
+
equals(publicKey: Secp256r1PublicKey): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Return the byte array representation of the Secp256r1 public key
|
|
20
|
+
*/
|
|
21
|
+
toRawBytes(): Uint8Array<ArrayBuffer>;
|
|
22
|
+
/**
|
|
23
|
+
* Return the Haneul address associated with this Secp256r1 public key
|
|
24
|
+
*/
|
|
25
|
+
flag(): number;
|
|
26
|
+
/**
|
|
27
|
+
* Verifies that the signature is valid for for the provided message
|
|
28
|
+
*/
|
|
29
|
+
verify(message: Uint8Array, signature: Uint8Array | string): Promise<boolean>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { fromBase64 } from "@haneullabs/bcs";
|
|
2
|
+
import { secp256r1 } from "@noble/curves/p256";
|
|
3
|
+
import { sha256 } from "@noble/hashes/sha256";
|
|
4
|
+
import { bytesEqual, PublicKey } from "../../cryptography/publickey.js";
|
|
5
|
+
import { SIGNATURE_SCHEME_TO_FLAG } from "../../cryptography/signature-scheme.js";
|
|
6
|
+
import { parseSerializedSignature } from "../../cryptography/signature.js";
|
|
7
|
+
const SECP256R1_PUBLIC_KEY_SIZE = 33;
|
|
8
|
+
class Secp256r1PublicKey extends PublicKey {
|
|
9
|
+
/**
|
|
10
|
+
* Create a new Secp256r1PublicKey object
|
|
11
|
+
* @param value secp256r1 public key as buffer or base-64 encoded string
|
|
12
|
+
*/
|
|
13
|
+
constructor(value) {
|
|
14
|
+
super();
|
|
15
|
+
if (typeof value === "string") {
|
|
16
|
+
this.data = fromBase64(value);
|
|
17
|
+
} else if (value instanceof Uint8Array) {
|
|
18
|
+
this.data = value;
|
|
19
|
+
} else {
|
|
20
|
+
this.data = Uint8Array.from(value);
|
|
21
|
+
}
|
|
22
|
+
if (this.data.length !== SECP256R1_PUBLIC_KEY_SIZE) {
|
|
23
|
+
throw new Error(
|
|
24
|
+
`Invalid public key input. Expected ${SECP256R1_PUBLIC_KEY_SIZE} bytes, got ${this.data.length}`
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Checks if two Secp256r1 public keys are equal
|
|
30
|
+
*/
|
|
31
|
+
equals(publicKey) {
|
|
32
|
+
return super.equals(publicKey);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Return the byte array representation of the Secp256r1 public key
|
|
36
|
+
*/
|
|
37
|
+
toRawBytes() {
|
|
38
|
+
return this.data;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Return the Haneul address associated with this Secp256r1 public key
|
|
42
|
+
*/
|
|
43
|
+
flag() {
|
|
44
|
+
return SIGNATURE_SCHEME_TO_FLAG["Secp256r1"];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Verifies that the signature is valid for for the provided message
|
|
48
|
+
*/
|
|
49
|
+
async verify(message, signature) {
|
|
50
|
+
let bytes;
|
|
51
|
+
if (typeof signature === "string") {
|
|
52
|
+
const parsed = parseSerializedSignature(signature);
|
|
53
|
+
if (parsed.signatureScheme !== "Secp256r1") {
|
|
54
|
+
throw new Error("Invalid signature scheme");
|
|
55
|
+
}
|
|
56
|
+
if (!bytesEqual(this.toRawBytes(), parsed.publicKey)) {
|
|
57
|
+
throw new Error("Signature does not match public key");
|
|
58
|
+
}
|
|
59
|
+
bytes = parsed.signature;
|
|
60
|
+
} else {
|
|
61
|
+
bytes = signature;
|
|
62
|
+
}
|
|
63
|
+
return secp256r1.verify(
|
|
64
|
+
secp256r1.Signature.fromCompact(bytes),
|
|
65
|
+
sha256(message),
|
|
66
|
+
this.toRawBytes()
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
Secp256r1PublicKey.SIZE = SECP256R1_PUBLIC_KEY_SIZE;
|
|
71
|
+
export {
|
|
72
|
+
Secp256r1PublicKey
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=publickey.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/keypairs/secp256r1/publickey.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@haneullabs/bcs';\nimport { secp256r1 } from '@noble/curves/p256';\nimport { sha256 } from '@noble/hashes/sha256';\n\nimport { bytesEqual, PublicKey } from '../../cryptography/publickey.js';\nimport type { PublicKeyInitData } from '../../cryptography/publickey.js';\nimport { SIGNATURE_SCHEME_TO_FLAG } from '../../cryptography/signature-scheme.js';\nimport { parseSerializedSignature } from '../../cryptography/signature.js';\n\nconst SECP256R1_PUBLIC_KEY_SIZE = 33;\n\n/**\n * A Secp256r1 public key\n */\nexport class Secp256r1PublicKey extends PublicKey {\n\tstatic SIZE = SECP256R1_PUBLIC_KEY_SIZE;\n\tprivate data: Uint8Array<ArrayBuffer>;\n\n\t/**\n\t * Create a new Secp256r1PublicKey object\n\t * @param value secp256r1 public key as buffer or base-64 encoded string\n\t */\n\tconstructor(value: PublicKeyInitData) {\n\t\tsuper();\n\n\t\tif (typeof value === 'string') {\n\t\t\tthis.data = fromBase64(value);\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\tthis.data = value as Uint8Array<ArrayBuffer>;\n\t\t} else {\n\t\t\tthis.data = Uint8Array.from(value);\n\t\t}\n\n\t\tif (this.data.length !== SECP256R1_PUBLIC_KEY_SIZE) {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid public key input. Expected ${SECP256R1_PUBLIC_KEY_SIZE} bytes, got ${this.data.length}`,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Checks if two Secp256r1 public keys are equal\n\t */\n\toverride equals(publicKey: Secp256r1PublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the Secp256r1 public key\n\t */\n\ttoRawBytes(): Uint8Array<ArrayBuffer> {\n\t\treturn this.data;\n\t}\n\n\t/**\n\t * Return the Haneul address associated with this Secp256r1 public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['Secp256r1'];\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, signature: Uint8Array | string): Promise<boolean> {\n\t\tlet bytes;\n\t\tif (typeof signature === 'string') {\n\t\t\tconst parsed = parseSerializedSignature(signature);\n\t\t\tif (parsed.signatureScheme !== 'Secp256r1') {\n\t\t\t\tthrow new Error('Invalid signature scheme');\n\t\t\t}\n\n\t\t\tif (!bytesEqual(this.toRawBytes(), parsed.publicKey)) {\n\t\t\t\tthrow new Error('Signature does not match public key');\n\t\t\t}\n\n\t\t\tbytes = parsed.signature;\n\t\t} else {\n\t\t\tbytes = signature;\n\t\t}\n\n\t\treturn secp256r1.verify(\n\t\t\tsecp256r1.Signature.fromCompact(bytes),\n\t\t\tsha256(message),\n\t\t\tthis.toRawBytes(),\n\t\t);\n\t}\n}\n"],
|
|
5
|
+
"mappings": "AAGA,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AAEvB,SAAS,YAAY,iBAAiB;AAEtC,SAAS,gCAAgC;AACzC,SAAS,gCAAgC;AAEzC,MAAM,4BAA4B;AAK3B,MAAM,2BAA2B,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjD,YAAY,OAA0B;AACrC,UAAM;AAEN,QAAI,OAAO,UAAU,UAAU;AAC9B,WAAK,OAAO,WAAW,KAAK;AAAA,IAC7B,WAAW,iBAAiB,YAAY;AACvC,WAAK,OAAO;AAAA,IACb,OAAO;AACN,WAAK,OAAO,WAAW,KAAK,KAAK;AAAA,IAClC;AAEA,QAAI,KAAK,KAAK,WAAW,2BAA2B;AACnD,YAAM,IAAI;AAAA,QACT,sCAAsC,yBAAyB,eAAe,KAAK,KAAK,MAAM;AAAA,MAC/F;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKS,OAAO,WAAwC;AACvD,WAAO,MAAM,OAAO,SAAS;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,aAAsC;AACrC,WAAO,KAAK;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe;AACd,WAAO,yBAAyB,WAAW;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,SAAqB,WAAkD;AACnF,QAAI;AACJ,QAAI,OAAO,cAAc,UAAU;AAClC,YAAM,SAAS,yBAAyB,SAAS;AACjD,UAAI,OAAO,oBAAoB,aAAa;AAC3C,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC3C;AAEA,UAAI,CAAC,WAAW,KAAK,WAAW,GAAG,OAAO,SAAS,GAAG;AACrD,cAAM,IAAI,MAAM,qCAAqC;AAAA,MACtD;AAEA,cAAQ,OAAO;AAAA,IAChB,OAAO;AACN,cAAQ;AAAA,IACT;AAEA,WAAO,UAAU;AAAA,MAChB,UAAU,UAAU,YAAY,KAAK;AAAA,MACrC,OAAO,OAAO;AAAA,MACd,KAAK,WAAW;AAAA,IACjB;AAAA,EACD;AACD;AAzEa,mBACL,OAAO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|