@safe-global/protocol-kit 5.2.1 → 6.0.0-alpha.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/dist/cjs/src/index.cjs +7534 -0
- package/dist/cjs/test-utils/index.cjs +4118 -0
- package/dist/esm/src/index.mjs +7639 -0
- package/dist/esm/test-utils/index.mjs +4217 -0
- package/dist/src/Safe.d.ts +3 -2
- package/dist/src/Safe.d.ts.map +1 -0
- package/dist/src/SafeProvider.d.ts +1 -0
- package/dist/src/SafeProvider.d.ts.map +1 -0
- package/dist/src/contracts/BaseContract.d.ts +1 -0
- package/dist/src/contracts/BaseContract.d.ts.map +1 -0
- package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts +1 -0
- package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.d.ts +1 -0
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.d.ts.map +1 -0
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.d.ts +1 -0
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.d.ts.map +1 -0
- package/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts +1 -0
- package/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.d.ts +1 -0
- package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.d.ts.map +1 -0
- package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.d.ts +1 -0
- package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.d.ts.map +1 -0
- package/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts +1 -0
- package/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.d.ts +1 -0
- package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.d.ts +1 -0
- package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.d.ts.map +1 -0
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.d.ts +1 -0
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.d.ts.map +1 -0
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.d.ts +1 -0
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.d.ts.map +1 -0
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.d.ts +1 -0
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.d.ts.map +1 -0
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.d.ts +1 -0
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.d.ts.map +1 -0
- package/dist/src/contracts/Safe/SafeBaseContract.d.ts +1 -0
- package/dist/src/contracts/Safe/SafeBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.d.ts +1 -0
- package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.d.ts.map +1 -0
- package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.d.ts +1 -0
- package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.d.ts.map +1 -0
- package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.d.ts +1 -0
- package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.d.ts.map +1 -0
- package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.d.ts +1 -0
- package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.d.ts.map +1 -0
- package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.d.ts +1 -0
- package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.d.ts.map +1 -0
- package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.d.ts +1 -0
- package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.d.ts +1 -0
- package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.d.ts.map +1 -0
- package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.d.ts +1 -0
- package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.d.ts.map +1 -0
- package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.d.ts +1 -0
- package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.d.ts.map +1 -0
- package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.d.ts +1 -0
- package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.d.ts.map +1 -0
- package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.d.ts +1 -0
- package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.d.ts +1 -0
- package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.d.ts.map +1 -0
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.d.ts +1 -0
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.d.ts +1 -0
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.d.ts.map +1 -0
- package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts +1 -0
- package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.d.ts +1 -0
- package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.d.ts.map +1 -0
- package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.d.ts +1 -0
- package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.d.ts.map +1 -0
- package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts +1 -0
- package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts.map +1 -0
- package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.d.ts +1 -0
- package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.d.ts.map +1 -0
- package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.d.ts +1 -0
- package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.d.ts.map +1 -0
- package/dist/src/contracts/config.d.ts +1 -0
- package/dist/src/contracts/config.d.ts.map +1 -0
- package/dist/src/contracts/constants.d.ts +1 -0
- package/dist/src/contracts/constants.d.ts.map +1 -0
- package/dist/src/contracts/contractInstances.d.ts +1 -0
- package/dist/src/contracts/contractInstances.d.ts.map +1 -0
- package/dist/src/contracts/index.d.ts +1 -0
- package/dist/src/contracts/index.d.ts.map +1 -0
- package/dist/src/contracts/safeDeploymentContracts.d.ts +1 -0
- package/dist/src/contracts/safeDeploymentContracts.d.ts.map +1 -0
- package/dist/src/contracts/utils.d.ts +1 -0
- package/dist/src/contracts/utils.d.ts.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/managers/contractManager.d.ts +1 -0
- package/dist/src/managers/contractManager.d.ts.map +1 -0
- package/dist/src/managers/fallbackHandlerManager.d.ts +1 -0
- package/dist/src/managers/fallbackHandlerManager.d.ts.map +1 -0
- package/dist/src/managers/guardManager.d.ts +1 -0
- package/dist/src/managers/guardManager.d.ts.map +1 -0
- package/dist/src/managers/moduleManager.d.ts +1 -0
- package/dist/src/managers/moduleManager.d.ts.map +1 -0
- package/dist/src/managers/ownerManager.d.ts +1 -0
- package/dist/src/managers/ownerManager.d.ts.map +1 -0
- package/dist/src/types/contracts.d.ts +1 -0
- package/dist/src/types/contracts.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/passkeys.d.ts +1 -0
- package/dist/src/types/passkeys.d.ts.map +1 -0
- package/dist/src/types/safeConfig.d.ts +1 -0
- package/dist/src/types/safeConfig.d.ts.map +1 -0
- package/dist/src/types/safeProvider.d.ts +1 -0
- package/dist/src/types/safeProvider.d.ts.map +1 -0
- package/dist/src/types/transactions.d.ts +1 -0
- package/dist/src/types/transactions.d.ts.map +1 -0
- package/dist/src/utils/address.d.ts +1 -0
- package/dist/src/utils/address.d.ts.map +1 -0
- package/dist/src/utils/block.d.ts +1 -0
- package/dist/src/utils/block.d.ts.map +1 -0
- package/dist/src/utils/constants.d.ts +1 -0
- package/dist/src/utils/constants.d.ts.map +1 -0
- package/dist/src/utils/eip-3770/config.d.ts +1 -0
- package/dist/src/utils/eip-3770/config.d.ts.map +1 -0
- package/dist/src/utils/eip-3770/index.d.ts +1 -0
- package/dist/src/utils/eip-3770/index.d.ts.map +1 -0
- package/dist/src/utils/eip-712/encode.d.ts +1 -0
- package/dist/src/utils/eip-712/encode.d.ts.map +1 -0
- package/dist/src/utils/eip-712/index.d.ts +1 -0
- package/dist/src/utils/eip-712/index.d.ts.map +1 -0
- package/dist/src/utils/erc-20/index.d.ts +1 -0
- package/dist/src/utils/erc-20/index.d.ts.map +1 -0
- package/dist/src/utils/getProtocolKitVersion.d.ts +1 -0
- package/dist/src/utils/getProtocolKitVersion.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/memoized.d.ts +1 -0
- package/dist/src/utils/memoized.d.ts.map +1 -0
- package/dist/src/utils/messages/SafeMessage.d.ts +1 -0
- package/dist/src/utils/messages/SafeMessage.d.ts.map +1 -0
- package/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.d.ts +1 -0
- package/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.d.ts.map +1 -0
- package/dist/src/utils/passkeys/PasskeyClient.d.ts +1 -0
- package/dist/src/utils/passkeys/PasskeyClient.d.ts.map +1 -0
- package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.d.ts +1 -0
- package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.d.ts.map +1 -0
- package/dist/src/utils/passkeys/extractPasskeyData.d.ts +1 -0
- package/dist/src/utils/passkeys/extractPasskeyData.d.ts.map +1 -0
- package/dist/src/utils/passkeys/getPasskeyOwnerAddress.d.ts +1 -0
- package/dist/src/utils/passkeys/getPasskeyOwnerAddress.d.ts.map +1 -0
- package/dist/src/utils/passkeys/index.d.ts +1 -0
- package/dist/src/utils/passkeys/index.d.ts.map +1 -0
- package/dist/src/utils/passkeys/isSharedSigner.d.ts +1 -0
- package/dist/src/utils/passkeys/isSharedSigner.d.ts.map +1 -0
- package/dist/src/utils/provider.d.ts +1 -0
- package/dist/src/utils/provider.d.ts.map +1 -0
- package/dist/src/utils/safeVersions.d.ts +1 -0
- package/dist/src/utils/safeVersions.d.ts.map +1 -0
- package/dist/src/utils/signatures/SafeSignature.d.ts +1 -0
- package/dist/src/utils/signatures/SafeSignature.d.ts.map +1 -0
- package/dist/src/utils/signatures/index.d.ts +1 -0
- package/dist/src/utils/signatures/index.d.ts.map +1 -0
- package/dist/src/utils/signatures/utils.d.ts +2 -2
- package/dist/src/utils/signatures/utils.d.ts.map +1 -0
- package/dist/src/utils/transactions/SafeTransaction.d.ts +1 -0
- package/dist/src/utils/transactions/SafeTransaction.d.ts.map +1 -0
- package/dist/src/utils/transactions/gas.d.ts +1 -0
- package/dist/src/utils/transactions/gas.d.ts.map +1 -0
- package/dist/src/utils/transactions/index.d.ts +1 -0
- package/dist/src/utils/transactions/index.d.ts.map +1 -0
- package/dist/src/utils/transactions/types.d.ts +1 -0
- package/dist/src/utils/transactions/types.d.ts.map +1 -0
- package/dist/src/utils/transactions/utils.d.ts +1 -0
- package/dist/src/utils/transactions/utils.d.ts.map +1 -0
- package/dist/src/utils/types.d.ts +1 -0
- package/dist/src/utils/types.d.ts.map +1 -0
- package/dist/test-utils/index.d.ts +3 -0
- package/dist/test-utils/index.d.ts.map +1 -0
- package/dist/test-utils/passkeys.d.ts +25 -0
- package/dist/test-utils/passkeys.d.ts.map +1 -0
- package/dist/test-utils/webauthnShim.d.ts +150 -0
- package/dist/test-utils/webauthnShim.d.ts.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +22 -6
- package/dist/src/Safe.js +0 -1409
- package/dist/src/Safe.js.map +0 -1
- package/dist/src/SafeProvider.js +0 -265
- package/dist/src/SafeProvider.js.map +0 -1
- package/dist/src/contracts/BaseContract.js +0 -163
- package/dist/src/contracts/BaseContract.js.map +0 -1
- package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.js +0 -40
- package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.js.map +0 -1
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.js +0 -33
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.js.map +0 -1
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.js +0 -33
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.js.map +0 -1
- package/dist/src/contracts/CreateCall/CreateCallBaseContract.js +0 -40
- package/dist/src/contracts/CreateCall/CreateCallBaseContract.js.map +0 -1
- package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.js +0 -56
- package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.js.map +0 -1
- package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.js +0 -56
- package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.js.map +0 -1
- package/dist/src/contracts/MultiSend/MultiSendBaseContract.js +0 -40
- package/dist/src/contracts/MultiSend/MultiSendBaseContract.js.map +0 -1
- package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.js +0 -40
- package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.js.map +0 -1
- package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.js +0 -33
- package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.js.map +0 -1
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.js +0 -33
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.js.map +0 -1
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.js +0 -33
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.js.map +0 -1
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.js +0 -33
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.js.map +0 -1
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.js +0 -33
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.js.map +0 -1
- package/dist/src/contracts/Safe/SafeBaseContract.js +0 -47
- package/dist/src/contracts/Safe/SafeBaseContract.js.map +0 -1
- package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.js +0 -276
- package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.js.map +0 -1
- package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.js +0 -248
- package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.js.map +0 -1
- package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.js +0 -253
- package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.js.map +0 -1
- package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.js +0 -267
- package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.js.map +0 -1
- package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.js +0 -267
- package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.js.map +0 -1
- package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.js +0 -43
- package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.js.map +0 -1
- package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.js +0 -63
- package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.js.map +0 -1
- package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.js +0 -79
- package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.js.map +0 -1
- package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.js +0 -79
- package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.js.map +0 -1
- package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.js +0 -72
- package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.js.map +0 -1
- package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.js +0 -39
- package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.js.map +0 -1
- package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.js +0 -59
- package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.js.map +0 -1
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js +0 -39
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js.map +0 -1
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.js +0 -52
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.js.map +0 -1
- package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.js +0 -40
- package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.js.map +0 -1
- package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.js +0 -49
- package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.js.map +0 -1
- package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.js +0 -49
- package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.js.map +0 -1
- package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.js +0 -40
- package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.js.map +0 -1
- package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.js +0 -42
- package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.js.map +0 -1
- package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.js +0 -42
- package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.js.map +0 -1
- package/dist/src/contracts/config.js +0 -130
- package/dist/src/contracts/config.js.map +0 -1
- package/dist/src/contracts/constants.js +0 -8
- package/dist/src/contracts/constants.js.map +0 -1
- package/dist/src/contracts/contractInstances.js +0 -222
- package/dist/src/contracts/contractInstances.js.map +0 -1
- package/dist/src/contracts/index.js +0 -19
- package/dist/src/contracts/index.js.map +0 -1
- package/dist/src/contracts/safeDeploymentContracts.js +0 -95
- package/dist/src/contracts/safeDeploymentContracts.js.map +0 -1
- package/dist/src/contracts/utils.js +0 -324
- package/dist/src/contracts/utils.js.map +0 -1
- package/dist/src/index.js +0 -93
- package/dist/src/index.js.map +0 -1
- package/dist/src/managers/contractManager.js +0 -90
- package/dist/src/managers/contractManager.js.map +0 -1
- package/dist/src/managers/fallbackHandlerManager.js +0 -73
- package/dist/src/managers/fallbackHandlerManager.js.map +0 -1
- package/dist/src/managers/guardManager.js +0 -73
- package/dist/src/managers/guardManager.js.map +0 -1
- package/dist/src/managers/moduleManager.js +0 -88
- package/dist/src/managers/moduleManager.js.map +0 -1
- package/dist/src/managers/ownerManager.js +0 -124
- package/dist/src/managers/ownerManager.js.map +0 -1
- package/dist/src/types/contracts.js +0 -3
- package/dist/src/types/contracts.js.map +0 -1
- package/dist/src/types/index.js +0 -23
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/types/passkeys.js +0 -3
- package/dist/src/types/passkeys.js.map +0 -1
- package/dist/src/types/safeConfig.js +0 -3
- package/dist/src/types/safeConfig.js.map +0 -1
- package/dist/src/types/safeProvider.js +0 -3
- package/dist/src/types/safeProvider.js.map +0 -1
- package/dist/src/types/signing.d.ts +0 -8
- package/dist/src/types/signing.js +0 -12
- package/dist/src/types/signing.js.map +0 -1
- package/dist/src/types/transactions.js +0 -3
- package/dist/src/types/transactions.js.map +0 -1
- package/dist/src/utils/address.js +0 -21
- package/dist/src/utils/address.js.map +0 -1
- package/dist/src/utils/block.js +0 -14
- package/dist/src/utils/block.js.map +0 -1
- package/dist/src/utils/constants.js +0 -8
- package/dist/src/utils/constants.js.map +0 -1
- package/dist/src/utils/eip-3770/config.js +0 -371
- package/dist/src/utils/eip-3770/config.js.map +0 -1
- package/dist/src/utils/eip-3770/index.js +0 -47
- package/dist/src/utils/eip-3770/index.js.map +0 -1
- package/dist/src/utils/eip-712/encode.js +0 -127
- package/dist/src/utils/eip-712/encode.js.map +0 -1
- package/dist/src/utils/eip-712/index.js +0 -105
- package/dist/src/utils/eip-712/index.js.map +0 -1
- package/dist/src/utils/erc-20/index.js +0 -84
- package/dist/src/utils/erc-20/index.js.map +0 -1
- package/dist/src/utils/getProtocolKitVersion.js +0 -6
- package/dist/src/utils/getProtocolKitVersion.js.map +0 -1
- package/dist/src/utils/index.js +0 -24
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/memoized.js +0 -41
- package/dist/src/utils/memoized.js.map +0 -1
- package/dist/src/utils/messages/SafeMessage.js +0 -20
- package/dist/src/utils/messages/SafeMessage.js.map +0 -1
- package/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.js +0 -46
- package/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.js.map +0 -1
- package/dist/src/utils/passkeys/PasskeyClient.js +0 -171
- package/dist/src/utils/passkeys/PasskeyClient.js.map +0 -1
- package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.js +0 -35
- package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.js.map +0 -1
- package/dist/src/utils/passkeys/extractPasskeyData.js +0 -232
- package/dist/src/utils/passkeys/extractPasskeyData.js.map +0 -1
- package/dist/src/utils/passkeys/getPasskeyOwnerAddress.js +0 -31
- package/dist/src/utils/passkeys/getPasskeyOwnerAddress.js.map +0 -1
- package/dist/src/utils/passkeys/index.js +0 -20
- package/dist/src/utils/passkeys/index.js.map +0 -1
- package/dist/src/utils/passkeys/isSharedSigner.js +0 -26
- package/dist/src/utils/passkeys/isSharedSigner.js.map +0 -1
- package/dist/src/utils/provider.js +0 -12
- package/dist/src/utils/provider.js.map +0 -1
- package/dist/src/utils/safeVersions.js +0 -54
- package/dist/src/utils/safeVersions.js.map +0 -1
- package/dist/src/utils/signatures/SafeSignature.js +0 -42
- package/dist/src/utils/signatures/SafeSignature.js.map +0 -1
- package/dist/src/utils/signatures/index.js +0 -19
- package/dist/src/utils/signatures/index.js.map +0 -1
- package/dist/src/utils/signatures/utils.js +0 -174
- package/dist/src/utils/signatures/utils.js.map +0 -1
- package/dist/src/utils/transactions/SafeTransaction.js +0 -20
- package/dist/src/utils/transactions/SafeTransaction.js.map +0 -1
- package/dist/src/utils/transactions/gas.js +0 -398
- package/dist/src/utils/transactions/gas.js.map +0 -1
- package/dist/src/utils/transactions/index.js +0 -21
- package/dist/src/utils/transactions/index.js.map +0 -1
- package/dist/src/utils/transactions/types.js +0 -3
- package/dist/src/utils/transactions/types.js.map +0 -1
- package/dist/src/utils/transactions/utils.js +0 -217
- package/dist/src/utils/transactions/utils.js.map +0 -1
- package/dist/src/utils/types.js +0 -66
- package/dist/src/utils/types.js.map +0 -1
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.generateTypedData = exports.hashSafeMessage = exports.hashTypedData = exports.getEip712MessageTypes = exports.getEip712TxTypes = exports.EIP712_DOMAIN = exports.EIP712_DOMAIN_BEFORE_V130 = void 0;
|
|
7
|
-
const viem_1 = require("viem");
|
|
8
|
-
const satisfies_1 = __importDefault(require("semver/functions/satisfies"));
|
|
9
|
-
const encode_1 = require("./encode");
|
|
10
|
-
const EQ_OR_GT_1_3_0 = '>=1.3.0';
|
|
11
|
-
exports.EIP712_DOMAIN_BEFORE_V130 = [
|
|
12
|
-
{
|
|
13
|
-
type: 'address',
|
|
14
|
-
name: 'verifyingContract'
|
|
15
|
-
}
|
|
16
|
-
];
|
|
17
|
-
exports.EIP712_DOMAIN = [
|
|
18
|
-
{
|
|
19
|
-
type: 'uint256',
|
|
20
|
-
name: 'chainId'
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
type: 'address',
|
|
24
|
-
name: 'verifyingContract'
|
|
25
|
-
}
|
|
26
|
-
];
|
|
27
|
-
// This function returns the types structure for signing off-chain messages according to EIP-712
|
|
28
|
-
function getEip712TxTypes(safeVersion) {
|
|
29
|
-
const eip712WithChainId = (0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_3_0);
|
|
30
|
-
return {
|
|
31
|
-
EIP712Domain: eip712WithChainId ? exports.EIP712_DOMAIN : exports.EIP712_DOMAIN_BEFORE_V130,
|
|
32
|
-
SafeTx: [
|
|
33
|
-
{ type: 'address', name: 'to' },
|
|
34
|
-
{ type: 'uint256', name: 'value' },
|
|
35
|
-
{ type: 'bytes', name: 'data' },
|
|
36
|
-
{ type: 'uint8', name: 'operation' },
|
|
37
|
-
{ type: 'uint256', name: 'safeTxGas' },
|
|
38
|
-
{ type: 'uint256', name: 'baseGas' },
|
|
39
|
-
{ type: 'uint256', name: 'gasPrice' },
|
|
40
|
-
{ type: 'address', name: 'gasToken' },
|
|
41
|
-
{ type: 'address', name: 'refundReceiver' },
|
|
42
|
-
{ type: 'uint256', name: 'nonce' }
|
|
43
|
-
]
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
exports.getEip712TxTypes = getEip712TxTypes;
|
|
47
|
-
function getEip712MessageTypes(safeVersion) {
|
|
48
|
-
const eip712WithChainId = (0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_3_0);
|
|
49
|
-
return {
|
|
50
|
-
EIP712Domain: eip712WithChainId ? exports.EIP712_DOMAIN : exports.EIP712_DOMAIN_BEFORE_V130,
|
|
51
|
-
SafeMessage: [{ type: 'bytes', name: 'message' }]
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
exports.getEip712MessageTypes = getEip712MessageTypes;
|
|
55
|
-
const hashTypedData = (typedData) => {
|
|
56
|
-
return (0, encode_1.hashTypedData)(typedData);
|
|
57
|
-
};
|
|
58
|
-
exports.hashTypedData = hashTypedData;
|
|
59
|
-
const hashMessage = (message) => {
|
|
60
|
-
return (0, viem_1.hashMessage)(message);
|
|
61
|
-
};
|
|
62
|
-
const hashSafeMessage = (message) => {
|
|
63
|
-
return typeof message === 'string' ? hashMessage(message) : (0, exports.hashTypedData)(message);
|
|
64
|
-
};
|
|
65
|
-
exports.hashSafeMessage = hashSafeMessage;
|
|
66
|
-
function generateTypedData({ safeAddress, safeVersion, chainId, data }) {
|
|
67
|
-
const isSafeTransactionDataType = data.hasOwnProperty('to');
|
|
68
|
-
const eip712WithChainId = (0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_3_0);
|
|
69
|
-
let typedData;
|
|
70
|
-
if (isSafeTransactionDataType) {
|
|
71
|
-
const txData = data;
|
|
72
|
-
typedData = {
|
|
73
|
-
types: getEip712TxTypes(safeVersion),
|
|
74
|
-
domain: {
|
|
75
|
-
verifyingContract: safeAddress
|
|
76
|
-
},
|
|
77
|
-
primaryType: 'SafeTx',
|
|
78
|
-
message: {
|
|
79
|
-
...txData,
|
|
80
|
-
value: txData.value,
|
|
81
|
-
safeTxGas: txData.safeTxGas,
|
|
82
|
-
baseGas: txData.baseGas,
|
|
83
|
-
gasPrice: txData.gasPrice,
|
|
84
|
-
nonce: txData.nonce
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
const message = data;
|
|
90
|
-
typedData = {
|
|
91
|
-
types: getEip712MessageTypes(safeVersion),
|
|
92
|
-
domain: {
|
|
93
|
-
verifyingContract: safeAddress
|
|
94
|
-
},
|
|
95
|
-
primaryType: 'SafeMessage',
|
|
96
|
-
message: { message: (0, exports.hashSafeMessage)(message) }
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
if (eip712WithChainId) {
|
|
100
|
-
typedData.domain.chainId = Number(chainId);
|
|
101
|
-
}
|
|
102
|
-
return typedData;
|
|
103
|
-
}
|
|
104
|
-
exports.generateTypedData = generateTypedData;
|
|
105
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/eip-712/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createERC20TokenTransferTransaction = exports.isGasTokenCompatibleWithHandlePayment = exports.getERC20Decimals = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
6
|
-
const ERC20_ABI = [
|
|
7
|
-
'function transfer(address recipient, uint256 amount) returns (bool)',
|
|
8
|
-
'function decimals() view returns (uint8)'
|
|
9
|
-
];
|
|
10
|
-
/**
|
|
11
|
-
* Returns the number of decimals of a given ERC-20 token.
|
|
12
|
-
*
|
|
13
|
-
* @async
|
|
14
|
-
* @param {string} tokenAddress - The address of the ERC-20 token.
|
|
15
|
-
* @param {Safe} safe - The Safe object.
|
|
16
|
-
* @returns {Promise<number>} The number of decimals that the token uses.
|
|
17
|
-
* @throws "Invalid ERC-20 decimals"
|
|
18
|
-
*/
|
|
19
|
-
async function getERC20Decimals(tokenAddress, safe) {
|
|
20
|
-
const safeProvider = safe.getSafeProvider();
|
|
21
|
-
const data = (0, viem_1.encodeFunctionData)({
|
|
22
|
-
abi: (0, viem_1.parseAbi)(ERC20_ABI),
|
|
23
|
-
functionName: 'decimals'
|
|
24
|
-
});
|
|
25
|
-
const getTokenDecimalsTransaction = {
|
|
26
|
-
to: tokenAddress,
|
|
27
|
-
from: tokenAddress,
|
|
28
|
-
value: '0',
|
|
29
|
-
data
|
|
30
|
-
};
|
|
31
|
-
const response = await safeProvider.call(getTokenDecimalsTransaction);
|
|
32
|
-
const decimals = Number(response);
|
|
33
|
-
if (Number.isNaN(decimals)) {
|
|
34
|
-
throw new Error('Invalid ERC-20 decimals');
|
|
35
|
-
}
|
|
36
|
-
return decimals;
|
|
37
|
-
}
|
|
38
|
-
exports.getERC20Decimals = getERC20Decimals;
|
|
39
|
-
const STANDARD_ERC20_DECIMALS = 18;
|
|
40
|
-
/**
|
|
41
|
-
* Checks if the given gas token is compatible with the handlePayment function present in the Safe smart contract.
|
|
42
|
-
* A token is considered compatible if it is a native token or a standard ERC-20 token with 18 decimals.
|
|
43
|
-
*
|
|
44
|
-
* @async
|
|
45
|
-
* @export
|
|
46
|
-
* @param {string} gasToken - The address of the gas token.
|
|
47
|
-
* @param {Safe} safe - The Safe object.
|
|
48
|
-
* @returns {Promise<boolean>} Returns true if the gas token is compatible, otherwise false.
|
|
49
|
-
*/
|
|
50
|
-
async function isGasTokenCompatibleWithHandlePayment(gasToken, safe) {
|
|
51
|
-
const isNativeToken = gasToken === constants_1.ZERO_ADDRESS;
|
|
52
|
-
if (isNativeToken) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
// Only ERC20 tokens with the standard 18 decimals are compatible
|
|
56
|
-
const gasTokenDecimals = await getERC20Decimals(gasToken, safe);
|
|
57
|
-
const hasTokenStandardERC20Decimals = gasTokenDecimals === STANDARD_ERC20_DECIMALS;
|
|
58
|
-
return hasTokenStandardERC20Decimals;
|
|
59
|
-
}
|
|
60
|
-
exports.isGasTokenCompatibleWithHandlePayment = isGasTokenCompatibleWithHandlePayment;
|
|
61
|
-
/**
|
|
62
|
-
* Creates a transaction object to perform a transfer of a specified amount of ERC-20 tokens to a given address.
|
|
63
|
-
*
|
|
64
|
-
* @export
|
|
65
|
-
* @param {string} tokenAddress - The address of the ERC-20 token.
|
|
66
|
-
* @param {string} toAddress - The address to which the tokens should be transferred.
|
|
67
|
-
* @param {string} amount - The amount of tokens to transfer.
|
|
68
|
-
* @returns {Transaction} Returns a transaction object that represents the transfer.
|
|
69
|
-
*/
|
|
70
|
-
function createERC20TokenTransferTransaction(tokenAddress, toAddress, amount) {
|
|
71
|
-
const data = (0, viem_1.encodeFunctionData)({
|
|
72
|
-
abi: (0, viem_1.parseAbi)(ERC20_ABI),
|
|
73
|
-
functionName: 'transfer',
|
|
74
|
-
args: [toAddress, amount]
|
|
75
|
-
});
|
|
76
|
-
const transferTransaction = {
|
|
77
|
-
to: tokenAddress,
|
|
78
|
-
value: '0',
|
|
79
|
-
data
|
|
80
|
-
};
|
|
81
|
-
return transferTransaction;
|
|
82
|
-
}
|
|
83
|
-
exports.createERC20TokenTransferTransaction = createERC20TokenTransferTransaction;
|
|
84
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/erc-20/index.ts"],"names":[],"mappings":";;;AAEA,+BAAmD;AACnD,4CAA2C;AAE3C,MAAM,SAAS,GAAG;IAChB,qEAAqE;IACrE,0CAA0C;CAC3C,CAAA;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,gBAAgB,CAAC,YAAoB,EAAE,IAAU;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;IAC3C,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC;QAC9B,GAAG,EAAE,IAAA,eAAQ,EAAC,SAAS,CAAC;QACxB,YAAY,EAAE,UAAU;KACzB,CAAC,CAAA;IAEF,MAAM,2BAA2B,GAAG;QAClC,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,GAAG;QACV,IAAI;KACL,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IAErE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEjC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAvBD,4CAuBC;AAED,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC;;;;;;;;;GASG;AACI,KAAK,UAAU,qCAAqC,CACzD,QAAgB,EAChB,IAAU;IAEV,MAAM,aAAa,GAAG,QAAQ,KAAK,wBAAY,CAAA;IAE/C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC/D,MAAM,6BAA6B,GAAG,gBAAgB,KAAK,uBAAuB,CAAA;IAElF,OAAO,6BAA6B,CAAA;AACtC,CAAC;AAfD,sFAeC;AAED;;;;;;;;GAQG;AACH,SAAgB,mCAAmC,CACjD,YAAoB,EACpB,SAAiB,EACjB,MAAc;IAEd,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC;QAC9B,GAAG,EAAE,IAAA,eAAQ,EAAC,SAAS,CAAC;QACxB,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG;QAC1B,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,GAAG;QACV,IAAI;KACL,CAAA;IAED,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAlBD,kFAkBC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getProtocolKitVersion = void 0;
|
|
4
|
-
const getProtocolKitVersion = () => '5.2.1';
|
|
5
|
-
exports.getProtocolKitVersion = getProtocolKitVersion;
|
|
6
|
-
//# sourceMappingURL=getProtocolKitVersion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getProtocolKitVersion.js","sourceRoot":"","sources":["../../../src/utils/getProtocolKitVersion.ts"],"names":[],"mappings":";;;AAAO,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAA;AAArC,QAAA,qBAAqB,yBAAgB"}
|
package/dist/src/utils/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./address"), exports);
|
|
18
|
-
__exportStar(require("./eip-3770"), exports);
|
|
19
|
-
__exportStar(require("./eip-712"), exports);
|
|
20
|
-
__exportStar(require("./safeVersions"), exports);
|
|
21
|
-
__exportStar(require("./signatures"), exports);
|
|
22
|
-
__exportStar(require("./transactions"), exports);
|
|
23
|
-
__exportStar(require("./passkeys"), exports);
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,6CAA0B;AAC1B,4CAAyB;AACzB,iDAA8B;AAC9B,+CAA4B;AAC5B,iDAA8B;AAC9B,6CAA0B"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createMemoizedFunction = void 0;
|
|
7
|
-
const SafeProvider_1 = __importDefault(require("../SafeProvider"));
|
|
8
|
-
function createMemoizedFunction(callback, cache = {}) {
|
|
9
|
-
const replacer = createSafeContractSerializerReplacer();
|
|
10
|
-
return (...args) => {
|
|
11
|
-
const key = JSON.stringify(args, replacer);
|
|
12
|
-
cache[key] = cache[key] || callback(...args);
|
|
13
|
-
return cache[key];
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
exports.createMemoizedFunction = createMemoizedFunction;
|
|
17
|
-
// EIP1193 providers from web3.currentProvider and hre.network.provider fail to serialize BigInts
|
|
18
|
-
function createSafeContractSerializerReplacer() {
|
|
19
|
-
const seen = new Set();
|
|
20
|
-
return (_, value) => {
|
|
21
|
-
// Serialize Bigints as strings
|
|
22
|
-
if (typeof value === 'bigint') {
|
|
23
|
-
return value.toString();
|
|
24
|
-
}
|
|
25
|
-
// Avoid circular references
|
|
26
|
-
if (value instanceof SafeProvider_1.default && value !== null) {
|
|
27
|
-
if (seen.has(value)) {
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
|
-
seen.add(value);
|
|
31
|
-
return {
|
|
32
|
-
$safeProvider: {
|
|
33
|
-
provider: typeof value.provider === 'object' ? 'EIP1193Provider' : value.provider,
|
|
34
|
-
signer: value.signer
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
return value;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=memoized.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memoized.js","sourceRoot":"","sources":["../../../src/utils/memoized.ts"],"names":[],"mappings":";;;;;;AAAA,mEAA0C;AAE1C,SAAgB,sBAAsB,CACpC,QAAW,EACX,QAAuC,EAAE;IAEzC,MAAM,QAAQ,GAAG,oCAAoC,EAAE,CAAA;IACvD,OAAO,CAAC,GAAG,IAAmB,EAAiB,EAAE;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAE1C,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;QAE5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAA;AACH,CAAC;AAZD,wDAYC;AAED,iGAAiG;AACjG,SAAS,oCAAoC;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA;IAEtB,OAAO,CAAC,CAAS,EAAE,KAAc,EAAE,EAAE;QACnC,+BAA+B;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;QACzB,CAAC;QAED,4BAA4B;QAC5B,IAAI,KAAK,YAAY,sBAAY,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACf,OAAO;gBACL,aAAa,EAAE;oBACb,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;oBACjF,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB;aACF,CAAA;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const signatures_1 = require("../signatures");
|
|
4
|
-
class EthSafeMessage {
|
|
5
|
-
constructor(data) {
|
|
6
|
-
this.signatures = new Map();
|
|
7
|
-
this.data = data;
|
|
8
|
-
}
|
|
9
|
-
getSignature(signer) {
|
|
10
|
-
return this.signatures.get(signer.toLowerCase());
|
|
11
|
-
}
|
|
12
|
-
addSignature(signature) {
|
|
13
|
-
this.signatures.set(signature.signer.toLowerCase(), signature);
|
|
14
|
-
}
|
|
15
|
-
encodedSignatures() {
|
|
16
|
-
return (0, signatures_1.buildSignatureBytes)(Array.from(this.signatures.values()));
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.default = EthSafeMessage;
|
|
20
|
-
//# sourceMappingURL=SafeMessage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SafeMessage.js","sourceRoot":"","sources":["../../../../src/utils/messages/SafeMessage.ts"],"names":[],"mappings":";;AACA,8CAAmD;AAEnD,MAAM,cAAc;IAIlB,YAAY,IAA8B;QAF1C,eAAU,GAA+B,IAAI,GAAG,EAAE,CAAA;QAGhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,YAAY,CAAC,SAAwB;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAA,gCAAmB,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;CACF;AAED,kBAAe,cAAc,CAAA"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateHash = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
/**
|
|
6
|
-
* Generates a hash from the given input string and truncates it to the specified size.
|
|
7
|
-
*
|
|
8
|
-
* @param {string} input - The input string to be hashed.
|
|
9
|
-
* @param {number} size - The number of bytes to take from the end of the hash.
|
|
10
|
-
* @returns {string} A hexadecimal string representation of the truncated hash, without the `0x` prefix.
|
|
11
|
-
*/
|
|
12
|
-
function generateHash(input, size) {
|
|
13
|
-
const fullHash = (0, viem_1.keccak256)((0, viem_1.toHex)(input));
|
|
14
|
-
return (0, viem_1.toHex)(fullHash.slice(-size)).replace('0x', ''); // Take the last X bytes
|
|
15
|
-
}
|
|
16
|
-
exports.generateHash = generateHash;
|
|
17
|
-
/**
|
|
18
|
-
* Generates an on-chain identifier for tracking transactions on the blockchain.
|
|
19
|
-
* This identifier includes hashed metadata such as the project name, platform, tool, and tool version.
|
|
20
|
-
*
|
|
21
|
-
* @param {Object} params - An object containing the metadata for generating the on-chain identifier.
|
|
22
|
-
* @param {string} params.project - The name of the project initiating the transaction.
|
|
23
|
-
* @param {string} [params.platform='Web'] - The platform from which the transaction originates (e.g., "Web", "Mobile", "Safe App", "Widget"...).
|
|
24
|
-
* @param {string} params.tool - The tool used to generate the transaction (e.g., "protocol-kit").
|
|
25
|
-
* @param {string} params.toolVersion - The version of the tool used to generate the transaction.
|
|
26
|
-
* @returns {string} A string representing the on-chain identifier, composed of multiple hashed segments.
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* const identifier = generateOnChainIdentifier({
|
|
30
|
-
* project: 'MyProject',
|
|
31
|
-
* platform: 'Mobile',
|
|
32
|
-
* tool: 'protocol-kit',
|
|
33
|
-
* toolVersion: '4.0.0'
|
|
34
|
-
* })
|
|
35
|
-
*/
|
|
36
|
-
function generateOnChainIdentifier({ project, platform = 'Web', tool, toolVersion }) {
|
|
37
|
-
const identifierPrefix = '5afe';
|
|
38
|
-
const identifierVersion = '00'; // first version
|
|
39
|
-
const projectHash = generateHash(project, 20); // Take the last 20 bytes
|
|
40
|
-
const platformHash = generateHash(platform, 3); // Take the last 3 bytes
|
|
41
|
-
const toolHash = generateHash(tool, 3); // Take the last 3 bytes
|
|
42
|
-
const toolVersionHash = generateHash(toolVersion, 3); // Take the last 3 bytes
|
|
43
|
-
return `${identifierPrefix}${identifierVersion}${projectHash}${platformHash}${toolHash}${toolVersionHash}`;
|
|
44
|
-
}
|
|
45
|
-
exports.default = generateOnChainIdentifier;
|
|
46
|
-
//# sourceMappingURL=generateOnChainIdentifier.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateOnChainIdentifier.js","sourceRoot":"","sources":["../../../../src/utils/on-chain-tracking/generateOnChainIdentifier.ts"],"names":[],"mappings":";;;AAAA,+BAAuC;AAEvC;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,KAAa,EAAE,IAAY;IACtD,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAC,IAAA,YAAK,EAAC,KAAK,CAAC,CAAC,CAAA;IACxC,OAAO,IAAA,YAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA,CAAC,wBAAwB;AAChF,CAAC;AAHD,oCAGC;AASD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,yBAAyB,CAAC,EACjC,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,WAAW,EACiB;IAC5B,MAAM,gBAAgB,GAAG,MAAM,CAAA;IAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAA,CAAC,gBAAgB;IAC/C,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA,CAAC,yBAAyB;IACvE,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA,CAAC,wBAAwB;IACvE,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,wBAAwB;IAC/D,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA,CAAC,wBAAwB;IAE7E,OAAO,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,EAAE,CAAA;AAC5G,CAAC;AAED,kBAAe,yBAAyB,CAAA"}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createPasskeyClient = exports.PASSKEY_CLIENT_NAME = exports.PASSKEY_CLIENT_KEY = void 0;
|
|
7
|
-
const viem_1 = require("viem");
|
|
8
|
-
const extractPasskeyData_1 = require("./extractPasskeyData");
|
|
9
|
-
const types_1 = require("../types");
|
|
10
|
-
const isSharedSigner_1 = __importDefault(require("./isSharedSigner"));
|
|
11
|
-
exports.PASSKEY_CLIENT_KEY = 'passkeyWallet';
|
|
12
|
-
exports.PASSKEY_CLIENT_NAME = 'Passkey Wallet Client';
|
|
13
|
-
const sign = async (passkeyRawId, data, getFn) => {
|
|
14
|
-
// Avoid loosing the context for navigator.credentials.get function that leads to an error
|
|
15
|
-
const getCredentials = getFn || navigator.credentials.get.bind(navigator.credentials);
|
|
16
|
-
const assertion = (await getCredentials({
|
|
17
|
-
publicKey: {
|
|
18
|
-
challenge: data,
|
|
19
|
-
allowCredentials: [{ type: 'public-key', id: passkeyRawId }],
|
|
20
|
-
userVerification: 'required'
|
|
21
|
-
}
|
|
22
|
-
}));
|
|
23
|
-
const assertionResponse = assertion.response;
|
|
24
|
-
if (!assertionResponse?.authenticatorData) {
|
|
25
|
-
throw new Error('Failed to sign data with passkey Signer');
|
|
26
|
-
}
|
|
27
|
-
const { authenticatorData, signature, clientDataJSON } = assertionResponse;
|
|
28
|
-
return (0, viem_1.encodeAbiParameters)((0, viem_1.parseAbiParameters)('bytes, bytes, uint256[2]'), [
|
|
29
|
-
(0, viem_1.toHex)(new Uint8Array(authenticatorData)),
|
|
30
|
-
extractClientDataFields(clientDataJSON),
|
|
31
|
-
extractSignature(signature)
|
|
32
|
-
]);
|
|
33
|
-
};
|
|
34
|
-
const signTransaction = () => {
|
|
35
|
-
throw new Error('Passkey Signers cannot sign transactions, they can only sign data.');
|
|
36
|
-
};
|
|
37
|
-
const signTypedData = () => {
|
|
38
|
-
throw new Error('Passkey Signers cannot sign signTypedData, they can only sign data.');
|
|
39
|
-
};
|
|
40
|
-
const createPasskeyClient = async (passkey, safeWebAuthnSignerFactoryContract, safeWebAuthnSharedSignerContract, provider, safeAddress, owners, chainId) => {
|
|
41
|
-
const { rawId, coordinates, customVerifierAddress } = passkey;
|
|
42
|
-
const passkeyRawId = (0, viem_1.hexToBytes)((0, types_1.asHex)(rawId));
|
|
43
|
-
const verifierAddress = customVerifierAddress || (0, extractPasskeyData_1.getDefaultFCLP256VerifierAddress)(chainId);
|
|
44
|
-
const isPasskeySharedSigner = await (0, isSharedSigner_1.default)(passkey, safeWebAuthnSharedSignerContract, safeAddress, owners, chainId);
|
|
45
|
-
let signerAddress;
|
|
46
|
-
if (isPasskeySharedSigner) {
|
|
47
|
-
signerAddress = safeWebAuthnSharedSignerContract.getAddress();
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
;
|
|
51
|
-
[signerAddress] = await safeWebAuthnSignerFactoryContract.getSigner([
|
|
52
|
-
BigInt(coordinates.x),
|
|
53
|
-
BigInt(coordinates.y),
|
|
54
|
-
(0, viem_1.fromHex)((0, types_1.asHex)(verifierAddress), 'bigint')
|
|
55
|
-
]);
|
|
56
|
-
}
|
|
57
|
-
return (0, viem_1.createClient)({
|
|
58
|
-
account: signerAddress,
|
|
59
|
-
name: exports.PASSKEY_CLIENT_NAME,
|
|
60
|
-
key: exports.PASSKEY_CLIENT_KEY,
|
|
61
|
-
transport: (0, viem_1.custom)(provider.transport)
|
|
62
|
-
})
|
|
63
|
-
.extend(viem_1.walletActions)
|
|
64
|
-
.extend(() => ({
|
|
65
|
-
signMessage({ message }) {
|
|
66
|
-
if (typeof message === 'string') {
|
|
67
|
-
return sign(passkeyRawId, (0, viem_1.toBytes)(message), passkey.getFn);
|
|
68
|
-
}
|
|
69
|
-
return sign(passkeyRawId, (0, viem_1.isHex)(message.raw) ? (0, viem_1.toBytes)(message.raw) : message.raw, passkey.getFn);
|
|
70
|
-
},
|
|
71
|
-
signTransaction,
|
|
72
|
-
signTypedData,
|
|
73
|
-
encodeConfigure() {
|
|
74
|
-
return (0, viem_1.encodeFunctionData)({
|
|
75
|
-
abi: (0, viem_1.parseAbi)(['function configure((uint256 x, uint256 y, uint176 verifiers) signer)']),
|
|
76
|
-
functionName: 'configure',
|
|
77
|
-
args: [
|
|
78
|
-
{
|
|
79
|
-
x: BigInt(passkey.coordinates.x),
|
|
80
|
-
y: BigInt(passkey.coordinates.y),
|
|
81
|
-
verifiers: (0, viem_1.fromHex)((0, types_1.asHex)(verifierAddress), 'bigint')
|
|
82
|
-
}
|
|
83
|
-
]
|
|
84
|
-
});
|
|
85
|
-
},
|
|
86
|
-
encodeCreateSigner() {
|
|
87
|
-
return (0, types_1.asHex)(safeWebAuthnSignerFactoryContract.encode('createSigner', [
|
|
88
|
-
BigInt(coordinates.x),
|
|
89
|
-
BigInt(coordinates.y),
|
|
90
|
-
BigInt(verifierAddress)
|
|
91
|
-
]));
|
|
92
|
-
},
|
|
93
|
-
createDeployTxRequest() {
|
|
94
|
-
const passkeySignerDeploymentTransaction = {
|
|
95
|
-
to: safeWebAuthnSignerFactoryContract.getAddress(),
|
|
96
|
-
value: '0',
|
|
97
|
-
data: this.encodeCreateSigner()
|
|
98
|
-
};
|
|
99
|
-
return passkeySignerDeploymentTransaction;
|
|
100
|
-
}
|
|
101
|
-
}));
|
|
102
|
-
};
|
|
103
|
-
exports.createPasskeyClient = createPasskeyClient;
|
|
104
|
-
function decodeClientDataJSON(clientDataJSON) {
|
|
105
|
-
const uint8Array = new Uint8Array(clientDataJSON);
|
|
106
|
-
let result = '';
|
|
107
|
-
for (let i = 0; i < uint8Array.length; i++) {
|
|
108
|
-
result += String.fromCharCode(uint8Array[i]);
|
|
109
|
-
}
|
|
110
|
-
return result;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Compute the additional client data JSON fields. This is the fields other than `type` and
|
|
114
|
-
* `challenge` (including `origin` and any other additional client data fields that may be
|
|
115
|
-
* added by the authenticator).
|
|
116
|
-
*
|
|
117
|
-
* See <https://w3c.github.io/webauthn/#clientdatajson-serialization>
|
|
118
|
-
*
|
|
119
|
-
* @param {ArrayBuffer} clientDataJSON - The client data JSON.
|
|
120
|
-
* @returns {Hex} A hex string of the additional fields from the client data JSON.
|
|
121
|
-
* @throws {Error} Throws an error if the client data JSON does not contain the expected 'challenge' field pattern.
|
|
122
|
-
*/
|
|
123
|
-
function extractClientDataFields(clientDataJSON) {
|
|
124
|
-
const decodedClientDataJSON = decodeClientDataJSON(clientDataJSON);
|
|
125
|
-
const match = decodedClientDataJSON.match(/^\{"type":"webauthn.get","challenge":"[A-Za-z0-9\-_]{43}",(.*)\}$/);
|
|
126
|
-
if (!match) {
|
|
127
|
-
throw new Error('challenge not found in client data JSON');
|
|
128
|
-
}
|
|
129
|
-
const [, fields] = match;
|
|
130
|
-
return (0, viem_1.toHex)((0, viem_1.stringToBytes)(fields));
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Extracts the numeric values r and s from a DER-encoded ECDSA signature.
|
|
134
|
-
* This function decodes the signature based on a specific format and validates the encoding at each step.
|
|
135
|
-
*
|
|
136
|
-
* @param {ArrayBuffer | Uint8Array | Array<number>} signature - The DER-encoded signature to be decoded. The WebAuthn standard expects the signature to be an ArrayBuffer, but some password managers (including Bitwarden) provide a Uint8Array or an array of numbers instead.
|
|
137
|
-
* @returns {[bigint, bigint]} A tuple containing two BigInt values, r and s, which are the numeric values extracted from the signature.
|
|
138
|
-
* @throws {Error} Throws an error if the signature encoding is invalid or does not meet expected conditions.
|
|
139
|
-
*/
|
|
140
|
-
function extractSignature(signature) {
|
|
141
|
-
const check = (x) => {
|
|
142
|
-
if (!x) {
|
|
143
|
-
throw new Error('invalid signature encoding');
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
// Decode the DER signature. Note that we assume that all lengths fit into 8-bit integers,
|
|
147
|
-
// which is true for the kinds of signatures we are decoding but generally false. I.e. this
|
|
148
|
-
// code should not be used in any serious application.
|
|
149
|
-
const view = new DataView(signature instanceof ArrayBuffer
|
|
150
|
-
? signature
|
|
151
|
-
: signature instanceof Uint8Array
|
|
152
|
-
? signature.buffer
|
|
153
|
-
: new Uint8Array(signature).buffer);
|
|
154
|
-
// check that the sequence header is valid
|
|
155
|
-
check(view.getUint8(0) === 0x30);
|
|
156
|
-
check(view.getUint8(1) === view.byteLength - 2);
|
|
157
|
-
// read r and s
|
|
158
|
-
const readInt = (offset) => {
|
|
159
|
-
check(view.getUint8(offset) === 0x02);
|
|
160
|
-
const len = view.getUint8(offset + 1);
|
|
161
|
-
const start = offset + 2;
|
|
162
|
-
const end = start + len;
|
|
163
|
-
const n = (0, viem_1.fromBytes)(new Uint8Array(view.buffer.slice(start, end)), 'bigint');
|
|
164
|
-
check(n < viem_1.maxUint256);
|
|
165
|
-
return [n, end];
|
|
166
|
-
};
|
|
167
|
-
const [r, sOffset] = readInt(2);
|
|
168
|
-
const [s] = readInt(sOffset);
|
|
169
|
-
return [r, s];
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=PasskeyClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PasskeyClient.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/PasskeyClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const SafeProvider_1 = __importDefault(require("../../SafeProvider"));
|
|
7
|
-
/**
|
|
8
|
-
* Creates the deployment transaction to create a passkey signer.
|
|
9
|
-
*
|
|
10
|
-
* @param {Safe} safe The protocol-kit instance of the current Safe
|
|
11
|
-
* @param {PasskeyArgType} passkey The passkey object
|
|
12
|
-
* @returns {Promise<{ to: string; value: string; data: string; }>} The deployment transaction to create a passkey signer.
|
|
13
|
-
*/
|
|
14
|
-
async function createPasskeyDeploymentTransaction(safe, passkey) {
|
|
15
|
-
const safeVersion = safe.getContractVersion();
|
|
16
|
-
const safeAddress = await safe.getAddress();
|
|
17
|
-
const owners = await safe.getOwners();
|
|
18
|
-
const safePasskeyProvider = await SafeProvider_1.default.init({
|
|
19
|
-
provider: safe.getSafeProvider().provider,
|
|
20
|
-
signer: passkey,
|
|
21
|
-
safeVersion,
|
|
22
|
-
contractNetworks: safe.getContractManager().contractNetworks,
|
|
23
|
-
safeAddress,
|
|
24
|
-
owners
|
|
25
|
-
});
|
|
26
|
-
const passkeySigner = (await safePasskeyProvider.getExternalSigner());
|
|
27
|
-
const passkeyAddress = passkeySigner.account.address;
|
|
28
|
-
const isPasskeyDeployed = await safe.getSafeProvider().isContractDeployed(passkeyAddress);
|
|
29
|
-
if (isPasskeyDeployed) {
|
|
30
|
-
throw new Error('Passkey Signer contract already deployed');
|
|
31
|
-
}
|
|
32
|
-
return passkeySigner.createDeployTxRequest();
|
|
33
|
-
}
|
|
34
|
-
exports.default = createPasskeyDeploymentTransaction;
|
|
35
|
-
//# sourceMappingURL=createPasskeyDeploymentTransaction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createPasskeyDeploymentTransaction.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/createPasskeyDeploymentTransaction.ts"],"names":[],"mappings":";;;;;AAGA,0FAAiE;AAGjE;;;;;;GAMG;AACH,KAAK,UAAU,kCAAkC,CAC/C,IAAU,EACV,OAAuB;IAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;IAErC,MAAM,mBAAmB,GAAG,MAAM,sBAAY,CAAC,IAAI,CAAC;QAClD,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ;QACzC,MAAM,EAAE,OAAO;QACf,WAAW;QACX,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,gBAAgB;QAC5D,WAAW;QACX,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,CAAC,MAAM,mBAAmB,CAAC,iBAAiB,EAAE,CAAkB,CAAA;IACtF,MAAM,cAAc,GAAG,aAAc,CAAC,OAAO,CAAC,OAAO,CAAA;IAErD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;IAEzF,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,aAAa,CAAC,qBAAqB,EAAE,CAAA;AAC9C,CAAC;AAED,kBAAe,kCAAkC,CAAA"}
|