{"version":3,"sources":["/home/runner/work/delegation-toolkit/delegation-toolkit/packages/delegation-toolkit/dist/chunk-HOWFH4O7.cjs","../src/DelegationFramework/utils.ts","../src/DelegationFramework/DeleGatorCore/read.ts","../src/DelegationFramework/DeleGatorCore/methods/getDelegationManager.ts","../src/DelegationFramework/DeleGatorCore/methods/getDeposit.ts","../src/DelegationFramework/DeleGatorCore/methods/getEntryPoint.ts","../src/DelegationFramework/DeleGatorCore/methods/getNonce.ts","../src/DelegationFramework/DeleGatorCore/methods/getProxyImplementation.ts","../src/DelegationFramework/DeleGatorCore/methods/getProxyVersion.ts","../src/DelegationFramework/DeleGatorCore/methods/isValidSignature.ts","../src/DelegationFramework/HybridDeleGator/methods/initialize.ts","../src/DelegationFramework/HybridDeleGator/encode.ts","../src/DelegationFramework/HybridDeleGator/methods/addKey.ts","../src/DelegationFramework/HybridDeleGator/methods/reinitialize.ts","../src/DelegationFramework/HybridDeleGator/methods/removeKey.ts","../src/DelegationFramework/HybridDeleGator/methods/updateSigners.ts","../src/DelegationFramework/MultiSigDeleGator/methods/initialize.ts","../src/DelegationFramework/MultiSigDeleGator/encode.ts","../src/DelegationFramework/MultiSigDeleGator/methods/addSigner.ts","../src/DelegationFramework/MultiSigDeleGator/methods/reinitialize.ts","../src/DelegationFramework/MultiSigDeleGator/methods/removeSigner.ts","../src/DelegationFramework/MultiSigDeleGator/methods/replaceSigner.ts","../src/DelegationFramework/MultiSigDeleGator/methods/updateMultiSigParameters.ts","../src/DelegationFramework/MultiSigDeleGator/methods/updateThreshold.ts","../src/DelegationFramework/SimpleFactory/methods/create2Deploy.ts","../src/DelegationFramework/SimpleFactory/encode.ts","../src/DelegationFramework/DeleGatorCore/methods/execute.ts","../src/DelegationFramework/DeleGatorCore/methods/executeWithMode.ts","../src/DelegationFramework/DeleGatorCore/encode.ts","../src/DelegationFramework/DeleGatorCore/methods/disableDelegation.ts","../src/DelegationFramework/DeleGatorCore/methods/enableDelegation.ts","../src/DelegationFramework/DeleGatorCore/methods/upgradeToAndCall.ts"],"names":["read","readContract","DeleGatorCore","encode","encodeFunctionData","simulate","simulateContract","HybridDeleGator","encode_exports","MultiSigDeleGator","writeContract","execute"],"mappings":"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","file":"/home/runner/work/delegation-toolkit/delegation-toolkit/packages/delegation-toolkit/dist/chunk-HOWFH4O7.cjs","sourcesContent":[null,"import { ERC1967Proxy } from '@metamask/delegation-abis';\nimport type { Abi, Address, Client, Hex } from 'viem';\nimport { encodeDeployData } from 'viem';\nimport { getCode } from 'viem/actions';\n\nimport { getProxyImplementation } from './DeleGatorCore/read';\n\n// Where a function signature is duplicated across contracts, we need to narrow\n// the ABI type passed as the `simulateContract` generic argument. Without this,\n// the `simulate()` return type would not match, despite being functionally\n// identical.\nexport type NarrowAbiToFunction<\n  TAbi extends Abi,\n  FunctionName extends string,\n> = [\n  Extract<\n    TAbi[number],\n    {\n      type: 'function';\n      name: FunctionName;\n    }\n  >[],\n];\n\n/**\n * Checks if a contract is deployed at the given address.\n *\n * @param options - The options for checking contract deployment.\n * @param options.client - The client to use for the query.\n * @param options.contractAddress - The address to check for contract deployment.\n * @returns A boolean indicating whether a contract is deployed at the address.\n * @description This function checks if there is actual bytecode at the provided contract address.\n */\nexport async function isContractDeployed({\n  client,\n  contractAddress,\n}: {\n  client: Client;\n  contractAddress: Address;\n}): Promise<boolean> {\n  const code = await getCode(client, {\n    address: contractAddress,\n  });\n  return Boolean(code) && code !== '0x';\n}\n\n/**\n * Checks if a proxy contract at the given address points to the expected implementation.\n *\n * @param options - The options for checking the implementation.\n * @param options.client - The client to use for the query.\n * @param options.contractAddress - The address of the proxy contract.\n * @param options.expectedImplementationAddress - The address that the implementation should match.\n * @returns A boolean indicating whether the implementation matches the expected one.\n * @description This function verifies both that the contract exists and that its implementation address matches.\n */\nexport async function isImplementationExpected({\n  client,\n  contractAddress,\n  expectedImplementationAddress,\n}: {\n  client: Client;\n  contractAddress: Address;\n  expectedImplementationAddress: Address;\n}): Promise<boolean> {\n  if (!(await isContractDeployed({ client, contractAddress }))) {\n    return false;\n  }\n\n  const implementationAddress = await getProxyImplementation({\n    client,\n    contractAddress,\n  });\n\n  return implementationAddress === expectedImplementationAddress;\n}\n\n/**\n * Encodes the \"creation code\" for an ERC1967Proxy contract that will be deployed via CREATE2 with the given implementation and initialization code.\n *\n * @param options - The options for encoding the proxy creation code.\n * @param options.implementationAddress - The address of the implementation contract for the proxy to use.\n * @param options.initcode - The calldata for the initialization function of the implementation contract.\n * @returns The encoded creation code for the proxy.\n * @description This function prepares the deployment bytecode for an ERC1967 proxy pointing to the given implementation.\n */\nexport const encodeProxyCreationCode = ({\n  implementationAddress,\n  initcode,\n}: {\n  implementationAddress: Address;\n  initcode: Hex;\n}): Hex =>\n  encodeDeployData({\n    abi: ERC1967Proxy.abi,\n    args: [implementationAddress, initcode],\n    bytecode: ERC1967Proxy.bytecode,\n  });\n","import { read as getDelegationManager } from './methods/getDelegationManager';\nimport { read as getDeposit } from './methods/getDeposit';\nimport { read as getEntryPoint } from './methods/getEntryPoint';\nimport { read as getNonce } from './methods/getNonce';\nimport { read as getProxyImplementation } from './methods/getProxyImplementation';\nimport { read as getProxyVersion } from './methods/getProxyVersion';\nimport { read as isValidSignature } from './methods/isValidSignature';\n\nexport {\n  getDelegationManager,\n  getDeposit,\n  getEntryPoint,\n  getNonce,\n  getProxyImplementation,\n  getProxyVersion,\n  isValidSignature,\n};\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetDelegationManagerParameters = {\n  client: Client;\n  contractAddress: Address;\n};\n\nexport const read = async ({\n  client,\n  contractAddress,\n}: ReadGetDelegationManagerParameters) =>\n  await readContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'delegationManager',\n  });\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetDepositParameters = {\n  client: Client;\n  contractAddress: Address;\n};\n\nexport const read = async ({\n  client,\n  contractAddress,\n}: ReadGetDepositParameters) =>\n  await readContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'getDeposit',\n  });\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetEntryPointParameters = {\n  client: Client;\n  contractAddress: Address;\n};\n\nexport const read = async ({\n  client,\n  contractAddress,\n}: ReadGetEntryPointParameters) =>\n  await readContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'entryPoint',\n  });\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetNonceParameters = {\n  client: Client;\n  contractAddress: Address;\n  key?: bigint;\n};\n\nexport const read = async ({\n  client,\n  contractAddress,\n  key,\n}: ReadGetNonceParameters) =>\n  await readContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'getNonce',\n    args: key ? [key] : undefined,\n  });\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetProxyImplementationParameters = {\n  client: Client;\n  contractAddress: Address;\n};\n\nexport const read = async ({\n  client,\n  contractAddress,\n}: ReadGetProxyImplementationParameters) =>\n  await readContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'getImplementation',\n  });\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type ReadGetProxyVersionParameters = {\n  client: Client;\n  contractAddress: Address;\n};\n\nexport const read = async ({\n  client,\n  contractAddress,\n}: ReadGetProxyVersionParameters) =>\n  await readContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'getInitializedVersion',\n  });\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport type { Address, Hex, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { readContract } from 'viem/actions';\n\nexport type IsValidSignatureParameters = {\n  client: Client;\n  contractAddress: Address;\n  hash: Hex;\n  signature: Hex;\n};\n\nexport type EncodeIsValidSignatureParameters = {\n  hash: Hex;\n  signature: Hex;\n};\n\nexport const read = async ({\n  client,\n  contractAddress,\n  hash,\n  signature,\n}: IsValidSignatureParameters) =>\n  await readContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'isValidSignature',\n    args: [hash, signature],\n  });\n\nexport const encode = ({\n  hash,\n  signature,\n}: EncodeIsValidSignatureParameters) => {\n  return encodeFunctionData({\n    abi: DeleGatorCore.abi,\n    functionName: 'isValidSignature',\n    args: [hash, signature],\n  });\n};\n","import { HybridDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { P256Owner, InitializedClient } from '../../types';\n\nexport type EncodeInitializeParameters = {\n  eoaOwner: Address;\n  p256Owners: P256Owner[];\n};\n\nexport type SimulateInitializeParameters = {\n  client: Client;\n  hybridDeleGatorAddress: Address;\n} & EncodeInitializeParameters;\n\nexport type ExecuteInitializeParameters = {\n  client: InitializedClient;\n  hybridDeleGatorAddress: Address;\n} & EncodeInitializeParameters;\n\nexport const simulate = async ({\n  client,\n  hybridDeleGatorAddress,\n  eoaOwner,\n  p256Owners,\n}: SimulateInitializeParameters) => {\n  return simulateContract(client, {\n    address: hybridDeleGatorAddress,\n    abi: HybridDeleGator.abi,\n    functionName: 'initialize',\n    args: [\n      eoaOwner,\n      p256Owners.map((p256Owner) => p256Owner.keyId),\n      p256Owners.map((p256Owner) => p256Owner.x),\n      p256Owners.map((p256Owner) => p256Owner.y),\n    ],\n  });\n};\n\nexport const execute = async ({\n  client,\n  hybridDeleGatorAddress,\n  eoaOwner,\n  p256Owners,\n}: ExecuteInitializeParameters) => {\n  const { request } = await simulate({\n    client,\n    hybridDeleGatorAddress,\n    eoaOwner,\n    p256Owners,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({\n  eoaOwner,\n  p256Owners,\n}: EncodeInitializeParameters) => {\n  return encodeFunctionData({\n    abi: HybridDeleGator.abi,\n    functionName: 'initialize',\n    args: [\n      eoaOwner,\n      p256Owners.map((p256Owner) => p256Owner.keyId),\n      p256Owners.map((p256Owner) => p256Owner.x),\n      p256Owners.map((p256Owner) => p256Owner.y),\n    ],\n  });\n};\n","import { encode as addKey } from './methods/addKey';\nimport { encode as initializeHybridDeleGator } from './methods/initialize';\nimport { encode as reinitializeHybridDeleGator } from './methods/reinitialize';\nimport { encode as removeKey } from './methods/removeKey';\nimport { encode as updateSigners } from './methods/updateSigners';\n\nexport {\n  addKey,\n  initializeHybridDeleGator,\n  reinitializeHybridDeleGator,\n  removeKey,\n  updateSigners,\n};\n","import { HybridDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { P256Owner, InitializedClient } from '../../types';\n\nexport type EncodeAddKeyParameters = {\n  p256Owner: P256Owner;\n};\n\nexport type SimulateAddKeyParameters = {\n  client: Client;\n  hybridDeleGatorAddress: Address;\n} & EncodeAddKeyParameters;\n\nexport type ExecuteAddKeyParameters = {\n  client: InitializedClient;\n  hybridDeleGatorAddress: Address;\n} & EncodeAddKeyParameters;\n\nexport const simulate = async ({\n  client,\n  hybridDeleGatorAddress,\n  p256Owner,\n}: SimulateAddKeyParameters) => {\n  return simulateContract(client, {\n    address: hybridDeleGatorAddress,\n    abi: HybridDeleGator.abi,\n    functionName: 'addKey',\n    args: [p256Owner.keyId, p256Owner.x, p256Owner.y],\n  });\n};\n\nexport const execute = async ({\n  client,\n  hybridDeleGatorAddress,\n  p256Owner,\n}: ExecuteAddKeyParameters) => {\n  const { request } = await simulate({\n    client,\n    hybridDeleGatorAddress,\n    p256Owner,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({ p256Owner }: EncodeAddKeyParameters) => {\n  return encodeFunctionData({\n    abi: HybridDeleGator.abi,\n    functionName: 'addKey',\n    args: [p256Owner.keyId, p256Owner.x, p256Owner.y],\n  });\n};\n","import { HybridDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { P256Owner, InitializedClient } from '../../types';\n\nexport type EncodeReinitializeParameters = {\n  version: number;\n  eoaOwner: Address;\n  p256Owners: P256Owner[];\n  removeExistingP256Owners: boolean;\n};\n\nexport type SimulateReinitializeParameters = {\n  client: Client;\n  hybridDeleGatorAddress: Address;\n} & EncodeReinitializeParameters;\n\nexport type ExecuteReinitializeParameters = {\n  client: InitializedClient;\n  hybridDeleGatorAddress: Address;\n} & EncodeReinitializeParameters;\n\nexport const simulate = async ({\n  client,\n  hybridDeleGatorAddress,\n  version,\n  eoaOwner,\n  p256Owners,\n  removeExistingP256Owners,\n}: SimulateReinitializeParameters) => {\n  return simulateContract(client, {\n    address: hybridDeleGatorAddress,\n    abi: HybridDeleGator.abi,\n    functionName: 'reinitialize',\n    args: [\n      version,\n      eoaOwner,\n      p256Owners.map((p256Owner) => p256Owner.keyId),\n      p256Owners.map((p256Owner) => p256Owner.x),\n      p256Owners.map((p256Owner) => p256Owner.y),\n      removeExistingP256Owners,\n    ],\n  });\n};\n\nexport const execute = async ({\n  client,\n  hybridDeleGatorAddress,\n  version,\n  eoaOwner,\n  p256Owners,\n  removeExistingP256Owners,\n}: ExecuteReinitializeParameters) => {\n  const { request } = await simulate({\n    client,\n    hybridDeleGatorAddress,\n    version,\n    eoaOwner,\n    p256Owners,\n    removeExistingP256Owners,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({\n  version,\n  eoaOwner,\n  p256Owners,\n  removeExistingP256Owners,\n}: EncodeReinitializeParameters) => {\n  return encodeFunctionData({\n    abi: HybridDeleGator.abi,\n    functionName: 'reinitialize',\n    args: [\n      version,\n      eoaOwner,\n      p256Owners.map((p256Owner) => p256Owner.keyId),\n      p256Owners.map((p256Owner) => p256Owner.x),\n      p256Owners.map((p256Owner) => p256Owner.y),\n      removeExistingP256Owners,\n    ],\n  });\n};\n","import { HybridDeleGator } 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 EncodeRemoveKeyParameters = {\n  keyId: string;\n};\n\nexport type SimulateRemoveKeyParameters = {\n  client: Client;\n  hybridDeleGatorAddress: Address;\n} & EncodeRemoveKeyParameters;\n\nexport type ExecuteRemoveKeyParameters = {\n  client: InitializedClient;\n  hybridDeleGatorAddress: Address;\n} & EncodeRemoveKeyParameters;\n\nexport const simulate = async ({\n  client,\n  hybridDeleGatorAddress,\n  keyId,\n}: SimulateRemoveKeyParameters) => {\n  return simulateContract(client, {\n    address: hybridDeleGatorAddress,\n    abi: HybridDeleGator.abi,\n    functionName: 'removeKey',\n    args: [keyId],\n  });\n};\n\nexport const execute = async ({\n  client,\n  hybridDeleGatorAddress,\n  keyId,\n}: ExecuteRemoveKeyParameters) => {\n  const { request } = await simulate({\n    client,\n    hybridDeleGatorAddress,\n    keyId,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({ keyId }: EncodeRemoveKeyParameters) => {\n  return encodeFunctionData({\n    abi: HybridDeleGator.abi,\n    functionName: 'removeKey',\n    args: [keyId],\n  });\n};\n","import { HybridDeleGator } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { P256Owner, InitializedClient } from '../../types';\n\nexport type EncodeUpdateSignersParameters = {\n  eoaOwner: Address;\n  p256Owners: P256Owner[];\n};\n\nexport type SimulateUpdateSignersParameters = {\n  client: Client;\n  hybridDeleGatorAddress: Address;\n} & EncodeUpdateSignersParameters;\n\nexport type ExecuteUpdateSignersParameters = {\n  client: InitializedClient;\n  hybridDeleGatorAddress: Address;\n} & EncodeUpdateSignersParameters;\n\nexport const simulate = async ({\n  client,\n  hybridDeleGatorAddress,\n  eoaOwner,\n  p256Owners,\n}: SimulateUpdateSignersParameters) => {\n  return simulateContract(client, {\n    address: hybridDeleGatorAddress,\n    abi: HybridDeleGator.abi,\n    functionName: 'updateSigners',\n    args: [\n      eoaOwner,\n      p256Owners.map((p256Owner) => p256Owner.keyId),\n      p256Owners.map((p256Owner) => p256Owner.x),\n      p256Owners.map((p256Owner) => p256Owner.y),\n    ],\n  });\n};\n\nexport const execute = async ({\n  client,\n  hybridDeleGatorAddress,\n  eoaOwner,\n  p256Owners,\n}: ExecuteUpdateSignersParameters) => {\n  const { request } = await simulate({\n    client,\n    hybridDeleGatorAddress,\n    eoaOwner,\n    p256Owners,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({\n  eoaOwner,\n  p256Owners,\n}: EncodeUpdateSignersParameters) => {\n  return encodeFunctionData({\n    abi: HybridDeleGator.abi,\n    functionName: 'updateSigners',\n    args: [\n      eoaOwner,\n      p256Owners.map((p256Owner) => p256Owner.keyId),\n      p256Owners.map((p256Owner) => p256Owner.x),\n      p256Owners.map((p256Owner) => p256Owner.y),\n    ],\n  });\n};\n","import { MultiSigDeleGator } 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 EncodeInitializeParameters = {\n  owners: Address[];\n  threshold: bigint;\n};\n\nexport type SimulateInitializeParameters = {\n  client: Client;\n  multiSigDeleGatorAddress: Address;\n} & EncodeInitializeParameters;\n\nexport type ExecuteInitializeParameters = {\n  client: InitializedClient;\n  multiSigDeleGatorAddress: Address;\n} & EncodeInitializeParameters;\n\nexport const simulate = async ({\n  client,\n  multiSigDeleGatorAddress,\n  owners,\n  threshold,\n}: SimulateInitializeParameters) => {\n  return simulateContract(client, {\n    address: multiSigDeleGatorAddress,\n    abi: MultiSigDeleGator.abi,\n    functionName: 'initialize',\n    args: [owners, threshold],\n  });\n};\n\nexport const execute = async ({\n  client,\n  multiSigDeleGatorAddress,\n  owners,\n  threshold,\n}: ExecuteInitializeParameters) => {\n  const { request } = await simulate({\n    client,\n    multiSigDeleGatorAddress,\n    owners,\n    threshold,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({ owners, threshold }: EncodeInitializeParameters) => {\n  return encodeFunctionData({\n    abi: MultiSigDeleGator.abi,\n    functionName: 'initialize',\n    args: [owners, threshold],\n  });\n};\n","import { encode as addSigner } from './methods/addSigner';\nimport { encode as initializeMultiSigDeleGator } from './methods/initialize';\nimport { encode as reinitializeMultiSigDeleGator } from './methods/reinitialize';\nimport { encode as removeSigner } from './methods/removeSigner';\nimport { encode as replaceSigner } from './methods/replaceSigner';\nimport { encode as updateMultiSigParameters } from './methods/updateMultiSigParameters';\nimport { encode as updateThreshold } from './methods/updateThreshold';\n\nexport {\n  addSigner,\n  initializeMultiSigDeleGator,\n  reinitializeMultiSigDeleGator,\n  removeSigner,\n  replaceSigner,\n  updateThreshold,\n  updateMultiSigParameters,\n};\n","import { MultiSigDeleGator } 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 EncodeAddSignerParameters = {\n  signer: Address;\n};\n\nexport type SimulateAddSignerParameters = {\n  client: Client;\n  multiSigDeleGatorAddress: Address;\n} & EncodeAddSignerParameters;\n\nexport type ExecuteAddSignerParameters = {\n  client: InitializedClient;\n  multiSigDeleGatorAddress: Address;\n} & EncodeAddSignerParameters;\n\nexport const simulate = async ({\n  client,\n  multiSigDeleGatorAddress,\n  signer,\n}: SimulateAddSignerParameters) => {\n  return simulateContract(client, {\n    address: multiSigDeleGatorAddress,\n    abi: MultiSigDeleGator.abi,\n    functionName: 'addSigner',\n    args: [signer],\n  });\n};\n\nexport const execute = async ({\n  client,\n  multiSigDeleGatorAddress,\n  signer,\n}: ExecuteAddSignerParameters) => {\n  const { request } = await simulate({\n    client,\n    multiSigDeleGatorAddress,\n    signer,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({ signer }: EncodeAddSignerParameters) => {\n  return encodeFunctionData({\n    abi: MultiSigDeleGator.abi,\n    functionName: 'addSigner',\n    args: [signer],\n  });\n};\n","import { MultiSigDeleGator } 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 EncodeReinitializeParameters = {\n  version: bigint;\n  owners: Address[];\n  threshold: bigint;\n  removeExistingOwners: boolean;\n};\n\nexport type SimulateReinitializeParameters = {\n  client: Client;\n  multiSigDeleGatorAddress: Address;\n} & EncodeReinitializeParameters;\n\nexport type ExecuteReinitializeParameters = {\n  client: InitializedClient;\n  multiSigDeleGatorAddress: Address;\n} & EncodeReinitializeParameters;\n\nexport const simulate = async ({\n  client,\n  multiSigDeleGatorAddress,\n  version,\n  owners,\n  threshold,\n  removeExistingOwners,\n}: SimulateReinitializeParameters) => {\n  return simulateContract(client, {\n    address: multiSigDeleGatorAddress,\n    abi: MultiSigDeleGator.abi,\n    functionName: 'reinitialize',\n    args: [version, owners, threshold, removeExistingOwners],\n  });\n};\n\nexport const execute = async ({\n  client,\n  multiSigDeleGatorAddress,\n  version,\n  owners,\n  threshold,\n  removeExistingOwners,\n}: ExecuteReinitializeParameters) => {\n  const { request } = await simulate({\n    client,\n    multiSigDeleGatorAddress,\n    version,\n    owners,\n    threshold,\n    removeExistingOwners,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({\n  version,\n  owners,\n  threshold,\n  removeExistingOwners,\n}: EncodeReinitializeParameters) => {\n  return encodeFunctionData({\n    abi: MultiSigDeleGator.abi,\n    functionName: 'reinitialize',\n    args: [version, owners, threshold, removeExistingOwners],\n  });\n};\n","import { MultiSigDeleGator } 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 EncodeRemoveSignerParameters = {\n  signer: Address;\n};\n\nexport type SimulateRemoveSignerParameters = {\n  client: Client;\n  multiSigDeleGatorAddress: Address;\n} & EncodeRemoveSignerParameters;\n\nexport type ExecuteRemoveSignerParameters = {\n  client: InitializedClient;\n  multiSigDeleGatorAddress: Address;\n} & EncodeRemoveSignerParameters;\n\nexport const simulate = async ({\n  client,\n  multiSigDeleGatorAddress,\n  signer,\n}: SimulateRemoveSignerParameters) => {\n  return simulateContract(client, {\n    address: multiSigDeleGatorAddress,\n    abi: MultiSigDeleGator.abi,\n    functionName: 'removeSigner',\n    args: [signer],\n  });\n};\n\nexport const execute = async ({\n  client,\n  multiSigDeleGatorAddress,\n  signer,\n}: ExecuteRemoveSignerParameters) => {\n  const { request } = await simulate({\n    client,\n    multiSigDeleGatorAddress,\n    signer,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({ signer }: EncodeRemoveSignerParameters) => {\n  return encodeFunctionData({\n    abi: MultiSigDeleGator.abi,\n    functionName: 'removeSigner',\n    args: [signer],\n  });\n};\n","import { MultiSigDeleGator } 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 EncodeReplaceSignerParameters = {\n  oldSigner: Address;\n  newSigner: Address;\n};\n\nexport type SimulateReplaceSignerParameters = {\n  client: Client;\n  multiSigDeleGatorAddress: Address;\n} & EncodeReplaceSignerParameters;\n\nexport type ExecuteReplaceSignerParameters = {\n  client: InitializedClient;\n  multiSigDeleGatorAddress: Address;\n} & EncodeReplaceSignerParameters;\n\nexport const simulate = async ({\n  client,\n  multiSigDeleGatorAddress,\n  oldSigner,\n  newSigner,\n}: SimulateReplaceSignerParameters) => {\n  return simulateContract(client, {\n    address: multiSigDeleGatorAddress,\n    abi: MultiSigDeleGator.abi,\n    functionName: 'replaceSigner',\n    args: [oldSigner, newSigner],\n  });\n};\n\nexport const execute = async ({\n  client,\n  multiSigDeleGatorAddress,\n  oldSigner,\n  newSigner,\n}: ExecuteReplaceSignerParameters) => {\n  const { request } = await simulate({\n    client,\n    multiSigDeleGatorAddress,\n    oldSigner,\n    newSigner,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({\n  oldSigner,\n  newSigner,\n}: EncodeReplaceSignerParameters) => {\n  return encodeFunctionData({\n    abi: MultiSigDeleGator.abi,\n    functionName: 'replaceSigner',\n    args: [oldSigner, newSigner],\n  });\n};\n","import { MultiSigDeleGator } 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 EncodeUpdateMultiSigParametersParameters = {\n  owners: Address[];\n  threshold: bigint;\n  removeExistingOwners: boolean;\n};\n\nexport type SimulateUpdateMultiSigParametersParameters = {\n  client: Client;\n  multiSigDeleGatorAddress: Address;\n} & EncodeUpdateMultiSigParametersParameters;\n\nexport type ExecuteUpdateMultiSigParametersParameters = {\n  client: InitializedClient;\n  multiSigDeleGatorAddress: Address;\n} & EncodeUpdateMultiSigParametersParameters;\n\nexport const simulate = async ({\n  client,\n  multiSigDeleGatorAddress,\n  owners,\n  threshold,\n  removeExistingOwners,\n}: SimulateUpdateMultiSigParametersParameters) => {\n  return simulateContract(client, {\n    address: multiSigDeleGatorAddress,\n    abi: MultiSigDeleGator.abi,\n    functionName: 'updateMultiSigParameters',\n    args: [owners, threshold, removeExistingOwners],\n  });\n};\n\nexport const execute = async ({\n  client,\n  multiSigDeleGatorAddress,\n  owners,\n  threshold,\n  removeExistingOwners,\n}: ExecuteUpdateMultiSigParametersParameters) => {\n  const { request } = await simulate({\n    client,\n    multiSigDeleGatorAddress,\n    owners,\n    threshold,\n    removeExistingOwners,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({\n  owners,\n  threshold,\n  removeExistingOwners,\n}: EncodeUpdateMultiSigParametersParameters) => {\n  return encodeFunctionData({\n    abi: MultiSigDeleGator.abi,\n    functionName: 'updateMultiSigParameters',\n    args: [owners, threshold, removeExistingOwners],\n  });\n};\n","import { MultiSigDeleGator } 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 EncodeUpdateThresholdParameters = {\n  threshold: bigint;\n};\n\nexport type SimulateUpdateThresholdParameters = {\n  client: Client;\n  multiSigDeleGatorAddress: Address;\n} & EncodeUpdateThresholdParameters;\n\nexport type ExecuteUpdateThresholdParameters = {\n  client: InitializedClient;\n  multiSigDeleGatorAddress: Address;\n} & EncodeUpdateThresholdParameters;\n\nexport const simulate = async ({\n  client,\n  multiSigDeleGatorAddress,\n  threshold,\n}: SimulateUpdateThresholdParameters) => {\n  return simulateContract(client, {\n    address: multiSigDeleGatorAddress,\n    abi: MultiSigDeleGator.abi,\n    functionName: 'updateThreshold',\n    args: [threshold],\n  });\n};\n\nexport const execute = async ({\n  client,\n  multiSigDeleGatorAddress,\n  threshold,\n}: ExecuteUpdateThresholdParameters) => {\n  const { request } = await simulate({\n    client,\n    multiSigDeleGatorAddress,\n    threshold,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({ threshold }: EncodeUpdateThresholdParameters) => {\n  return encodeFunctionData({\n    abi: MultiSigDeleGator.abi,\n    functionName: 'updateThreshold',\n    args: [threshold],\n  });\n};\n","import { SimpleFactory } from '@metamask/delegation-abis';\nimport type { Address, Hex, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { InitializedClient } from '../../types';\n\nexport type SimulateCreate2DeployParameters = {\n  client: Client;\n  factoryAddress: Address;\n  creationCode: Hex;\n  salt: Hex;\n};\n\nexport type ExecuteCreate2DeployParameters = {\n  client: InitializedClient;\n  factoryAddress: Address;\n  creationCode: Hex;\n  salt: Hex;\n};\n\nexport const simulate = async ({\n  client,\n  factoryAddress,\n  creationCode,\n  salt,\n}: SimulateCreate2DeployParameters) => {\n  return simulateContract(client, {\n    address: factoryAddress,\n    abi: SimpleFactory.abi,\n    functionName: 'deploy',\n    args: [creationCode, salt],\n  });\n};\n\nexport const encode = (creationCode: Hex, salt: Hex) => {\n  return encodeFunctionData({\n    abi: SimpleFactory.abi,\n    functionName: 'deploy',\n    args: [creationCode, salt],\n  });\n};\n\nexport const execute = async ({\n  client,\n  factoryAddress,\n  creationCode,\n  salt,\n}: ExecuteCreate2DeployParameters) => {\n  const { request } = await simulate({\n    client,\n    factoryAddress,\n    creationCode,\n    salt,\n  });\n  return writeContract(client, request);\n};\n","import { encode as create2Deploy } from './methods/create2Deploy';\n\nexport { create2Deploy };\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport type { Address, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { ExecutionStruct } from '../../../executions';\nimport type { InitializedClient } from '../../types';\n\nexport type SimulateExecuteParameters = {\n  client: Client;\n  contractAddress: Address;\n  execution: ExecutionStruct;\n};\n\nexport type EncodeExecuteParameters = {\n  execution: ExecutionStruct;\n};\n\nexport type ExecuteExecuteParameters = {\n  client: InitializedClient;\n  contractAddress: Address;\n  execution: ExecutionStruct;\n};\n\nexport const simulate = async ({\n  client,\n  contractAddress,\n  execution,\n}: SimulateExecuteParameters) => {\n  return simulateContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'execute',\n    args: [execution],\n  });\n};\n\nexport const execute = async ({\n  client,\n  contractAddress,\n  execution,\n}: ExecuteExecuteParameters) => {\n  const { request } = await simulate({\n    client,\n    contractAddress,\n    execution,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({ execution }: EncodeExecuteParameters) => {\n  return encodeFunctionData({\n    abi: DeleGatorCore.abi,\n    functionName: 'execute',\n    args: [execution],\n  });\n};\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport { encodeFunctionData } from 'viem';\nimport type { Address, Client } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport { encodeExecutionCalldata } from '../../../executions';\nimport type { ExecutionStruct, ExecutionMode } from '../../../executions';\nimport type { InitializedClient } from '../../types';\n\nexport type SimulateExecuteWithModeParameters = {\n  client: Client;\n  contractAddress: Address;\n} & EncodeExecuteWithModeParameters;\nexport type EncodeExecuteWithModeParameters = {\n  mode: ExecutionMode;\n  executions: ExecutionStruct[];\n};\n\nexport type ExecuteExecuteWithModeParameters = {\n  client: InitializedClient;\n  contractAddress: Address;\n} & EncodeExecuteWithModeParameters;\n\nexport const simulate = async ({\n  client,\n  contractAddress,\n  mode,\n  executions,\n}: SimulateExecuteWithModeParameters) => {\n  return simulateContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'execute',\n    args: [mode, encodeExecutionCalldata(executions)],\n  });\n};\n\nexport const execute = async ({\n  client,\n  contractAddress,\n  mode,\n  executions,\n}: ExecuteExecuteWithModeParameters) => {\n  const { request } = await simulate({\n    client,\n    contractAddress,\n    mode,\n    executions,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({\n  mode,\n  executions,\n}: EncodeExecuteWithModeParameters) => {\n  return encodeFunctionData({\n    abi: DeleGatorCore.abi,\n    functionName: 'execute',\n    args: [mode, encodeExecutionCalldata(executions)],\n  });\n};\n","import { encode as disableDelegation } from './methods/disableDelegation';\nimport { encode as enableDelegation } from './methods/enableDelegation';\nimport { encode as execute } from './methods/execute';\nimport { encode as executeWithMode } from './methods/executeWithMode';\nimport { encode as isValidSignature } from './methods/isValidSignature';\nimport { encode as upgradeToAndCall } from './methods/upgradeToAndCall';\n\nexport {\n  disableDelegation,\n  enableDelegation,\n  execute,\n  executeWithMode,\n  upgradeToAndCall,\n  isValidSignature,\n};\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport { encodeFunctionData } from 'viem';\nimport type { Address, Client } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport { toDelegationStruct } from '../../../delegation';\nimport type { Delegation } from '../../../types';\nimport type { InitializedClient } from '../../types';\nimport type { NarrowAbiToFunction } from '../../utils';\n\nexport type SimulateDisableDelegationParameters = {\n  client: Client;\n  delegationManagerAddress: Address;\n  delegation: Delegation;\n};\n\nexport type EncodeDisableDelegationParameters = {\n  delegation: Delegation;\n};\n\nexport type ExecuteDisableDelegationParameters = {\n  client: InitializedClient;\n  delegationManagerAddress: Address;\n  delegation: Delegation;\n};\n\nexport const simulate = async ({\n  client,\n  delegationManagerAddress,\n  delegation,\n}: SimulateDisableDelegationParameters) => {\n  const abi = DeleGatorCore.abi as any as NarrowAbiToFunction<\n    typeof DeleGatorCore.abi,\n    'disableDelegation'\n  >;\n\n  const delegationStruct = toDelegationStruct(delegation);\n\n  return simulateContract(client, {\n    address: delegationManagerAddress,\n    abi,\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: DeleGatorCore.abi,\n    functionName: 'disableDelegation',\n    args: [delegationStruct],\n  });\n};\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport { encodeFunctionData } from 'viem';\nimport type { Address, Client } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport { toDelegationStruct } from '../../../delegation';\nimport type { Delegation } from '../../../types';\nimport type { InitializedClient } from '../../types';\nimport type { NarrowAbiToFunction } from '../../utils';\n\nexport type SimulateEnableDelegationParameters = {\n  client: Client;\n  delegationManagerAddress: Address;\n  delegation: Delegation;\n};\n\nexport type EncodeEnableDelegationParameters = {\n  delegation: Delegation;\n};\n\nexport type ExecuteEnableDelegationParameters = {\n  client: InitializedClient;\n  delegationManagerAddress: Address;\n  delegation: Delegation;\n};\n\nexport const simulate = async ({\n  client,\n  delegationManagerAddress,\n  delegation,\n}: SimulateEnableDelegationParameters) => {\n  const abi = DeleGatorCore.abi as any as NarrowAbiToFunction<\n    typeof DeleGatorCore.abi,\n    'enableDelegation'\n  >;\n\n  const delegationStruct = toDelegationStruct(delegation);\n\n  return simulateContract(client, {\n    address: delegationManagerAddress,\n    abi,\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: DeleGatorCore.abi,\n    functionName: 'enableDelegation',\n    args: [delegationStruct],\n  });\n};\n","import { DeleGatorCore } from '@metamask/delegation-abis';\nimport type { Address, Hex, Client } from 'viem';\nimport { encodeFunctionData } from 'viem';\nimport { simulateContract, writeContract } from 'viem/actions';\n\nimport type { InitializedClient } from '../../types';\n\nexport type SimulateUpgradeToAndCallParameters = {\n  client: Client;\n  contractAddress: Address;\n} & EncodeUpgradeToAndCallParameters;\n\nexport type EncodeUpgradeToAndCallParameters = {\n  implementation: Address;\n  data: Hex;\n};\n\nexport type ExecuteUpgradeToAndCallParameters = {\n  client: InitializedClient;\n  contractAddress: Address;\n} & EncodeUpgradeToAndCallParameters;\n\nexport const simulate = async ({\n  client,\n  contractAddress,\n  implementation,\n  data,\n}: SimulateUpgradeToAndCallParameters) => {\n  return simulateContract(client, {\n    address: contractAddress,\n    abi: DeleGatorCore.abi,\n    functionName: 'upgradeToAndCall',\n    args: [implementation, data],\n  });\n};\n\nexport const execute = async ({\n  client,\n  contractAddress,\n  implementation,\n  data,\n}: ExecuteUpgradeToAndCallParameters) => {\n  const { request } = await simulate({\n    client,\n    contractAddress,\n    implementation,\n    data,\n  });\n\n  return writeContract(client, request);\n};\n\nexport const encode = ({\n  implementation,\n  data,\n}: EncodeUpgradeToAndCallParameters) => {\n  return encodeFunctionData({\n    abi: DeleGatorCore.abi,\n    functionName: 'upgradeToAndCall',\n    args: [implementation, data],\n  });\n};\n"]}