@metamask/smart-accounts-kit 1.5.0 → 1.6.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 +47 -25
- package/dist/actions/index.cjs +5 -6
- package/dist/actions/index.cjs.map +1 -1
- package/dist/actions/index.d.cts +3 -3
- package/dist/actions/index.d.ts +3 -3
- package/dist/actions/index.mjs +4 -5
- package/dist/{caveats-DQ6HoAHe.d.ts → caveats-B2OssjV4.d.ts} +1 -2
- package/dist/{caveats-CaSt_VHs.d.cts → caveats-gqMBZKkI.d.cts} +1 -2
- package/dist/{chunk-SOFB2MXG.cjs → chunk-2OS36DVV.cjs} +8 -1
- package/dist/chunk-2OS36DVV.cjs.map +1 -0
- package/dist/{chunk-XEOE25DE.cjs → chunk-2ZOWIAP3.cjs} +98 -68
- package/dist/chunk-2ZOWIAP3.cjs.map +1 -0
- package/dist/{chunk-BGOSYTKV.mjs → chunk-AZYTTGON.mjs} +38 -8
- package/dist/chunk-AZYTTGON.mjs.map +1 -0
- package/dist/{chunk-SCS3CFRE.cjs → chunk-DCI2AN4N.cjs} +15 -17
- package/dist/chunk-DCI2AN4N.cjs.map +1 -0
- package/dist/{chunk-DN4O5VOP.cjs → chunk-EPU4O7FY.cjs} +158 -151
- package/dist/chunk-EPU4O7FY.cjs.map +1 -0
- package/dist/{chunk-QCULIK3O.mjs → chunk-GMGJRC3D.mjs} +8 -1
- package/dist/chunk-GMGJRC3D.mjs.map +1 -0
- package/dist/chunk-IMO6XNDJ.mjs +14 -0
- package/dist/chunk-IMO6XNDJ.mjs.map +1 -0
- package/dist/chunk-IQT6XFDT.cjs +14 -0
- package/dist/chunk-IQT6XFDT.cjs.map +1 -0
- package/dist/{chunk-FH6HZCHI.cjs → chunk-JKVSTPEC.cjs} +200 -18
- package/dist/chunk-JKVSTPEC.cjs.map +1 -0
- package/dist/{chunk-N66VAWMO.mjs → chunk-K7GTZGKJ.mjs} +2 -2
- package/dist/{chunk-TBHT26BV.mjs → chunk-L3EZCIY6.mjs} +67 -60
- package/dist/chunk-L3EZCIY6.mjs.map +1 -0
- package/dist/{chunk-7FYDQNJ3.cjs → chunk-PQPAEHJZ.cjs} +12 -12
- package/dist/{chunk-7FYDQNJ3.cjs.map → chunk-PQPAEHJZ.cjs.map} +1 -1
- package/dist/{chunk-MV2KHN75.mjs → chunk-TNGQTVSY.mjs} +163 -35
- package/dist/chunk-TNGQTVSY.mjs.map +1 -0
- package/dist/{chunk-YXHUT56Z.mjs → chunk-UJQ3JN3U.mjs} +4 -6
- package/dist/{chunk-YXHUT56Z.mjs.map → chunk-UJQ3JN3U.mjs.map} +1 -1
- package/dist/{chunk-IBZSNB7D.cjs → chunk-W6HPAK4M.cjs} +202 -74
- package/dist/chunk-W6HPAK4M.cjs.map +1 -0
- package/dist/{chunk-W7O2UQL5.mjs → chunk-YVU66KSH.mjs} +188 -6
- package/dist/chunk-YVU66KSH.mjs.map +1 -0
- package/dist/contracts/index.cjs +5 -6
- package/dist/contracts/index.cjs.map +1 -1
- package/dist/contracts/index.d.cts +4 -4
- package/dist/contracts/index.d.ts +4 -4
- package/dist/contracts/index.mjs +4 -5
- package/dist/{delegation-DbPGWKfP.d.ts → decodeRevertReason-CmmCpmZ_.d.cts} +11 -3
- package/dist/{delegation-BKkEyxZY.d.cts → decodeRevertReason-dOTpJx2h.d.ts} +11 -3
- package/dist/experimental/index.cjs +364 -9
- package/dist/experimental/index.cjs.map +1 -1
- package/dist/experimental/index.d.cts +39 -3
- package/dist/experimental/index.d.ts +39 -3
- package/dist/experimental/index.mjs +357 -2
- package/dist/experimental/index.mjs.map +1 -1
- package/dist/index-B1Cmezvh.d.cts +61 -0
- package/dist/{index-DXdlz7t4.d.ts → index-BkgdU4LI.d.ts} +99 -93
- package/dist/{index-G78z6nwi.d.ts → index-DUJmm8Wz.d.ts} +13 -5
- package/dist/{index-yU3olCJV.d.cts → index-Dv4jPzhe.d.cts} +99 -93
- package/dist/index-LqiEgBjV.d.ts +61 -0
- package/dist/{index-DfDAuvr5.d.cts → index-X7Qn3JTg.d.cts} +13 -5
- package/dist/index.cjs +22 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.mjs +9 -11
- package/dist/index.mjs.map +1 -1
- package/dist/{resolveCaveats-DiqGB-T5.d.cts → resolveCaveats-A9xC29l8.d.cts} +160 -62
- package/dist/{resolveCaveats-s2snaFEo.d.ts → resolveCaveats-A9xC29l8.d.ts} +160 -62
- package/dist/utils/index.cjs +13 -6
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.cts +8 -5
- package/dist/utils/index.d.ts +8 -5
- package/dist/utils/index.mjs +16 -9
- package/package.json +7 -6
- package/dist/chunk-4QXIOE7F.mjs +0 -79
- package/dist/chunk-4QXIOE7F.mjs.map +0 -1
- package/dist/chunk-BGOSYTKV.mjs.map +0 -1
- package/dist/chunk-DN4O5VOP.cjs.map +0 -1
- package/dist/chunk-FH6HZCHI.cjs.map +0 -1
- package/dist/chunk-IBZSNB7D.cjs.map +0 -1
- package/dist/chunk-MOHCTPYQ.cjs +0 -79
- package/dist/chunk-MOHCTPYQ.cjs.map +0 -1
- package/dist/chunk-MV2KHN75.mjs.map +0 -1
- package/dist/chunk-QCULIK3O.mjs.map +0 -1
- package/dist/chunk-SCS3CFRE.cjs.map +0 -1
- package/dist/chunk-SOFB2MXG.cjs.map +0 -1
- package/dist/chunk-TBHT26BV.mjs.map +0 -1
- package/dist/chunk-W7O2UQL5.mjs.map +0 -1
- package/dist/chunk-XEOE25DE.cjs.map +0 -1
- package/dist/types-BWaH4KH1.d.cts +0 -155
- package/dist/types-BWaH4KH1.d.ts +0 -155
- /package/dist/{chunk-N66VAWMO.mjs.map → chunk-K7GTZGKJ.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-EPU4O7FY.cjs","../src/contracts/index.ts","../src/DelegationFramework/DelegationManager/index.ts","../src/DelegationFramework/DelegationManager/constants.ts","../src/DelegationFramework/DelegationManager/decode.ts","../src/DelegationFramework/DelegationManager/methods/redeemDelegations.ts","../src/DelegationFramework/DelegationManager/encode.ts","../src/DelegationFramework/DelegationManager/methods/disableDelegation.ts","../src/DelegationFramework/DelegationManager/methods/enableDelegation.ts","../src/DelegationFramework/DelegationManager/execute.ts","../src/DelegationFramework/DelegationManager/read.ts","../src/DelegationFramework/DelegationManager/methods/disabledDelegations.ts","../src/DelegationFramework/DelegationManager/methods/getAnyDelegate.ts","../src/DelegationFramework/DelegationManager/methods/getRootAuthority.ts","../src/DelegationFramework/DelegationManager/simulate.ts","../src/DelegationFramework/DeleGatorCore/index.ts","../src/DelegationFramework/DeleGatorCore/execute.ts","../src/DelegationFramework/DeleGatorCore/simulate.ts","../src/DelegationFramework/EIP712/index.ts","../src/DelegationFramework/EIP712/read.ts","../src/DelegationFramework/EIP712/methods/getContractName.ts","../src/DelegationFramework/EIP712/methods/getContractVersion.ts","../src/DelegationFramework/EIP712/methods/getDomainVersion.ts","../src/DelegationFramework/EntryPoint/index.ts","../src/DelegationFramework/EntryPoint/read.ts","../src/DelegationFramework/EntryPoint/methods/getNonce.ts","../src/DelegationFramework/ERC20TransferAmountEnforcer/index.ts","../src/DelegationFramework/ERC20TransferAmountEnforcer/read.ts","../src/DelegationFramework/ERC20TransferAmountEnforcer/methods/getSpentAmount.ts","../src/DelegationFramework/ERC20TransferAmountEnforcer/methods/getTermsInfo.ts","../src/DelegationFramework/HybridDeleGator/index.ts","../src/DelegationFramework/HybridDeleGator/read.ts","../src/DelegationFramework/HybridDeleGator/methods/getKey.ts","../src/DelegationFramework/HybridDeleGator/methods/getKeyIdHashes.ts","../src/DelegationFramework/HybridDeleGator/methods/getKeyIdHashesCount.ts","../src/DelegationFramework/HybridDeleGator/simulate.ts","../src/DelegationFramework/HybridDeleGator/constants.ts","../src/DelegationFramework/IdEnforcer/index.ts","../src/DelegationFramework/IdEnforcer/read.ts","../src/DelegationFramework/IdEnforcer/methods/getIsUsed.ts","../src/DelegationFramework/IdEnforcer/methods/getTermsInfo.ts","../src/DelegationFramework/LimitedCallsEnforcer/index.ts","../src/DelegationFramework/LimitedCallsEnforcer/read.ts","../src/DelegationFramework/LimitedCallsEnforcer/methods/callCounts.ts","../src/DelegationFramework/LimitedCallsEnforcer/methods/getTermsInfo.ts","../src/DelegationFramework/MultiSigDeleGator/index.ts","../src/DelegationFramework/MultiSigDeleGator/read.ts","../src/DelegationFramework/MultiSigDeleGator/methods/getMaxNumberOfSigners.ts","../src/DelegationFramework/MultiSigDeleGator/methods/getSigners.ts","../src/DelegationFramework/MultiSigDeleGator/methods/getSignersCount.ts","../src/DelegationFramework/MultiSigDeleGator/methods/getThreshold.ts","../src/DelegationFramework/MultiSigDeleGator/methods/isSigner.ts","../src/DelegationFramework/MultiSigDeleGator/simulate.ts","../src/DelegationFramework/MultiSigDeleGator/constants.ts","../src/DelegationFramework/NativeTokenTransferAmountEnforcer/index.ts","../src/DelegationFramework/NativeTokenTransferAmountEnforcer/read.ts","../src/DelegationFramework/NativeTokenTransferAmountEnforcer/methods/getSpentAmount.ts","../src/DelegationFramework/NativeTokenTransferAmountEnforcer/methods/getTermsInfo.ts","../src/DelegationFramework/NonceEnforcer/index.ts","../src/DelegationFramework/NonceEnforcer/encode.ts","../src/DelegationFramework/NonceEnforcer/methods/incrementNonce.ts","../src/DelegationFramework/NonceEnforcer/execute.ts","../src/DelegationFramework/NonceEnforcer/read.ts","../src/DelegationFramework/NonceEnforcer/methods/currentNonce.ts","../src/DelegationFramework/NonceEnforcer/methods/getTermsInfo.ts","../src/DelegationFramework/NonceEnforcer/simulate.ts","../src/DelegationFramework/Ownable2Step/index.ts","../src/DelegationFramework/Ownable2Step/read.ts","../src/DelegationFramework/Ownable2Step/methods/getOwner.ts","../src/DelegationFramework/Ownable2Step/methods/getPendingOwner.ts","../src/DelegationFramework/Ownable2Step/execute.ts","../src/DelegationFramework/Ownable2Step/methods/acceptOwnership.ts","../src/DelegationFramework/Ownable2Step/methods/renounceOwnership.ts","../src/DelegationFramework/Ownable2Step/methods/transferOwnership.ts","../src/DelegationFramework/Ownable2Step/encode.ts","../src/DelegationFramework/Ownable2Step/simulate.ts","../src/DelegationFramework/Pausable/index.ts","../src/DelegationFramework/Pausable/read.ts","../src/DelegationFramework/Pausable/methods/isPaused.ts","../src/DelegationFramework/Pausable/execute.ts","../src/DelegationFramework/Pausable/methods/pause.ts","../src/DelegationFramework/Pausable/methods/unpause.ts","../src/DelegationFramework/Pausable/encode.ts","../src/DelegationFramework/Pausable/simulate.ts","../src/DelegationFramework/SimpleFactory/index.ts","../src/DelegationFramework/SimpleFactory/execute.ts","../src/DelegationFramework/SimpleFactory/read.ts","../src/DelegationFramework/SimpleFactory/methods/getCreate2Address.ts","../src/DelegationFramework/SimpleFactory/simulate.ts","../src/DelegationFramework/SpecificActionERC20TransferBatchEnforcer/index.ts","../src/DelegationFramework/SpecificActionERC20TransferBatchEnforcer/read.ts","../src/DelegationFramework/SpecificActionERC20TransferBatchEnforcer/methods/getTermsInfo.ts","../src/DelegationFramework/SpecificActionERC20TransferBatchEnforcer/methods/usedDelegations.ts"],"names":["encode_exports","read_exports","simulate","execute","encode","simulateContract","DelegationManager","writeContract","encodeFunctionData","read","readContract","execute_exports","simulate_exports","ERC20TransferAmountEnforcer","constants_exports","HybridDeleGator","DOMAIN_VERSION","NAME","VERSION","IdEnforcer","LimitedCallsEnforcer","MultiSigDeleGator","NativeTokenTransferAmountEnforcer","NonceEnforcer","Ownable2Step","SpecificActionERC20TransferBatchEnforcer"],"mappings":"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","file":"/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-EPU4O7FY.cjs","sourcesContent":[null,"import * as DelegationManager from '../DelegationFramework/DelegationManager';\nimport * as DeleGatorCore from '../DelegationFramework/DeleGatorCore';\nimport * as EIP712 from '../DelegationFramework/EIP712';\nimport * as EntryPoint from '../DelegationFramework/EntryPoint';\nimport * as ERC20PeriodTransferEnforcer from '../DelegationFramework/ERC20PeriodTransferEnforcer';\nimport * as ERC20StreamingEnforcer from '../DelegationFramework/ERC20StreamingEnforcer';\nimport * as ERC20TransferAmountEnforcer from '../DelegationFramework/ERC20TransferAmountEnforcer';\nimport * as HybridDeleGator from '../DelegationFramework/HybridDeleGator';\nimport * as IdEnforcer from '../DelegationFramework/IdEnforcer';\nimport * as LimitedCallsEnforcer from '../DelegationFramework/LimitedCallsEnforcer';\nimport * as MultiSigDeleGator from '../DelegationFramework/MultiSigDeleGator';\nimport * as MultiTokenPeriodEnforcer from '../DelegationFramework/MultiTokenPeriodEnforcer';\nimport * as NativeTokenPeriodTransferEnforcer from '../DelegationFramework/NativeTokenPeriodTransferEnforcer';\nimport * as NativeTokenStreamingEnforcer from '../DelegationFramework/NativeTokenStreamingEnforcer';\nimport * as NativeTokenTransferAmountEnforcer from '../DelegationFramework/NativeTokenTransferAmountEnforcer';\nimport * as NonceEnforcer from '../DelegationFramework/NonceEnforcer';\nimport * as Ownable2Step from '../DelegationFramework/Ownable2Step';\nimport * as Pausable from '../DelegationFramework/Pausable';\nimport * as SimpleFactory from '../DelegationFramework/SimpleFactory';\nimport * as SpecificActionERC20TransferBatchEnforcer from '../DelegationFramework/SpecificActionERC20TransferBatchEnforcer';\n\nexport {\n isContractDeployed,\n isImplementationExpected,\n encodeProxyCreationCode,\n} from '../DelegationFramework/utils';\n\nexport {\n DelegationManager,\n DeleGatorCore,\n EIP712,\n EntryPoint,\n HybridDeleGator,\n IdEnforcer,\n LimitedCallsEnforcer,\n MultiSigDeleGator,\n NonceEnforcer,\n Ownable2Step,\n Pausable,\n SimpleFactory,\n SpecificActionERC20TransferBatchEnforcer,\n ERC20PeriodTransferEnforcer,\n ERC20StreamingEnforcer,\n ERC20TransferAmountEnforcer,\n MultiTokenPeriodEnforcer,\n NativeTokenPeriodTransferEnforcer,\n NativeTokenStreamingEnforcer,\n NativeTokenTransferAmountEnforcer,\n};\n\nexport type {\n P256Owner,\n InitializedClient,\n} from '../DelegationFramework/types';\n","import * as constants from './constants';\nimport * as decode from './decode';\nimport * as encode from './encode';\nimport * as execute from './execute';\nimport * as read from './read';\nimport * as simulate from './simulate';\n\nexport { decode, encode, execute, read, simulate, constants };\n","export { ROOT_AUTHORITY, ANY_BENEFICIARY } from '../../delegation';\n\nexport const NAME = 'DelegationManager';\nexport const VERSION = '1.3.0';\nexport const DOMAIN_VERSION = '1';\n","import { decodeError as redeemDelegationsError } from './methods/redeemDelegations';\n\nexport { redeemDelegationsError };\n","import { DelegationManager } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport {\n decodeRevertReason,\n type DecodedRevertReason,\n} from '../../../decodeRevertReason';\nimport { encodeDelegations } from '../../../delegation';\nimport { encodeExecutionCalldatas } from '../../../executions';\nimport type { ExecutionMode, ExecutionStruct } from '../../../executions';\nimport type { PermissionContext } from '../../../types';\nimport type { InitializedClient } from '../../types';\n\nexport type EncodeRedeemDelegationsParameters = {\n delegations: PermissionContext[];\n modes: ExecutionMode[];\n executions: ExecutionStruct[][];\n};\n\nexport type SimulateRedeemDelegationsParameters = {\n client: Client;\n delegationManagerAddress: Address;\n} & EncodeRedeemDelegationsParameters;\n\nexport type ExecuteRedeemDelegationsParameters = {\n client: InitializedClient;\n delegationManagerAddress: Address;\n} & EncodeRedeemDelegationsParameters;\n\nexport type DecodeRedeemDelegationsErrorReturnType =\n | DecodedRevertReason\n | undefined;\n\nexport const simulate = async ({\n client,\n delegationManagerAddress,\n delegations,\n modes,\n executions,\n}: SimulateRedeemDelegationsParameters) => {\n return simulateContract(client, {\n address: delegationManagerAddress,\n abi: DelegationManager,\n functionName: 'redeemDelegations',\n args: [\n delegations.map((delegationChain) => encodeDelegations(delegationChain)),\n modes,\n encodeExecutionCalldatas(executions),\n ],\n });\n};\n\nexport const execute = async ({\n client,\n delegationManagerAddress,\n delegations,\n modes,\n executions,\n}: ExecuteRedeemDelegationsParameters) => {\n const { request } = await simulate({\n client,\n delegationManagerAddress,\n delegations,\n modes,\n executions,\n });\n\n return writeContract(client, request);\n};\n\nexport const encode = ({\n delegations,\n modes,\n executions,\n}: EncodeRedeemDelegationsParameters) => {\n return encodeFunctionData({\n abi: DelegationManager,\n functionName: 'redeemDelegations',\n args: [\n delegations.map((delegationChain) => encodeDelegations(delegationChain)),\n modes,\n encodeExecutionCalldatas(executions),\n ],\n });\n};\n\n/**\n * Decodes revert data from errors thrown by `simulate` or `execute`.\n *\n * @param error - The original error thrown by viem or an RPC provider.\n * @returns A decoded revert reason, if one can be recognized.\n */\nexport const decodeError = (\n error: unknown,\n): DecodeRedeemDelegationsErrorReturnType => decodeRevertReason(error);\n","import { encode as disableDelegation } from './methods/disableDelegation';\nimport { encode as enableDelegation } from './methods/enableDelegation';\nimport { encode as redeemDelegations } from './methods/redeemDelegations';\n\nexport { disableDelegation, enableDelegation, redeemDelegations };\n","import { DelegationManager } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport { toDelegationStruct } from '../../../delegation';\nimport type { Delegation } from '../../../types';\nimport type { InitializedClient } from '../../types';\n\nexport type EncodeDisableDelegationParameters = {\n delegation: Delegation;\n};\n\nexport type SimulateDisableDelegationParameters = {\n client: Client;\n delegationManagerAddress: Address;\n} & EncodeDisableDelegationParameters;\n\nexport type ExecuteDisableDelegationParameters = {\n client: InitializedClient;\n delegationManagerAddress: Address;\n} & EncodeDisableDelegationParameters;\n\nexport const simulate = async ({\n client,\n delegationManagerAddress,\n delegation,\n}: SimulateDisableDelegationParameters) => {\n const delegationStruct = toDelegationStruct(delegation);\n\n return simulateContract(client, {\n address: delegationManagerAddress,\n abi: DelegationManager,\n functionName: 'disableDelegation',\n args: [delegationStruct],\n });\n};\n\nexport const execute = async ({\n client,\n delegationManagerAddress,\n delegation,\n}: ExecuteDisableDelegationParameters) => {\n const { request } = await simulate({\n client,\n delegationManagerAddress,\n delegation,\n });\n\n return writeContract(client, request);\n};\n\nexport const encode = ({ delegation }: EncodeDisableDelegationParameters) => {\n const delegationStruct = toDelegationStruct(delegation);\n\n return encodeFunctionData({\n abi: DelegationManager,\n functionName: 'disableDelegation',\n args: [delegationStruct],\n });\n};\n","import { DelegationManager } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport { toDelegationStruct } from '../../../delegation';\nimport type { Delegation } from '../../../types';\nimport type { InitializedClient } from '../../types';\n\nexport type EncodeEnableDelegationParameters = {\n delegation: Delegation;\n};\n\nexport type SimulateEnableDelegationParameters = {\n client: Client;\n delegationManagerAddress: Address;\n} & EncodeEnableDelegationParameters;\n\nexport type ExecuteEnableDelegationParameters = {\n client: InitializedClient;\n delegationManagerAddress: Address;\n} & EncodeEnableDelegationParameters;\n\nexport const simulate = async ({\n client,\n delegationManagerAddress,\n delegation,\n}: SimulateEnableDelegationParameters) => {\n const delegationStruct = toDelegationStruct(delegation);\n\n return simulateContract(client, {\n address: delegationManagerAddress,\n abi: DelegationManager,\n functionName: 'enableDelegation',\n args: [delegationStruct],\n });\n};\n\nexport const execute = async ({\n client,\n delegationManagerAddress,\n delegation,\n}: ExecuteEnableDelegationParameters) => {\n const { request } = await simulate({\n client,\n delegationManagerAddress,\n delegation,\n });\n\n return writeContract(client, request);\n};\n\nexport const encode = ({ delegation }: EncodeEnableDelegationParameters) => {\n const delegationStruct = toDelegationStruct(delegation);\n\n return encodeFunctionData({\n abi: DelegationManager,\n functionName: 'enableDelegation',\n args: [delegationStruct],\n });\n};\n","import { execute as disableDelegation } from './methods/disableDelegation';\nimport { execute as enableDelegation } from './methods/enableDelegation';\nimport { execute as redeemDelegations } from './methods/redeemDelegations';\n\nexport { disableDelegation, enableDelegation, redeemDelegations };\n","import { read as disabledDelegations } from './methods/disabledDelegations';\nimport { read as getAnyDelegate } from './methods/getAnyDelegate';\nimport { read as getRootAuthority } from './methods/getRootAuthority';\n\nexport { getAnyDelegate, getRootAuthority, disabledDelegations };\n","import { DelegationManager } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadDisabledDelegationsParameters = {\n client: Client;\n contractAddress: Address;\n delegationHash: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationHash,\n}: ReadDisabledDelegationsParameters) =>\n await readContract(client, {\n address: contractAddress,\n abi: DelegationManager,\n functionName: 'disabledDelegations',\n args: [delegationHash],\n });\n","import { DelegationManager } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetAnyDelegateParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n}: ReadGetAnyDelegateParameters) =>\n await readContract(client, {\n address: contractAddress,\n abi: DelegationManager,\n functionName: 'ANY_DELEGATE',\n });\n","import { DelegationManager } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetRootAuthorityParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n}: ReadGetRootAuthorityParameters) =>\n await readContract(client, {\n address: contractAddress,\n abi: DelegationManager,\n functionName: 'ROOT_AUTHORITY',\n });\n","import { simulate as disableDelegation } from './methods/disableDelegation';\nimport { simulate as enableDelegation } from './methods/enableDelegation';\nimport { simulate as redeemDelegations } from './methods/redeemDelegations';\n\nexport { disableDelegation, enableDelegation, redeemDelegations };\n","import * as encode from './encode';\nimport * as execute from './execute';\nimport * as read from './read';\nimport * as simulate from './simulate';\n\nexport { encode, simulate, read, execute };\n","import { execute as disableDelegation } from './methods/disableDelegation';\nimport { execute as enableDelegation } from './methods/enableDelegation';\nimport { execute } from './methods/execute';\nimport { execute as executeWithMode } from './methods/executeWithMode';\nimport { execute as upgradeToAndCall } from './methods/upgradeToAndCall';\n\nexport {\n disableDelegation,\n enableDelegation,\n execute,\n executeWithMode,\n upgradeToAndCall,\n};\n","import { simulate as disableDelegation } from './methods/disableDelegation';\nimport { simulate as enableDelegation } from './methods/enableDelegation';\nimport { simulate as execute } from './methods/execute';\nimport { simulate as executeWithMode } from './methods/executeWithMode';\nimport { simulate as upgradeToAndCall } from './methods/upgradeToAndCall';\n\nexport {\n disableDelegation,\n enableDelegation,\n execute,\n executeWithMode,\n upgradeToAndCall,\n};\n","export * as read from './read';\n","import { read as getContractName } from './methods/getContractName';\nimport { read as getContractVersion } from './methods/getContractVersion';\nimport { read as getDomainVersion } from './methods/getDomainVersion';\n\nexport { getContractName, getContractVersion, getDomainVersion };\n","import type { Client, Address } from 'viem';\nimport { readContract } from 'viem/actions';\n\n// NOTE: ABIs have been extracted and minimized for reuse across contracts. These methods are included in our contracts but are not a part of the EIP712 standard itself.\n\nexport type ReadGetContractNameParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n}: ReadGetContractNameParameters) =>\n await readContract(client, {\n address: contractAddress,\n abi: [\n {\n type: 'function',\n name: 'NAME',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'string',\n internalType: 'string',\n },\n ],\n stateMutability: 'view',\n },\n ],\n functionName: 'NAME',\n });\n","import type { Client, Address } from 'viem';\nimport { readContract } from 'viem/actions';\n\n// NOTE: ABIs have been extracted and minimized for reuse across contracts. These methods are included in our contracts but are not a part of the EIP712 standard itself.\n\nexport type ReadGetContractVersionParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n}: ReadGetContractVersionParameters) =>\n await readContract(client, {\n address: contractAddress,\n abi: [\n {\n type: 'function',\n name: 'VERSION',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'string',\n internalType: 'string',\n },\n ],\n stateMutability: 'view',\n },\n ],\n functionName: 'VERSION',\n });\n","import type { Client, Address } from 'viem';\nimport { readContract } from 'viem/actions';\n\n// NOTE: ABIs have been extracted and minimized for reuse across contracts. These methods are included in our contracts but are not a part of the EIP712 standard itself.\n\nexport type ReadGetDomainVersionParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n}: ReadGetDomainVersionParameters) =>\n await readContract(client, {\n address: contractAddress,\n abi: [\n {\n type: 'function',\n name: 'DOMAIN_VERSION',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'string',\n internalType: 'string',\n },\n ],\n stateMutability: 'view',\n },\n ],\n functionName: 'DOMAIN_VERSION',\n });\n","import * as read from './read';\n\nexport { read };\n","import { read as entryPointGetNonce } from './methods/getNonce';\n\nexport { entryPointGetNonce };\n","import { EntryPoint } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetNonceParameters = {\n client: Client;\n entryPoint: Address;\n contractAddress: Address;\n key: bigint;\n};\n\nexport const read = async ({\n client,\n entryPoint,\n contractAddress,\n key,\n}: ReadGetNonceParameters) =>\n await readContract(client, {\n address: entryPoint,\n abi: EntryPoint,\n functionName: 'getNonce',\n args: [contractAddress, key],\n });\n","import * as read from './read';\n\nexport { read };\n","import { read as getSpentAmount } from './methods/getSpentAmount';\nimport { read as getTermsInfo } from './methods/getTermsInfo';\n\nexport { getTermsInfo, getSpentAmount };\n","import { ERC20TransferAmountEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetSpentAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegationHash: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegationHash,\n}: ReadGetSpentAmountParameters): Promise<bigint> => {\n const amount = await readContract(client, {\n address: contractAddress,\n abi: ERC20TransferAmountEnforcer,\n functionName: 'spentMap',\n args: [delegationManager, delegationHash],\n });\n\n return amount;\n};\n","import { ERC20TransferAmountEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetTermsInfoParameters = {\n client: Client;\n contractAddress: Address;\n terms: Hex;\n};\n\nexport type TermsData = {\n allowedContract: Address;\n maxTokens: bigint;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n terms,\n}: ReadGetTermsInfoParameters): Promise<TermsData> => {\n const [allowedContract, maxTokens] = await readContract(client, {\n address: contractAddress,\n abi: ERC20TransferAmountEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n return {\n allowedContract,\n maxTokens,\n };\n};\n","export * as read from './read';\nexport * as encode from './encode';\nexport * as simulate from './simulate';\nexport * as constants from './constants';\n","import { read as getKey } from './methods/getKey';\nimport { read as getKeyIdHashes } from './methods/getKeyIdHashes';\nimport { read as getKeyIdHashesCount } from './methods/getKeyIdHashesCount';\n\nexport { getKey, getKeyIdHashes, getKeyIdHashesCount };\n","import { HybridDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetKeyParameters = {\n client: Client;\n hybridDeleGatorAddress: Address;\n keyId: string;\n};\n\nexport const read = async ({\n client,\n hybridDeleGatorAddress,\n keyId,\n}: ReadGetKeyParameters) =>\n await readContract(client, {\n address: hybridDeleGatorAddress,\n abi: HybridDeleGator,\n functionName: 'getKey',\n args: [keyId],\n });\n","import { HybridDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetKeyIdHashesParameters = {\n client: Client;\n hybridDeleGatorAddress: Address;\n};\n\nexport const read = async ({\n client,\n hybridDeleGatorAddress,\n}: ReadGetKeyIdHashesParameters) =>\n await readContract(client, {\n address: hybridDeleGatorAddress,\n abi: HybridDeleGator,\n functionName: 'getKeyIdHashes',\n });\n","import { HybridDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetKeyIdHashesCountParameters = {\n client: Client;\n hybridDeleGatorAddress: Address;\n};\n\nexport const read = async ({\n client,\n hybridDeleGatorAddress,\n}: ReadGetKeyIdHashesCountParameters) =>\n await readContract(client, {\n address: hybridDeleGatorAddress,\n abi: HybridDeleGator,\n functionName: 'getKeyIdHashesCount',\n });\n","import { simulate as addKey } from './methods/addKey';\nimport { simulate as initializeHybridDeleGator } from './methods/initialize';\nimport { simulate as reinitializeHybridDeleGator } from './methods/reinitialize';\nimport { simulate as removeKey } from './methods/removeKey';\nimport { simulate as updateSigners } from './methods/updateSigners';\n\nexport {\n addKey,\n initializeHybridDeleGator,\n reinitializeHybridDeleGator,\n removeKey,\n updateSigners,\n};\n","export { ROOT_AUTHORITY, ANY_BENEFICIARY } from '../../delegation';\n\nexport const NAME = 'HybridDeleGator';\nexport const VERSION = '1.3.0';\nexport const DOMAIN_VERSION = '1';\n","import * as read from './read';\n\nexport { read };\n","import { read as getIsUsed } from './methods/getIsUsed';\nimport { read as getTermsInfo } from './methods/getTermsInfo';\n\nexport { getTermsInfo, getIsUsed };\n","import { IdEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetIsUsedParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegator: Address;\n id: bigint;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegator,\n id,\n}: ReadGetIsUsedParameters): Promise<boolean> => {\n const isUsed = await readContract(client, {\n address: contractAddress,\n abi: IdEnforcer,\n functionName: 'getIsUsed',\n args: [delegationManager, delegator, id],\n });\n\n return isUsed;\n};\n","import { IdEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetTermsInfoParameters = {\n client: Client;\n contractAddress: Address;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n terms,\n}: ReadGetTermsInfoParameters): Promise<bigint> => {\n const id = await readContract(client, {\n address: contractAddress,\n abi: IdEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n return id;\n};\n","import * as read from './read';\n\nexport { read };\n","import { read as callCounts } from './methods/callCounts';\nimport { read as getTermsInfo } from './methods/getTermsInfo';\n\nexport { callCounts, getTermsInfo };\n","import { LimitedCallsEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadCallCountsParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegationHash: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegationHash,\n}: ReadCallCountsParameters): Promise<bigint> => {\n const count = await readContract(client, {\n address: contractAddress,\n abi: LimitedCallsEnforcer,\n functionName: 'callCounts',\n args: [delegationManager, delegationHash],\n });\n\n return count;\n};\n","import { LimitedCallsEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetTermsInfoParameters = {\n client: Client;\n contractAddress: Address;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n terms,\n}: ReadGetTermsInfoParameters): Promise<bigint> => {\n const limit = await readContract(client, {\n address: contractAddress,\n abi: LimitedCallsEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n return limit;\n};\n","export * as read from './read';\nexport * as encode from './encode';\nexport * as simulate from './simulate';\nexport * as constants from './constants';\n","import { read as getMaxNumberOfSigners } from './methods/getMaxNumberOfSigners';\nimport { read as getSigners } from './methods/getSigners';\nimport { read as getSignersCount } from './methods/getSignersCount';\nimport { read as getThreshold } from './methods/getThreshold';\nimport { read as isSigner } from './methods/isSigner';\n\nexport {\n getSigners,\n getSignersCount,\n getThreshold,\n isSigner,\n getMaxNumberOfSigners,\n};\n","import { MultiSigDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetMaxNumberOfSignersParameters = {\n client: Client;\n multiSigDeleGatorAddress: Address;\n};\n\nexport const read = async ({\n client,\n multiSigDeleGatorAddress,\n}: ReadGetMaxNumberOfSignersParameters) =>\n await readContract(client, {\n address: multiSigDeleGatorAddress,\n abi: MultiSigDeleGator,\n functionName: 'MAX_NUMBER_OF_SIGNERS',\n });\n","import { MultiSigDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetSignersParameters = {\n client: Client;\n multiSigDeleGatorAddress: Address;\n};\n\nexport const read = async ({\n client,\n multiSigDeleGatorAddress,\n}: ReadGetSignersParameters) =>\n await readContract(client, {\n address: multiSigDeleGatorAddress,\n abi: MultiSigDeleGator,\n functionName: 'getSigners',\n });\n","import { MultiSigDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetSignersCountParameters = {\n client: Client;\n multiSigDeleGatorAddress: Address;\n};\n\nexport const read = async ({\n client,\n multiSigDeleGatorAddress,\n}: ReadGetSignersCountParameters) =>\n await readContract(client, {\n address: multiSigDeleGatorAddress,\n abi: MultiSigDeleGator,\n functionName: 'getSignersCount',\n });\n","import { MultiSigDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetThresholdParameters = {\n client: Client;\n multiSigDeleGatorAddress: Address;\n};\n\nexport const read = async ({\n client,\n multiSigDeleGatorAddress,\n}: ReadGetThresholdParameters) =>\n await readContract(client, {\n address: multiSigDeleGatorAddress,\n abi: MultiSigDeleGator,\n functionName: 'getThreshold',\n });\n","import { MultiSigDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadIsSignerParameters = {\n client: Client;\n multiSigDeleGatorAddress: Address;\n signer: Address;\n};\n\nexport const read = async ({\n client,\n multiSigDeleGatorAddress,\n signer,\n}: ReadIsSignerParameters) =>\n await readContract(client, {\n address: multiSigDeleGatorAddress,\n abi: MultiSigDeleGator,\n functionName: 'isSigner',\n args: [signer],\n });\n","import { simulate as addSigner } from './methods/addSigner';\nimport { simulate as initializeMultiSigDeleGator } from './methods/initialize';\nimport { simulate as reinitializeMultiSigDeleGator } from './methods/reinitialize';\nimport { simulate as removeSigner } from './methods/removeSigner';\nimport { simulate as replaceSigner } from './methods/replaceSigner';\nimport { simulate as updateMultiSigParameters } from './methods/updateMultiSigParameters';\nimport { simulate as updateThreshold } from './methods/updateThreshold';\n\nexport {\n addSigner,\n initializeMultiSigDeleGator,\n reinitializeMultiSigDeleGator,\n removeSigner,\n replaceSigner,\n updateMultiSigParameters,\n updateThreshold,\n};\n","export const MAX_NUMBER_OF_SIGNERS = 30;\n","import * as read from './read';\n\nexport { read };\n","import { read as getSpentAmount } from './methods/getSpentAmount';\nimport { read as getTermsInfo } from './methods/getTermsInfo';\n\nexport { getSpentAmount, getTermsInfo };\n","import { NativeTokenTransferAmountEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetSpentAmountParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegationHash: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegationHash,\n}: ReadGetSpentAmountParameters): Promise<bigint> => {\n const amount = await readContract(client, {\n address: contractAddress,\n abi: NativeTokenTransferAmountEnforcer,\n functionName: 'spentMap',\n args: [delegationManager, delegationHash],\n });\n\n return amount;\n};\n","import { NativeTokenTransferAmountEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetTermsInfoParameters = {\n client: Client;\n contractAddress: Address;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n terms,\n}: ReadGetTermsInfoParameters): Promise<bigint> => {\n const allowance = await readContract(client, {\n address: contractAddress,\n abi: NativeTokenTransferAmountEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n return allowance;\n};\n","import * as encode from './encode';\nimport * as execute from './execute';\nimport * as read from './read';\nimport * as simulate from './simulate';\n\nexport { encode, execute, read, simulate };\n","import { encode as incrementNonce } from './methods/incrementNonce';\n\nexport { incrementNonce };\n","import { NonceEnforcer } from '@metamask/delegation-abis';\nimport type { Account, Address, Chain, Client, Transport } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nexport type SimulateIncrementNonceParameters = {\n client: Client<Transport, Chain, Account>;\n contractAddress: Address;\n delegationManager: Address;\n};\n\nexport const encode = (delegationManager: Address) => {\n return encodeFunctionData({\n abi: NonceEnforcer,\n functionName: 'incrementNonce',\n args: [delegationManager],\n });\n};\n\nexport const simulate = async ({\n client,\n contractAddress,\n delegationManager,\n}: SimulateIncrementNonceParameters) => {\n return simulateContract(client, {\n address: contractAddress,\n abi: NonceEnforcer,\n functionName: 'incrementNonce',\n args: [delegationManager],\n });\n};\n\nexport const execute = async ({\n client,\n contractAddress,\n delegationManager,\n}: SimulateIncrementNonceParameters) => {\n const { request } = await simulate({\n client,\n contractAddress,\n delegationManager,\n });\n return writeContract(client, request);\n};\n","import { execute as incrementNonce } from './methods/incrementNonce';\n\nexport { incrementNonce };\n","import { read as currentNonce } from './methods/currentNonce';\nimport { read as getTermsInfo } from './methods/getTermsInfo';\n\nexport { currentNonce, getTermsInfo };\n","import { NonceEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadCurrentNonceParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegator: Address;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegator,\n}: ReadCurrentNonceParameters): Promise<bigint> => {\n const nonce = await readContract(client, {\n address: contractAddress,\n abi: NonceEnforcer,\n functionName: 'currentNonce',\n args: [delegationManager, delegator],\n });\n\n return nonce;\n};\n","import { NonceEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetTermsInfoParameters = {\n client: Client;\n contractAddress: Address;\n terms: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n terms,\n}: ReadGetTermsInfoParameters): Promise<bigint> => {\n const nonce = await readContract(client, {\n address: contractAddress,\n abi: NonceEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n return nonce;\n};\n","import { simulate as incrementNonce } from './methods/incrementNonce';\n\nexport { incrementNonce };\n","export * as read from './read';\nexport * as execute from './execute';\nexport * as encode from './encode';\nexport * as simulate from './simulate';\n","import { read as getOwner } from './methods/getOwner';\nimport { read as getPendingOwner } from './methods/getPendingOwner';\n\nexport { getPendingOwner, getOwner };\n","import { Ownable2Step } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetOwnerParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n}: ReadGetOwnerParameters) =>\n await readContract(client, {\n address: contractAddress,\n abi: Ownable2Step,\n functionName: 'owner',\n });\n","import { Ownable2Step } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetPendingOwnerParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n}: ReadGetPendingOwnerParameters) =>\n await readContract(client, {\n address: contractAddress,\n abi: Ownable2Step,\n functionName: 'pendingOwner',\n });\n","import { execute as acceptOwnership } from './methods/acceptOwnership';\nimport { execute as renounceOwnership } from './methods/renounceOwnership';\nimport { execute as transferOwnership } from './methods/transferOwnership';\n\nexport { transferOwnership, renounceOwnership, acceptOwnership };\n","import { Ownable2Step } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { InitializedClient } from '../../types';\n\nexport type SimulateAcceptOwnershipParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport type ExecuteAcceptOwnershipParameters = {\n client: InitializedClient;\n contractAddress: Address;\n};\n\nexport const simulate = async ({\n client,\n contractAddress,\n}: SimulateAcceptOwnershipParameters) => {\n return simulateContract(client, {\n address: contractAddress,\n abi: Ownable2Step,\n functionName: 'acceptOwnership',\n });\n};\n\nexport const execute = async ({\n client,\n contractAddress,\n}: ExecuteAcceptOwnershipParameters) => {\n const { request } = await simulate({\n client,\n contractAddress,\n });\n return writeContract(client, request);\n};\n\nexport const encode = () => {\n return encodeFunctionData({\n abi: Ownable2Step,\n functionName: 'acceptOwnership',\n });\n};\n","import { Ownable2Step } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { InitializedClient } from '../../types';\n\nexport type SimulateRenounceOwnershipParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport type ExecuteRenounceOwnershipParameters = {\n client: InitializedClient;\n contractAddress: Address;\n};\n\nexport const simulate = async ({\n client,\n contractAddress,\n}: SimulateRenounceOwnershipParameters) => {\n return simulateContract(client, {\n address: contractAddress,\n abi: Ownable2Step,\n functionName: 'renounceOwnership',\n });\n};\n\nexport const execute = async ({\n client,\n contractAddress,\n}: ExecuteRenounceOwnershipParameters) => {\n const { request } = await simulate({\n client,\n contractAddress,\n });\n return writeContract(client, request);\n};\n\nexport const encode = () => {\n return encodeFunctionData({\n abi: Ownable2Step,\n functionName: 'renounceOwnership',\n });\n};\n","import { Ownable2Step } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { InitializedClient } from '../../types';\n\nexport type SimulateTransferOwnershipParameters = {\n client: Client;\n contractAddress: Address;\n account: Address;\n};\n\nexport type ExecuteTransferOwnershipParameters = {\n client: InitializedClient;\n contractAddress: Address;\n account: Address;\n};\n\nexport const simulate = async ({\n client,\n contractAddress,\n account,\n}: SimulateTransferOwnershipParameters) => {\n return simulateContract(client, {\n address: contractAddress,\n abi: Ownable2Step,\n functionName: 'transferOwnership',\n args: [account],\n });\n};\n\nexport const execute = async ({\n client,\n contractAddress,\n account,\n}: ExecuteTransferOwnershipParameters) => {\n const { request } = await simulate({\n client,\n contractAddress,\n account,\n });\n return writeContract(client, request);\n};\n\nexport const encode = (account: Address) => {\n return encodeFunctionData({\n abi: Ownable2Step,\n functionName: 'transferOwnership',\n args: [account],\n });\n};\n","import { encode as acceptOwnership } from './methods/acceptOwnership';\nimport { encode as renounceOwnership } from './methods/renounceOwnership';\nimport { encode as transferOwnership } from './methods/transferOwnership';\n\nexport { transferOwnership, renounceOwnership, acceptOwnership };\n","import { simulate as acceptOwnership } from './methods/acceptOwnership';\nimport { simulate as renounceOwnership } from './methods/renounceOwnership';\nimport { simulate as transferOwnership } from './methods/transferOwnership';\n\nexport { transferOwnership, renounceOwnership, acceptOwnership };\n","export * as read from './read';\nexport * as execute from './execute';\nexport * as encode from './encode';\nexport * as simulate from './simulate';\n","import { read as isPaused } from './methods/isPaused';\n\nexport { isPaused };\n","import { Pausable } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadIsPausedParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n}: ReadIsPausedParameters) =>\n await readContract(client, {\n address: contractAddress,\n abi: Pausable,\n functionName: 'paused',\n });\n","import { execute as pause } from './methods/pause';\nimport { execute as unpause } from './methods/unpause';\n\nexport { pause, unpause };\n","import type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { InitializedClient } from '../../types';\n\nconst PauseAbi = [\n {\n type: 'function',\n name: 'pause',\n inputs: [],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n];\n\nexport type SimulatePauseParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport type ExecutePauseParameters = {\n client: InitializedClient;\n contractAddress: Address;\n};\n\nexport const simulate = async ({\n client,\n contractAddress,\n}: SimulatePauseParameters) => {\n return simulateContract(client, {\n address: contractAddress,\n abi: PauseAbi,\n functionName: 'pause',\n });\n};\n\nexport const execute = async ({\n client,\n contractAddress,\n}: ExecutePauseParameters) => {\n const { request } = await simulate({\n client,\n contractAddress,\n });\n return writeContract(client, request);\n};\n\nexport const encode = () => {\n return encodeFunctionData({\n abi: PauseAbi,\n functionName: 'pause',\n });\n};\n","import type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { InitializedClient } from '../../types';\n\nconst UnpauseAbi = [\n {\n type: 'function',\n name: 'unpause',\n inputs: [],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n];\n\nexport type SimulateUnpauseParameters = {\n client: Client;\n contractAddress: Address;\n};\n\nexport type ExecuteUnpauseParameters = {\n client: InitializedClient;\n contractAddress: Address;\n};\n\nexport const simulate = async ({\n client,\n contractAddress,\n}: SimulateUnpauseParameters) => {\n return simulateContract(client, {\n address: contractAddress,\n abi: UnpauseAbi,\n functionName: 'unpause',\n });\n};\n\nexport const execute = async ({\n client,\n contractAddress,\n}: ExecuteUnpauseParameters) => {\n const { request } = await simulate({\n client,\n contractAddress,\n });\n return writeContract(client, request);\n};\n\nexport const encode = () => {\n return encodeFunctionData({\n abi: UnpauseAbi,\n functionName: 'unpause',\n });\n};\n","import { encode as pause } from './methods/pause';\nimport { encode as unpause } from './methods/unpause';\n\nexport { pause, unpause };\n","import { simulate as pause } from './methods/pause';\nimport { simulate as unpause } from './methods/unpause';\n\nexport { pause, unpause };\n","import * as encode from './encode';\nimport * as execute from './execute';\nimport * as read from './read';\nimport * as simulate from './simulate';\n\nexport { read, simulate, execute, encode };\n","import { execute as create2Deploy } from './methods/create2Deploy';\n\nexport { create2Deploy };\n","import { read as getCreate2Address } from './methods/getCreate2Address';\n\nexport { getCreate2Address };\n","import { SimpleFactory } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport const read = async (\n client: Client,\n factoryAddress: Address,\n creationCode: Hex,\n salt: Hex,\n) => {\n return readContract(client, {\n address: factoryAddress,\n abi: SimpleFactory,\n functionName: 'computeAddress',\n args: [creationCode, salt],\n });\n};\n","import { simulate as create2Deploy } from './methods/create2Deploy';\n\nexport { create2Deploy };\n","import * as read from './read';\n\nexport { read };\n","import { read as getTermsInfo } from './methods/getTermsInfo';\nimport { read as usedDelegations } from './methods/usedDelegations';\n\nexport { getTermsInfo, usedDelegations };\n","import { SpecificActionERC20TransferBatchEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetTermsInfoParameters = {\n client: Client;\n contractAddress: Address;\n terms: Hex;\n};\n\nexport type TermsData = {\n tokenAddress: Address;\n recipient: Address;\n amount: bigint;\n firstTarget: Address;\n firstCalldata: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n terms,\n}: ReadGetTermsInfoParameters): Promise<TermsData> => {\n const termsData = await readContract(client, {\n address: contractAddress,\n abi: SpecificActionERC20TransferBatchEnforcer,\n functionName: 'getTermsInfo',\n args: [terms],\n });\n\n return termsData as TermsData;\n};\n","import { SpecificActionERC20TransferBatchEnforcer } from '@metamask/delegation-abis';\nimport type { Address, Client, Hex } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadUsedDelegationsParameters = {\n client: Client;\n contractAddress: Address;\n delegationManager: Address;\n delegationHash: Hex;\n};\n\nexport const read = async ({\n client,\n contractAddress,\n delegationManager,\n delegationHash,\n}: ReadUsedDelegationsParameters): Promise<boolean> => {\n const isUsed = await readContract(client, {\n address: contractAddress,\n abi: SpecificActionERC20TransferBatchEnforcer,\n functionName: 'usedDelegations',\n args: [delegationManager, delegationHash],\n });\n\n return isUsed;\n};\n"]}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
SCL_RIP7212,
|
|
10
10
|
AllowedTargetsEnforcer,
|
|
11
11
|
AllowedMethodsEnforcer,
|
|
12
|
+
ApprovalRevocationEnforcer,
|
|
12
13
|
DeployedEnforcer,
|
|
13
14
|
TimestampEnforcer,
|
|
14
15
|
NonceEnforcer,
|
|
@@ -49,6 +50,7 @@ import {
|
|
|
49
50
|
SCL_RIP7212 as SCLRIP7212Bytecode,
|
|
50
51
|
AllowedTargetsEnforcer as AllowedTargetsEnforcerBytecode,
|
|
51
52
|
AllowedMethodsEnforcer as AllowedMethodsEnforcerBytecode,
|
|
53
|
+
ApprovalRevocationEnforcer as ApprovalRevocationEnforcerBytecode,
|
|
52
54
|
DeployedEnforcer as DeployedEnforcerBytecode,
|
|
53
55
|
TimestampEnforcer as TimestampEnforcerBytecode,
|
|
54
56
|
NonceEnforcer as NonceEnforcerBytecode,
|
|
@@ -141,6 +143,7 @@ function getSmartAccountsEnvironmentV1(contracts) {
|
|
|
141
143
|
AllowedCalldataEnforcer: contracts.AllowedCalldataEnforcer,
|
|
142
144
|
AllowedMethodsEnforcer: contracts.AllowedMethodsEnforcer,
|
|
143
145
|
AllowedTargetsEnforcer: contracts.AllowedTargetsEnforcer,
|
|
146
|
+
ApprovalRevocationEnforcer: contracts.ApprovalRevocationEnforcer,
|
|
144
147
|
ArgsEqualityCheckEnforcer: contracts.ArgsEqualityCheckEnforcer,
|
|
145
148
|
BlockNumberEnforcer: contracts.BlockNumberEnforcer,
|
|
146
149
|
DeployedEnforcer: contracts.DeployedEnforcer,
|
|
@@ -210,6 +213,10 @@ async function deploySmartAccountsEnvironment(walletClient, publicClient, chain,
|
|
|
210
213
|
abi: AllowedMethodsEnforcer,
|
|
211
214
|
bytecode: AllowedMethodsEnforcerBytecode
|
|
212
215
|
},
|
|
216
|
+
ApprovalRevocationEnforcer: {
|
|
217
|
+
abi: ApprovalRevocationEnforcer,
|
|
218
|
+
bytecode: ApprovalRevocationEnforcerBytecode
|
|
219
|
+
},
|
|
213
220
|
ArgsEqualityCheckEnforcer: {
|
|
214
221
|
abi: ArgsEqualityCheckEnforcer,
|
|
215
222
|
bytecode: ArgsEqualityCheckEnforcerBytecode
|
|
@@ -447,4 +454,4 @@ export {
|
|
|
447
454
|
prepareSignUserOperationTypedData,
|
|
448
455
|
signUserOperation
|
|
449
456
|
};
|
|
450
|
-
//# sourceMappingURL=chunk-
|
|
457
|
+
//# sourceMappingURL=chunk-GMGJRC3D.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/smartAccountsEnvironment.ts","../src/write.ts","../src/userOp.ts"],"sourcesContent":["import {\n EntryPoint,\n SimpleFactory,\n DelegationManager,\n MultiSigDeleGator,\n HybridDeleGator,\n EIP7702StatelessDeleGator,\n SCL_RIP7212,\n AllowedTargetsEnforcer,\n AllowedMethodsEnforcer,\n ApprovalRevocationEnforcer,\n DeployedEnforcer,\n TimestampEnforcer,\n NonceEnforcer,\n AllowedCalldataEnforcer,\n BlockNumberEnforcer,\n LimitedCallsEnforcer,\n ERC20BalanceChangeEnforcer,\n ERC20StreamingEnforcer,\n IdEnforcer,\n ERC20TransferAmountEnforcer,\n ValueLteEnforcer,\n NativeTokenTransferAmountEnforcer,\n NativeBalanceChangeEnforcer,\n NativeTokenStreamingEnforcer,\n NativeTokenPaymentEnforcer,\n RedeemerEnforcer,\n ArgsEqualityCheckEnforcer,\n ERC721BalanceChangeEnforcer,\n ERC721TransferEnforcer,\n ERC1155BalanceChangeEnforcer,\n OwnershipTransferEnforcer,\n SpecificActionERC20TransferBatchEnforcer,\n ERC20PeriodTransferEnforcer,\n NativeTokenPeriodTransferEnforcer,\n ExactCalldataBatchEnforcer,\n ExactCalldataEnforcer,\n ExactExecutionEnforcer,\n ExactExecutionBatchEnforcer,\n MultiTokenPeriodEnforcer,\n} from '@metamask/delegation-abis';\nimport {\n EntryPoint as EntryPointBytecode,\n SimpleFactory as SimpleFactoryBytecode,\n DelegationManager as DelegationManagerBytecode,\n MultiSigDeleGator as MultiSigDeleGatorBytecode,\n HybridDeleGator as HybridDeleGatorBytecode,\n EIP7702StatelessDeleGator as EIP7702StatelessDeleGatorBytecode,\n SCL_RIP7212 as SCLRIP7212Bytecode,\n AllowedTargetsEnforcer as AllowedTargetsEnforcerBytecode,\n AllowedMethodsEnforcer as AllowedMethodsEnforcerBytecode,\n ApprovalRevocationEnforcer as ApprovalRevocationEnforcerBytecode,\n DeployedEnforcer as DeployedEnforcerBytecode,\n TimestampEnforcer as TimestampEnforcerBytecode,\n NonceEnforcer as NonceEnforcerBytecode,\n AllowedCalldataEnforcer as AllowedCalldataEnforcerBytecode,\n BlockNumberEnforcer as BlockNumberEnforcerBytecode,\n LimitedCallsEnforcer as LimitedCallsEnforcerBytecode,\n ERC20BalanceChangeEnforcer as ERC20BalanceChangeEnforcerBytecode,\n ERC20StreamingEnforcer as ERC20StreamingEnforcerBytecode,\n IdEnforcer as IdEnforcerBytecode,\n ERC20TransferAmountEnforcer as ERC20TransferAmountEnforcerBytecode,\n ValueLteEnforcer as ValueLteEnforcerBytecode,\n NativeTokenTransferAmountEnforcer as NativeTokenTransferAmountEnforcerBytecode,\n NativeBalanceChangeEnforcer as NativeBalanceChangeEnforcerBytecode,\n NativeTokenStreamingEnforcer as NativeTokenStreamingEnforcerBytecode,\n NativeTokenPaymentEnforcer as NativeTokenPaymentEnforcerBytecode,\n RedeemerEnforcer as RedeemerEnforcerBytecode,\n ArgsEqualityCheckEnforcer as ArgsEqualityCheckEnforcerBytecode,\n ERC721BalanceChangeEnforcer as ERC721BalanceChangeEnforcerBytecode,\n ERC721TransferEnforcer as ERC721TransferEnforcerBytecode,\n ERC1155BalanceChangeEnforcer as ERC1155BalanceChangeEnforcerBytecode,\n OwnershipTransferEnforcer as OwnershipTransferEnforcerBytecode,\n SpecificActionERC20TransferBatchEnforcer as SpecificActionERC20TransferBatchEnforcerBytecode,\n ERC20PeriodTransferEnforcer as ERC20PeriodTransferEnforcerBytecode,\n NativeTokenPeriodTransferEnforcer as NativeTokenPeriodTransferEnforcerBytecode,\n ExactCalldataBatchEnforcer as ExactCalldataBatchEnforcerBytecode,\n ExactCalldataEnforcer as ExactCalldataEnforcerBytecode,\n ExactExecutionEnforcer as ExactExecutionEnforcerBytecode,\n ExactExecutionBatchEnforcer as ExactExecutionBatchEnforcerBytecode,\n MultiTokenPeriodEnforcer as MultiTokenPeriodEnforcerBytecode,\n} from '@metamask/delegation-abis/bytecode';\nimport { DELEGATOR_CONTRACTS } from '@metamask/delegation-deployments';\nimport type { Chain, Hex, PublicClient, WalletClient } from 'viem';\n\nimport type { ContractMetaData, SmartAccountsEnvironment } from './types';\nimport { deployContract } from './write';\n\ntype SupportedVersion = '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0';\nexport const PREFERRED_VERSION: SupportedVersion = '1.3.0';\n\nconst contractOverrideMap: Map<string, SmartAccountsEnvironment> = new Map();\n\nconst getContractOverrideKey = (chainId: number, version: SupportedVersion) =>\n `${version}:${chainId}`;\n\n/**\n * Overrides the default environment for a specific chain and version.\n *\n * @param chainId - The chain ID to override.\n * @param version - The version of the environment to override.\n * @param environment - The environment to use as override.\n */\nexport function overrideDeployedEnvironment(\n chainId: number,\n version: SupportedVersion,\n environment: SmartAccountsEnvironment,\n) {\n contractOverrideMap.set(\n getContractOverrideKey(chainId, version),\n environment,\n );\n}\n\n/**\n * Gets the SmartAccountsEnvironment for the specified chain and version.\n *\n * @param chainId - The chain ID to get the environment for.\n * @param version - The version of the environment to get.\n * @returns The SmartAccountsEnvironment.\n */\nexport function getSmartAccountsEnvironment(\n chainId: number,\n version: SupportedVersion = PREFERRED_VERSION,\n): SmartAccountsEnvironment {\n const overrideKey = getContractOverrideKey(chainId, version);\n\n const overriddenContracts = contractOverrideMap.get(overrideKey);\n if (overriddenContracts) {\n return overriddenContracts;\n }\n\n const contracts = DELEGATOR_CONTRACTS[version]?.[chainId];\n if (!contracts) {\n throw new Error(\n `No contracts found for version ${version} chain ${chainId}`,\n );\n }\n return getSmartAccountsEnvironmentV1(contracts);\n}\n\n/**\n * Creates a SmartAccountsEnvironment from contract addresses.\n *\n * @param contracts - The contract addresses to create the environment from.\n * @returns The created SmartAccountsEnvironment.\n */\nexport function getSmartAccountsEnvironmentV1(contracts: {\n [contract: string]: Hex;\n}) {\n return {\n DelegationManager: contracts.DelegationManager,\n EntryPoint: contracts.EntryPoint,\n SimpleFactory: contracts.SimpleFactory,\n implementations: {\n MultiSigDeleGatorImpl: contracts.MultiSigDeleGatorImpl,\n HybridDeleGatorImpl: contracts.HybridDeleGatorImpl,\n EIP7702StatelessDeleGatorImpl: contracts.EIP7702StatelessDeleGatorImpl,\n },\n caveatEnforcers: {\n AllowedCalldataEnforcer: contracts.AllowedCalldataEnforcer,\n AllowedMethodsEnforcer: contracts.AllowedMethodsEnforcer,\n AllowedTargetsEnforcer: contracts.AllowedTargetsEnforcer,\n ApprovalRevocationEnforcer: contracts.ApprovalRevocationEnforcer,\n ArgsEqualityCheckEnforcer: contracts.ArgsEqualityCheckEnforcer,\n BlockNumberEnforcer: contracts.BlockNumberEnforcer,\n DeployedEnforcer: contracts.DeployedEnforcer,\n ERC20BalanceChangeEnforcer: contracts.ERC20BalanceChangeEnforcer,\n ERC20TransferAmountEnforcer: contracts.ERC20TransferAmountEnforcer,\n ERC20StreamingEnforcer: contracts.ERC20StreamingEnforcer,\n ERC721BalanceChangeEnforcer: contracts.ERC721BalanceChangeEnforcer,\n ERC721TransferEnforcer: contracts.ERC721TransferEnforcer,\n ERC1155BalanceChangeEnforcer: contracts.ERC1155BalanceChangeEnforcer,\n IdEnforcer: contracts.IdEnforcer,\n LimitedCallsEnforcer: contracts.LimitedCallsEnforcer,\n NonceEnforcer: contracts.NonceEnforcer,\n TimestampEnforcer: contracts.TimestampEnforcer,\n ValueLteEnforcer: contracts.ValueLteEnforcer,\n NativeTokenTransferAmountEnforcer:\n contracts.NativeTokenTransferAmountEnforcer,\n NativeBalanceChangeEnforcer: contracts.NativeBalanceChangeEnforcer,\n NativeTokenStreamingEnforcer: contracts.NativeTokenStreamingEnforcer,\n NativeTokenPaymentEnforcer: contracts.NativeTokenPaymentEnforcer,\n OwnershipTransferEnforcer: contracts.OwnershipTransferEnforcer,\n RedeemerEnforcer: contracts.RedeemerEnforcer,\n SpecificActionERC20TransferBatchEnforcer:\n contracts.SpecificActionERC20TransferBatchEnforcer,\n ERC20PeriodTransferEnforcer: contracts.ERC20PeriodTransferEnforcer,\n NativeTokenPeriodTransferEnforcer:\n contracts.NativeTokenPeriodTransferEnforcer,\n ExactCalldataBatchEnforcer: contracts.ExactCalldataBatchEnforcer,\n ExactCalldataEnforcer: contracts.ExactCalldataEnforcer,\n ExactExecutionEnforcer: contracts.ExactExecutionEnforcer,\n ExactExecutionBatchEnforcer: contracts.ExactExecutionBatchEnforcer,\n MultiTokenPeriodEnforcer: contracts.MultiTokenPeriodEnforcer,\n },\n } as SmartAccountsEnvironment;\n}\n\nexport type DeployedContract = {\n name: string;\n address: string;\n};\n\n/**\n * Deploys the contracts needed for the Delegation Framework and MetaMask SCA to be functional as well as all Caveat Enforcers.\n *\n * @param walletClient - The wallet client to use for deployment.\n * @param publicClient - The public client to use for deployment.\n * @param chain - The chain to deploy to.\n * @param deployedContracts - Optional map of already deployed contracts.\n * @returns A promise that resolves to the SmartAccountsEnvironment.\n */\nexport async function deploySmartAccountsEnvironment(\n walletClient: WalletClient,\n publicClient: PublicClient,\n chain: Chain,\n deployedContracts: { [contract: string]: Hex } = {},\n) {\n const deployContractCurried = async (\n name: string,\n contract: ContractMetaData,\n params: any[] = [],\n ) => {\n const existingAddress = deployedContracts[name];\n if (existingAddress) {\n return {\n address: existingAddress,\n name,\n };\n }\n\n const deployedContract = await deployContract(\n walletClient,\n publicClient,\n chain,\n contract,\n params,\n );\n\n const newDeployedContracts = { ...deployedContracts };\n newDeployedContracts[name] = deployedContract.address;\n Object.assign(deployedContracts, newDeployedContracts);\n\n return { ...deployedContract, name };\n };\n\n // Deploy v1.3.0 DeleGator contracts\n // - deploy standalone contracts\n const standaloneContracts = {\n SimpleFactory: {\n abi: SimpleFactory,\n bytecode: SimpleFactoryBytecode,\n },\n AllowedCalldataEnforcer: {\n abi: AllowedCalldataEnforcer,\n bytecode: AllowedCalldataEnforcerBytecode,\n },\n AllowedTargetsEnforcer: {\n abi: AllowedTargetsEnforcer,\n bytecode: AllowedTargetsEnforcerBytecode,\n },\n AllowedMethodsEnforcer: {\n abi: AllowedMethodsEnforcer,\n bytecode: AllowedMethodsEnforcerBytecode,\n },\n ApprovalRevocationEnforcer: {\n abi: ApprovalRevocationEnforcer,\n bytecode: ApprovalRevocationEnforcerBytecode,\n },\n ArgsEqualityCheckEnforcer: {\n abi: ArgsEqualityCheckEnforcer,\n bytecode: ArgsEqualityCheckEnforcerBytecode,\n },\n DeployedEnforcer: {\n abi: DeployedEnforcer,\n bytecode: DeployedEnforcerBytecode,\n },\n TimestampEnforcer: {\n abi: TimestampEnforcer,\n bytecode: TimestampEnforcerBytecode,\n },\n BlockNumberEnforcer: {\n abi: BlockNumberEnforcer,\n bytecode: BlockNumberEnforcerBytecode,\n },\n LimitedCallsEnforcer: {\n abi: LimitedCallsEnforcer,\n bytecode: LimitedCallsEnforcerBytecode,\n },\n ERC20BalanceChangeEnforcer: {\n abi: ERC20BalanceChangeEnforcer,\n bytecode: ERC20BalanceChangeEnforcerBytecode,\n },\n ERC20TransferAmountEnforcer: {\n abi: ERC20TransferAmountEnforcer,\n bytecode: ERC20TransferAmountEnforcerBytecode,\n },\n ERC20StreamingEnforcer: {\n abi: ERC20StreamingEnforcer,\n bytecode: ERC20StreamingEnforcerBytecode,\n },\n ERC721BalanceChangeEnforcer: {\n abi: ERC721BalanceChangeEnforcer,\n bytecode: ERC721BalanceChangeEnforcerBytecode,\n },\n ERC721TransferEnforcer: {\n abi: ERC721TransferEnforcer,\n bytecode: ERC721TransferEnforcerBytecode,\n },\n ERC1155BalanceChangeEnforcer: {\n abi: ERC1155BalanceChangeEnforcer,\n bytecode: ERC1155BalanceChangeEnforcerBytecode,\n },\n IdEnforcer: { abi: IdEnforcer, bytecode: IdEnforcerBytecode },\n NonceEnforcer: {\n abi: NonceEnforcer,\n bytecode: NonceEnforcerBytecode,\n },\n ValueLteEnforcer: {\n abi: ValueLteEnforcer,\n bytecode: ValueLteEnforcerBytecode,\n },\n NativeTokenTransferAmountEnforcer: {\n abi: NativeTokenTransferAmountEnforcer,\n bytecode: NativeTokenTransferAmountEnforcerBytecode,\n },\n NativeBalanceChangeEnforcer: {\n abi: NativeBalanceChangeEnforcer,\n bytecode: NativeBalanceChangeEnforcerBytecode,\n },\n NativeTokenStreamingEnforcer: {\n abi: NativeTokenStreamingEnforcer,\n bytecode: NativeTokenStreamingEnforcerBytecode,\n },\n OwnershipTransferEnforcer: {\n abi: OwnershipTransferEnforcer,\n bytecode: OwnershipTransferEnforcerBytecode,\n },\n RedeemerEnforcer: {\n abi: RedeemerEnforcer,\n bytecode: RedeemerEnforcerBytecode,\n },\n SpecificActionERC20TransferBatchEnforcer: {\n abi: SpecificActionERC20TransferBatchEnforcer,\n bytecode: SpecificActionERC20TransferBatchEnforcerBytecode,\n },\n ERC20PeriodTransferEnforcer: {\n abi: ERC20PeriodTransferEnforcer,\n bytecode: ERC20PeriodTransferEnforcerBytecode,\n },\n NativeTokenPeriodTransferEnforcer: {\n abi: NativeTokenPeriodTransferEnforcer,\n bytecode: NativeTokenPeriodTransferEnforcerBytecode,\n },\n ExactCalldataBatchEnforcer: {\n abi: ExactCalldataBatchEnforcer,\n bytecode: ExactCalldataBatchEnforcerBytecode,\n },\n ExactCalldataEnforcer: {\n abi: ExactCalldataEnforcer,\n bytecode: ExactCalldataEnforcerBytecode,\n },\n ExactExecutionEnforcer: {\n abi: ExactExecutionEnforcer,\n bytecode: ExactExecutionEnforcerBytecode,\n },\n ExactExecutionBatchEnforcer: {\n abi: ExactExecutionBatchEnforcer,\n bytecode: ExactExecutionBatchEnforcerBytecode,\n },\n MultiTokenPeriodEnforcer: {\n abi: MultiTokenPeriodEnforcer,\n bytecode: MultiTokenPeriodEnforcerBytecode,\n },\n };\n for (const [name, contract] of Object.entries(standaloneContracts)) {\n await deployContractCurried(name, contract);\n }\n\n // - deploy dependencies\n const delegationManager = await deployContractCurried(\n 'DelegationManager',\n { abi: DelegationManager, bytecode: DelegationManagerBytecode },\n [walletClient.account?.address],\n );\n\n // - NativeTokenPaymentEnforcer DelegationManager and ArgsEqualityCheckEnforcer as constructor args\n await deployContractCurried(\n 'NativeTokenPaymentEnforcer',\n {\n abi: NativeTokenPaymentEnforcer,\n bytecode: NativeTokenPaymentEnforcerBytecode,\n },\n [delegationManager.address, deployedContracts.ArgsEqualityCheckEnforcer],\n );\n\n const entryPoint = await deployContractCurried('EntryPoint', {\n abi: EntryPoint,\n bytecode: EntryPointBytecode,\n });\n\n // This is a hack to work around the SCL_RIP7212 being deployed as a library.\n // Forge handles this gracefully, but in the tests we need to manually link\n // the library.\n // We don't use the curried function here because we don't need it added to\n // the environment.\n const { address: sclRIP7212 } = await deployContract(\n walletClient,\n publicClient,\n chain,\n { abi: SCL_RIP7212, bytecode: SCLRIP7212Bytecode },\n [],\n );\n\n // replace linked library address in bytecode https://docs.soliditylang.org/en/latest/using-the-compiler.html#library-linking\n const hybridDeleGatorWithLinkedLibrary = {\n abi: HybridDeleGator,\n bytecode: HybridDeleGatorBytecode.replace(\n /__\\$b8f96b288d4d0429e38b8ed50fd423070f\\$__/gu,\n sclRIP7212.slice(2),\n ) as Hex,\n };\n\n // - deploy DeleGator implementations\n await deployContractCurried(\n 'HybridDeleGatorImpl',\n hybridDeleGatorWithLinkedLibrary,\n [delegationManager.address, entryPoint.address],\n );\n\n await deployContractCurried(\n 'MultiSigDeleGatorImpl',\n {\n abi: MultiSigDeleGator,\n bytecode: MultiSigDeleGatorBytecode,\n },\n [delegationManager.address, entryPoint.address],\n );\n\n await deployContractCurried(\n 'EIP7702StatelessDeleGatorImpl',\n {\n abi: EIP7702StatelessDeleGator,\n bytecode: EIP7702StatelessDeleGatorBytecode,\n },\n [delegationManager.address, entryPoint.address],\n );\n\n // Format deployments\n return getSmartAccountsEnvironmentV1(deployedContracts);\n}\n","import { SimpleFactory } from '@metamask/delegation-abis';\nimport type { Address, Chain, Hex, PublicClient, WalletClient } from 'viem';\n\nimport type { ContractMetaData } from './types';\n\n/**\n * Deploys a contract using the SimpleFactory contract.\n *\n * @param walletClient - The wallet client to use for deployment.\n * @param publicClient - The public client to use for simulation.\n * @param simpleFactoryAddress - The address of the SimpleFactory contract.\n * @param creationCode - The creation code for the contract to deploy.\n * @param salt - The salt to use for deterministic deployment.\n * @returns The transaction hash of the deployment.\n */\nexport const deployWithSimpleFactory = async (\n walletClient: WalletClient,\n publicClient: PublicClient,\n simpleFactoryAddress: Address,\n creationCode: Hex,\n salt: Hex,\n) => {\n const { request } = await publicClient.simulateContract({\n account: walletClient.account,\n address: simpleFactoryAddress,\n abi: SimpleFactory,\n functionName: 'deploy',\n args: [creationCode, salt],\n });\n return await walletClient.writeContract(request);\n};\n\n/**\n * Deploys a contract to the blockchain.\n *\n * @param walletClient - The wallet client to use for deployment.\n * @param publicClient - The public client to use for transaction receipt.\n * @param chain - The chain to deploy on.\n * @param contractMetadata - The metadata of the contract to deploy.\n * @param contractMetadata.bytecode - The bytecode of the contract to deploy.\n * @param contractMetadata.abi - The ABI of the contract to deploy.\n * @param args - The constructor arguments for the contract.\n * @returns An object containing the deployed contract address, transaction hash, and receipt.\n */\nexport async function deployContract(\n walletClient: WalletClient,\n publicClient: PublicClient,\n chain: Chain,\n { bytecode, abi }: ContractMetaData,\n args: any[] = [],\n) {\n if (!walletClient.account) {\n throw new Error('Wallet client account is required');\n }\n\n const hash = await walletClient.deployContract({\n abi,\n bytecode,\n args,\n account: walletClient.account,\n chain,\n });\n\n const receipt = await publicClient.waitForTransactionReceipt({\n hash,\n });\n\n if (!receipt.contractAddress) {\n throw new Error('No contract address in receipt');\n }\n\n return { address: receipt.contractAddress, hash, receipt };\n}\n","import { concat, encodeAbiParameters, keccak256, pad, toHex } from 'viem';\nimport type { Address, Hex, TypedData } from 'viem';\nimport { toPackedUserOperation } from 'viem/account-abstraction';\nimport { signTypedData } from 'viem/accounts';\n\nimport type { OptionalUserOpProps, PackedUserOperationStruct } from './types';\n\n// v7 off-chain user operation, hexlified incoming data from rpc call\nexport type UserOperationV07Hexlify = {\n sender: Hex;\n nonce: Hex;\n factory?: Hex;\n factoryData?: Hex;\n callData: Hex;\n callGasLimit: Hex;\n\n verificationGasLimit: Hex;\n preVerificationGas: Hex;\n maxFeePerGas: Hex;\n maxPriorityFeePerGas: Hex;\n\n paymaster?: Hex;\n paymasterVerificationGasLimit?: Hex;\n paymasterPostOpGasLimit?: Hex;\n paymasterData?: Hex;\n\n signature: Hex;\n};\n\n// v7 off-chain user operation with BigInt fields\nexport type UserOperationV07 = {\n sender: Hex;\n nonce: bigint;\n factory?: Hex;\n factoryData?: Hex;\n callData: Hex;\n\n callGasLimit: bigint;\n verificationGasLimit: bigint;\n preVerificationGas: bigint;\n maxFeePerGas: bigint;\n maxPriorityFeePerGas: bigint;\n\n paymaster?: Hex;\n paymasterVerificationGasLimit?: bigint;\n paymasterPostOpGasLimit?: bigint;\n paymasterData?: Hex;\n\n signature: Hex;\n};\n\n/**\n * Creates a raw user operation data structure.\n *\n * @param sender - The smart account taking some action.\n * @param nonce - A nonce, ideally fetched from the Entry Point.\n * @param callData - Calldata to invoke on some contract.\n * @param signature - The signature for the user operation.\n * @param options - Optional properties for the user operation.\n * @returns The created raw user operation data structure.\n */\nexport const createRawUserOp = (\n sender: Hex,\n nonce: bigint,\n callData: Hex,\n signature: Hex = '0x',\n options?: OptionalUserOpProps,\n): UserOperationV07 => ({\n sender,\n nonce,\n callData,\n factory: options?.factory,\n factoryData: options?.factoryData,\n callGasLimit: options?.callGasLimit ?? 0n,\n verificationGasLimit: options?.verificationGasLimit ?? 0n,\n preVerificationGas: options?.preVerificationGas ?? 0n,\n maxFeePerGas: options?.maxFeePerGas ?? 0n,\n maxPriorityFeePerGas: options?.maxPriorityFeePerGas ?? 0n,\n paymaster: options?.paymaster,\n paymasterVerificationGasLimit: options?.paymasterVerificationGasLimit,\n paymasterPostOpGasLimit: options?.paymasterPostOpGasLimit,\n paymasterData: options?.paymasterData,\n signature,\n});\n\n// //////////////////////////////////////////////////////////////////////////////////////\n\n// TODO: These userOp functions are duplicated in ./apps/ew-client/src/utils/userOpBuilder.ts. We should move them to a shared location along with test(./apps/ew-client/test/UserOpBuilder.test.ts) to avoid duplication\n/**\n * Generates a salt value for address derivation.\n *\n * @param salt - Optional salt value.\n * @returns The chosen salt value.\n */\nexport const getSalt = (salt?: Hex): Hex => {\n return salt ?? '0x0';\n};\n\nexport const getPaymasterAndData = (userOp: UserOperationV07): Hex => {\n let paymasterAndData: Hex;\n if (userOp.paymaster) {\n paymasterAndData = concat([\n userOp.paymaster,\n pad(toHex(userOp.paymasterVerificationGasLimit ?? 0n), {\n size: 16,\n }),\n pad(toHex(userOp.paymasterPostOpGasLimit ?? 0n), {\n size: 16,\n }),\n userOp.paymasterData ?? '0x',\n ]);\n } else {\n paymasterAndData = '0x';\n }\n\n return paymasterAndData;\n};\n\nexport const getInitCode = (userOp: UserOperationV07): Hex => {\n return userOp.factory\n ? concat([userOp.factory, userOp.factoryData ?? ('0x' as Hex)])\n : '0x';\n};\n\nexport const getAccountGasLimits = (userOp: UserOperationV07): Hex => {\n return concat([\n pad(toHex(userOp.verificationGasLimit), {\n size: 16,\n }),\n pad(toHex(userOp.callGasLimit), { size: 16 }),\n ]);\n};\n\nexport const getGasFees = (userOp: UserOperationV07): Hex => {\n return concat([\n pad(toHex(userOp.maxPriorityFeePerGas), {\n size: 16,\n }),\n pad(toHex(userOp.maxFeePerGas), { size: 16 }),\n ]);\n};\n\n/**\n * Packs a user operation into a `PackedUserOperationStruct` object.\n *\n * @param userOp - The user operation to pack.\n * @returns The packed user operation.\n */\nexport const packUserOp = (\n userOp: UserOperationV07,\n): PackedUserOperationStruct => {\n const packedOp = {\n sender: userOp.sender,\n nonce: BigInt(userOp.nonce),\n initCode: getInitCode(userOp),\n callData: userOp.callData,\n accountGasLimits: getAccountGasLimits(userOp),\n preVerificationGas: BigInt(userOp.preVerificationGas),\n gasFees: getGasFees(userOp),\n paymasterAndData: getPaymasterAndData(userOp),\n signature: userOp.signature,\n };\n\n return packedOp;\n};\n\n/**\n * Calculates the user operation hash for a given packed user operation.\n *\n * @param packedOp - The packed user operation.\n * @param entryPoint - The entry point address.\n * @param chainId - The chain ID.\n * @returns The user operation hash.\n */\nexport const createUserOpHashV07 = (\n packedOp: PackedUserOperationStruct,\n entryPoint: Hex,\n chainId: bigint,\n) => {\n const hash = keccak256(\n encodeAbiParameters(\n [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'nonce',\n type: 'uint256',\n },\n {\n name: 'initCodeHash',\n type: 'bytes32',\n },\n {\n name: 'callDataHash',\n type: 'bytes32',\n },\n {\n name: 'accountGasLimits',\n type: 'bytes32',\n },\n {\n name: 'preVerificationGas',\n type: 'uint256',\n },\n {\n name: 'gasFees',\n type: 'bytes32',\n },\n {\n name: 'paymasterAndDataHash',\n type: 'bytes32',\n },\n ],\n [\n packedOp.sender,\n packedOp.nonce,\n keccak256(packedOp.initCode),\n keccak256(packedOp.callData),\n packedOp.accountGasLimits,\n packedOp.preVerificationGas,\n packedOp.gasFees,\n keccak256(packedOp.paymasterAndData),\n ],\n ),\n );\n\n return keccak256(\n encodeAbiParameters(\n [\n {\n name: 'userOpHash',\n type: 'bytes32',\n },\n {\n name: 'entryPointAddress',\n type: 'address',\n },\n {\n name: 'chainId',\n type: 'uint256',\n },\n ],\n [hash, entryPoint, chainId],\n ),\n );\n};\n\nexport const SIGNABLE_USER_OP_TYPED_DATA: TypedData = {\n PackedUserOperation: [\n { name: 'sender', type: 'address' },\n { name: 'nonce', type: 'uint256' },\n { name: 'initCode', type: 'bytes' },\n { name: 'callData', type: 'bytes' },\n { name: 'accountGasLimits', type: 'bytes32' },\n { name: 'preVerificationGas', type: 'uint256' },\n { name: 'gasFees', type: 'bytes32' },\n { name: 'paymasterAndData', type: 'bytes' },\n { name: 'entryPoint', type: 'address' },\n ],\n} as const;\n\n/**\n * Prepares typed data for user operation signing.\n * This is an internal helper function that's not exposed in the public API.\n *\n * @param params - The parameters for preparing the typed data.\n * @param params.userOperation - The user operation to prepare for signing.\n * @param params.entryPoint - The entry point contract address.\n * @param params.entryPoint.address - The address of the entry point contract.\n * @param params.chainId - The chain ID that the entry point is deployed on.\n * @param params.name - The name of the domain of the implementation contract.\n * @param params.version - The version of the domain of the implementation contract.\n * @param params.address - The address of the smart account.\n * @returns The prepared typed data for signing.\n */\nexport const prepareSignUserOperationTypedData = ({\n userOperation,\n entryPoint,\n chainId,\n name,\n address,\n version = '1',\n}: {\n userOperation: Omit<UserOperationV07, 'signature'>;\n entryPoint: { address: Address };\n chainId: number;\n name: 'HybridDeleGator' | 'MultiSigDeleGator';\n address: Address;\n version?: string;\n}) => {\n const packedUserOp = toPackedUserOperation({\n ...userOperation,\n signature: '0x',\n });\n\n return {\n domain: {\n chainId,\n name,\n version,\n verifyingContract: address,\n },\n types: SIGNABLE_USER_OP_TYPED_DATA,\n primaryType: 'PackedUserOperation' as const,\n message: { ...packedUserOp, entryPoint: entryPoint.address },\n };\n};\n\n/**\n * Signs a user operation using a private key.\n *\n * @param params - The parameters for signing the user operation.\n * @param params.privateKey - The private key to use for signing.\n * @param params.userOperation - The user operation to sign.\n * @param params.entryPoint - The entry point contract address.\n * @param params.chainId - The chain ID that the entry point is deployed on.\n * @param params.name - The name of the domain of the implementation contract.\n * @param params.version - The version of the domain of the implementation contract.\n * @param params.address - The address of the smart account.\n * @param params.entryPoint.address - The address of the entry point contract.\n * @returns The signature of the user operation.\n */\nexport const signUserOperation = async ({\n privateKey,\n userOperation,\n entryPoint,\n chainId,\n name,\n address,\n version = '1',\n}: {\n privateKey: Hex;\n userOperation: Omit<UserOperationV07, 'signature'>;\n entryPoint: { address: Address };\n chainId: number;\n address: Address;\n name: 'HybridDeleGator' | 'MultiSigDeleGator';\n version?: string;\n}) => {\n const typedData = prepareSignUserOperationTypedData({\n userOperation,\n entryPoint,\n chainId,\n name,\n address,\n version,\n });\n\n return signTypedData({\n privateKey,\n ...typedData,\n });\n};\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA,iBAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,6BAA6B;AAAA,EAC7B,eAAe;AAAA,EACf,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,8BAA8B;AAAA,EAC9B,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,2BAA2B;AAAA,EAC3B,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,8BAA8B;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,cAAc;AAAA,EACd,+BAA+B;AAAA,EAC/B,oBAAoB;AAAA,EACpB,qCAAqC;AAAA,EACrC,+BAA+B;AAAA,EAC/B,gCAAgC;AAAA,EAChC,8BAA8B;AAAA,EAC9B,oBAAoB;AAAA,EACpB,6BAA6B;AAAA,EAC7B,+BAA+B;AAAA,EAC/B,0BAA0B;AAAA,EAC1B,gCAAgC;AAAA,EAChC,6BAA6B;AAAA,EAC7B,4CAA4C;AAAA,EAC5C,+BAA+B;AAAA,EAC/B,qCAAqC;AAAA,EACrC,8BAA8B;AAAA,EAC9B,yBAAyB;AAAA,EACzB,0BAA0B;AAAA,EAC1B,+BAA+B;AAAA,EAC/B,4BAA4B;AAAA,OACvB;AACP,SAAS,2BAA2B;;;AClFpC,SAAS,qBAAqB;AA4C9B,eAAsB,eACpB,cACA,cACA,OACA,EAAE,UAAU,IAAI,GAChB,OAAc,CAAC,GACf;AACA,MAAI,CAAC,aAAa,SAAS;AACzB,UAAM,IAAI,MAAM,mCAAmC;AAAA,EACrD;AAEA,QAAM,OAAO,MAAM,aAAa,eAAe;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,aAAa;AAAA,IACtB;AAAA,EACF,CAAC;AAED,QAAM,UAAU,MAAM,aAAa,0BAA0B;AAAA,IAC3D;AAAA,EACF,CAAC;AAED,MAAI,CAAC,QAAQ,iBAAiB;AAC5B,UAAM,IAAI,MAAM,gCAAgC;AAAA,EAClD;AAEA,SAAO,EAAE,SAAS,QAAQ,iBAAiB,MAAM,QAAQ;AAC3D;;;ADiBO,IAAM,oBAAsC;AAEnD,IAAM,sBAA6D,oBAAI,IAAI;AAE3E,IAAM,yBAAyB,CAAC,SAAiB,YAC/C,GAAG,OAAO,IAAI,OAAO;AAShB,SAAS,4BACd,SACA,SACA,aACA;AACA,sBAAoB;AAAA,IAClB,uBAAuB,SAAS,OAAO;AAAA,IACvC;AAAA,EACF;AACF;AASO,SAAS,4BACd,SACA,UAA4B,mBACF;AAC1B,QAAM,cAAc,uBAAuB,SAAS,OAAO;AAE3D,QAAM,sBAAsB,oBAAoB,IAAI,WAAW;AAC/D,MAAI,qBAAqB;AACvB,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,oBAAoB,OAAO,IAAI,OAAO;AACxD,MAAI,CAAC,WAAW;AACd,UAAM,IAAI;AAAA,MACR,kCAAkC,OAAO,UAAU,OAAO;AAAA,IAC5D;AAAA,EACF;AACA,SAAO,8BAA8B,SAAS;AAChD;AAQO,SAAS,8BAA8B,WAE3C;AACD,SAAO;AAAA,IACL,mBAAmB,UAAU;AAAA,IAC7B,YAAY,UAAU;AAAA,IACtB,eAAe,UAAU;AAAA,IACzB,iBAAiB;AAAA,MACf,uBAAuB,UAAU;AAAA,MACjC,qBAAqB,UAAU;AAAA,MAC/B,+BAA+B,UAAU;AAAA,IAC3C;AAAA,IACA,iBAAiB;AAAA,MACf,yBAAyB,UAAU;AAAA,MACnC,wBAAwB,UAAU;AAAA,MAClC,wBAAwB,UAAU;AAAA,MAClC,4BAA4B,UAAU;AAAA,MACtC,2BAA2B,UAAU;AAAA,MACrC,qBAAqB,UAAU;AAAA,MAC/B,kBAAkB,UAAU;AAAA,MAC5B,4BAA4B,UAAU;AAAA,MACtC,6BAA6B,UAAU;AAAA,MACvC,wBAAwB,UAAU;AAAA,MAClC,6BAA6B,UAAU;AAAA,MACvC,wBAAwB,UAAU;AAAA,MAClC,8BAA8B,UAAU;AAAA,MACxC,YAAY,UAAU;AAAA,MACtB,sBAAsB,UAAU;AAAA,MAChC,eAAe,UAAU;AAAA,MACzB,mBAAmB,UAAU;AAAA,MAC7B,kBAAkB,UAAU;AAAA,MAC5B,mCACE,UAAU;AAAA,MACZ,6BAA6B,UAAU;AAAA,MACvC,8BAA8B,UAAU;AAAA,MACxC,4BAA4B,UAAU;AAAA,MACtC,2BAA2B,UAAU;AAAA,MACrC,kBAAkB,UAAU;AAAA,MAC5B,0CACE,UAAU;AAAA,MACZ,6BAA6B,UAAU;AAAA,MACvC,mCACE,UAAU;AAAA,MACZ,4BAA4B,UAAU;AAAA,MACtC,uBAAuB,UAAU;AAAA,MACjC,wBAAwB,UAAU;AAAA,MAClC,6BAA6B,UAAU;AAAA,MACvC,0BAA0B,UAAU;AAAA,IACtC;AAAA,EACF;AACF;AAgBA,eAAsB,+BACpB,cACA,cACA,OACA,oBAAiD,CAAC,GAClD;AACA,QAAM,wBAAwB,OAC5B,MACA,UACA,SAAgB,CAAC,MACd;AACH,UAAM,kBAAkB,kBAAkB,IAAI;AAC9C,QAAI,iBAAiB;AACnB,aAAO;AAAA,QACL,SAAS;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAEA,UAAM,mBAAmB,MAAM;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,uBAAuB,EAAE,GAAG,kBAAkB;AACpD,yBAAqB,IAAI,IAAI,iBAAiB;AAC9C,WAAO,OAAO,mBAAmB,oBAAoB;AAErD,WAAO,EAAE,GAAG,kBAAkB,KAAK;AAAA,EACrC;AAIA,QAAM,sBAAsB;AAAA,IAC1B,eAAe;AAAA,MACb,KAAKC;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,yBAAyB;AAAA,MACvB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,wBAAwB;AAAA,MACtB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,wBAAwB;AAAA,MACtB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,4BAA4B;AAAA,MAC1B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,2BAA2B;AAAA,MACzB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,kBAAkB;AAAA,MAChB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,mBAAmB;AAAA,MACjB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,qBAAqB;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,sBAAsB;AAAA,MACpB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,4BAA4B;AAAA,MAC1B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,6BAA6B;AAAA,MAC3B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,wBAAwB;AAAA,MACtB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,6BAA6B;AAAA,MAC3B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,wBAAwB;AAAA,MACtB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,8BAA8B;AAAA,MAC5B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,YAAY,EAAE,KAAK,YAAY,UAAU,mBAAmB;AAAA,IAC5D,eAAe;AAAA,MACb,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,kBAAkB;AAAA,MAChB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,mCAAmC;AAAA,MACjC,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,6BAA6B;AAAA,MAC3B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,8BAA8B;AAAA,MAC5B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,2BAA2B;AAAA,MACzB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,kBAAkB;AAAA,MAChB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,0CAA0C;AAAA,MACxC,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,6BAA6B;AAAA,MAC3B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,mCAAmC;AAAA,MACjC,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,4BAA4B;AAAA,MAC1B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,uBAAuB;AAAA,MACrB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,wBAAwB;AAAA,MACtB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,6BAA6B;AAAA,MAC3B,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,0BAA0B;AAAA,MACxB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,EACF;AACA,aAAW,CAAC,MAAM,QAAQ,KAAK,OAAO,QAAQ,mBAAmB,GAAG;AAClE,UAAM,sBAAsB,MAAM,QAAQ;AAAA,EAC5C;AAGA,QAAM,oBAAoB,MAAM;AAAA,IAC9B;AAAA,IACA,EAAE,KAAK,mBAAmB,UAAU,0BAA0B;AAAA,IAC9D,CAAC,aAAa,SAAS,OAAO;AAAA,EAChC;AAGA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,CAAC,kBAAkB,SAAS,kBAAkB,yBAAyB;AAAA,EACzE;AAEA,QAAM,aAAa,MAAM,sBAAsB,cAAc;AAAA,IAC3D,KAAK;AAAA,IACL,UAAU;AAAA,EACZ,CAAC;AAOD,QAAM,EAAE,SAAS,WAAW,IAAI,MAAM;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAE,KAAK,aAAa,UAAU,mBAAmB;AAAA,IACjD,CAAC;AAAA,EACH;AAGA,QAAM,mCAAmC;AAAA,IACvC,KAAK;AAAA,IACL,UAAU,wBAAwB;AAAA,MAChC;AAAA,MACA,WAAW,MAAM,CAAC;AAAA,IACpB;AAAA,EACF;AAGA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,CAAC,kBAAkB,SAAS,WAAW,OAAO;AAAA,EAChD;AAEA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,CAAC,kBAAkB,SAAS,WAAW,OAAO;AAAA,EAChD;AAEA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,MACE,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,CAAC,kBAAkB,SAAS,WAAW,OAAO;AAAA,EAChD;AAGA,SAAO,8BAA8B,iBAAiB;AACxD;;;AEncA,SAAS,QAAQ,qBAAqB,WAAW,KAAK,aAAa;AAEnE,SAAS,6BAA6B;AACtC,SAAS,qBAAqB;AAsPvB,IAAM,8BAAyC;AAAA,EACpD,qBAAqB;AAAA,IACnB,EAAE,MAAM,UAAU,MAAM,UAAU;AAAA,IAClC,EAAE,MAAM,SAAS,MAAM,UAAU;AAAA,IACjC,EAAE,MAAM,YAAY,MAAM,QAAQ;AAAA,IAClC,EAAE,MAAM,YAAY,MAAM,QAAQ;AAAA,IAClC,EAAE,MAAM,oBAAoB,MAAM,UAAU;AAAA,IAC5C,EAAE,MAAM,sBAAsB,MAAM,UAAU;AAAA,IAC9C,EAAE,MAAM,WAAW,MAAM,UAAU;AAAA,IACnC,EAAE,MAAM,oBAAoB,MAAM,QAAQ;AAAA,IAC1C,EAAE,MAAM,cAAc,MAAM,UAAU;AAAA,EACxC;AACF;AAgBO,IAAM,oCAAoC,CAAC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AACZ,MAOM;AACJ,QAAM,eAAe,sBAAsB;AAAA,IACzC,GAAG;AAAA,IACH,WAAW;AAAA,EACb,CAAC;AAED,SAAO;AAAA,IACL,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,mBAAmB;AAAA,IACrB;AAAA,IACA,OAAO;AAAA,IACP,aAAa;AAAA,IACb,SAAS,EAAE,GAAG,cAAc,YAAY,WAAW,QAAQ;AAAA,EAC7D;AACF;AAgBO,IAAM,oBAAoB,OAAO;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AACZ,MAQM;AACJ,QAAM,YAAY,kCAAkC;AAAA,IAClD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,cAAc;AAAA,IACnB;AAAA,IACA,GAAG;AAAA,EACL,CAAC;AACH;","names":["SimpleFactory","SimpleFactory"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// src/utils/index.ts
|
|
2
|
+
import { toHex } from "viem";
|
|
3
|
+
function generateSalt() {
|
|
4
|
+
if (typeof globalThis.crypto?.getRandomValues !== "function") {
|
|
5
|
+
throw new Error("Secure randomness is unavailable in this runtime");
|
|
6
|
+
}
|
|
7
|
+
const randomValues = globalThis.crypto.getRandomValues(new Uint8Array(32));
|
|
8
|
+
return toHex(randomValues);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
generateSalt
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=chunk-IMO6XNDJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/index.ts"],"sourcesContent":["import { toHex } from 'viem';\n\nexport { decodeCaveat } from '../caveats';\n\nexport {\n decodeRevertData,\n decodeRevertReason,\n type DecodedRevertReason,\n} from '../decodeRevertReason';\n\nexport {\n encodeDelegations,\n decodeDelegations,\n encodeDelegation,\n decodeDelegation,\n hashDelegation,\n toDelegationStruct,\n toDelegation,\n DELEGATION_ARRAY_ABI_TYPE,\n DELEGATION_ABI_TYPE,\n DELEGATION_ABI_TYPE_COMPONENTS,\n DELEGATION_TYPEHASH,\n SIGNABLE_DELEGATION_TYPED_DATA,\n} from '../delegation';\n\nexport type { DelegationStruct } from '../delegation';\n\nexport {\n encodeExecutionCalldata,\n encodeExecutionCalldatas,\n encodeSingleExecution,\n encodeBatchExecution,\n} from '../executions';\n\nexport type { ExecutionStruct } from '../executions';\n\nexport type { AuthenticatorFlags } from '../webAuthn';\n\nexport { SIGNATURE_ABI_PARAMS } from '../webAuthn';\n\nexport { SIGNABLE_USER_OP_TYPED_DATA } from '../userOp';\n\nexport { encodeCalls, encodeCallsForCaller } from '../encodeCalls';\n\nexport { getCounterfactualAccountData } from '../counterfactualAccountData';\n\nexport {\n overrideDeployedEnvironment,\n deploySmartAccountsEnvironment,\n} from '../smartAccountsEnvironment';\n\nexport type { CoreCaveatBuilder, CaveatBuilderConfig } from '../caveatBuilder';\n\nexport { createCaveatBuilder, CaveatBuilder } from '../caveatBuilder';\n\n/**\n * Generates a cryptographically secure random salt.\n *\n * @returns A 32-byte hex salt.\n */\nexport function generateSalt() {\n if (typeof globalThis.crypto?.getRandomValues !== 'function') {\n throw new Error('Secure randomness is unavailable in this runtime');\n }\n\n const randomValues = globalThis.crypto.getRandomValues(new Uint8Array(32));\n return toHex(randomValues);\n}\n"],"mappings":";AAAA,SAAS,aAAa;AA4Df,SAAS,eAAe;AAC7B,MAAI,OAAO,WAAW,QAAQ,oBAAoB,YAAY;AAC5D,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACpE;AAEA,QAAM,eAAe,WAAW,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC;AACzE,SAAO,MAAM,YAAY;AAC3B;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/utils/index.ts
|
|
2
|
+
var _viem = require('viem');
|
|
3
|
+
function generateSalt() {
|
|
4
|
+
if (typeof _optionalChain([globalThis, 'access', _ => _.crypto, 'optionalAccess', _2 => _2.getRandomValues]) !== "function") {
|
|
5
|
+
throw new Error("Secure randomness is unavailable in this runtime");
|
|
6
|
+
}
|
|
7
|
+
const randomValues = globalThis.crypto.getRandomValues(new Uint8Array(32));
|
|
8
|
+
return _viem.toHex.call(void 0, randomValues);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.generateSalt = generateSalt;
|
|
14
|
+
//# sourceMappingURL=chunk-IQT6XFDT.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-IQT6XFDT.cjs","../src/utils/index.ts"],"names":[],"mappings":"AAAA;ACAA,4BAAsB;AA4Df,SAAS,YAAA,CAAA,EAAe;AAC7B,EAAA,GAAA,CAAI,uBAAO,UAAA,mBAAW,MAAA,6BAAQ,kBAAA,IAAoB,UAAA,EAAY;AAC5D,IAAA,MAAM,IAAI,KAAA,CAAM,kDAAkD,CAAA;AAAA,EACpE;AAEA,EAAA,MAAM,aAAA,EAAe,UAAA,CAAW,MAAA,CAAO,eAAA,CAAgB,IAAI,UAAA,CAAW,EAAE,CAAC,CAAA;AACzE,EAAA,OAAO,yBAAA,YAAkB,CAAA;AAC3B;AD1DA;AACA;AACE;AACF,oCAAC","file":"/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-IQT6XFDT.cjs","sourcesContent":[null,"import { toHex } from 'viem';\n\nexport { decodeCaveat } from '../caveats';\n\nexport {\n decodeRevertData,\n decodeRevertReason,\n type DecodedRevertReason,\n} from '../decodeRevertReason';\n\nexport {\n encodeDelegations,\n decodeDelegations,\n encodeDelegation,\n decodeDelegation,\n hashDelegation,\n toDelegationStruct,\n toDelegation,\n DELEGATION_ARRAY_ABI_TYPE,\n DELEGATION_ABI_TYPE,\n DELEGATION_ABI_TYPE_COMPONENTS,\n DELEGATION_TYPEHASH,\n SIGNABLE_DELEGATION_TYPED_DATA,\n} from '../delegation';\n\nexport type { DelegationStruct } from '../delegation';\n\nexport {\n encodeExecutionCalldata,\n encodeExecutionCalldatas,\n encodeSingleExecution,\n encodeBatchExecution,\n} from '../executions';\n\nexport type { ExecutionStruct } from '../executions';\n\nexport type { AuthenticatorFlags } from '../webAuthn';\n\nexport { SIGNATURE_ABI_PARAMS } from '../webAuthn';\n\nexport { SIGNABLE_USER_OP_TYPED_DATA } from '../userOp';\n\nexport { encodeCalls, encodeCallsForCaller } from '../encodeCalls';\n\nexport { getCounterfactualAccountData } from '../counterfactualAccountData';\n\nexport {\n overrideDeployedEnvironment,\n deploySmartAccountsEnvironment,\n} from '../smartAccountsEnvironment';\n\nexport type { CoreCaveatBuilder, CaveatBuilderConfig } from '../caveatBuilder';\n\nexport { createCaveatBuilder, CaveatBuilder } from '../caveatBuilder';\n\n/**\n * Generates a cryptographically secure random salt.\n *\n * @returns A 32-byte hex salt.\n */\nexport function generateSalt() {\n if (typeof globalThis.crypto?.getRandomValues !== 'function') {\n throw new Error('Secure randomness is unavailable in this runtime');\n }\n\n const randomValues = globalThis.crypto.getRandomValues(new Uint8Array(32));\n return toHex(randomValues);\n}\n"]}
|