@metamask/smart-accounts-kit 1.4.0 → 1.5.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.
Files changed (58) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/dist/actions/index.cjs +8 -4
  3. package/dist/actions/index.cjs.map +1 -1
  4. package/dist/actions/index.d.cts +4 -2
  5. package/dist/actions/index.d.ts +4 -2
  6. package/dist/actions/index.mjs +7 -3
  7. package/dist/{caveats-CeHBbmt_.d.cts → caveats-CaSt_VHs.d.cts} +1 -1
  8. package/dist/{caveats-BhjGBVHX.d.ts → caveats-DQ6HoAHe.d.ts} +1 -1
  9. package/dist/{chunk-XZ7UMCG3.cjs → chunk-7FYDQNJ3.cjs} +12 -12
  10. package/dist/{chunk-XZ7UMCG3.cjs.map → chunk-7FYDQNJ3.cjs.map} +1 -1
  11. package/dist/{chunk-R2WT54GZ.mjs → chunk-BGOSYTKV.mjs} +179 -57
  12. package/dist/chunk-BGOSYTKV.mjs.map +1 -0
  13. package/dist/{chunk-RR2AMG4A.cjs → chunk-DN4O5VOP.cjs} +102 -102
  14. package/dist/{chunk-RR2AMG4A.cjs.map → chunk-DN4O5VOP.cjs.map} +1 -1
  15. package/dist/{chunk-SO5JAXGD.cjs → chunk-FH6HZCHI.cjs} +11 -11
  16. package/dist/{chunk-SO5JAXGD.cjs.map → chunk-FH6HZCHI.cjs.map} +1 -1
  17. package/dist/{chunk-TMO23YRP.cjs → chunk-IBZSNB7D.cjs} +64 -20
  18. package/dist/chunk-IBZSNB7D.cjs.map +1 -0
  19. package/dist/{chunk-EEIIVBNV.mjs → chunk-MV2KHN75.mjs} +64 -20
  20. package/dist/{chunk-EEIIVBNV.mjs.map → chunk-MV2KHN75.mjs.map} +1 -1
  21. package/dist/{chunk-DVJX76J3.mjs → chunk-N66VAWMO.mjs} +2 -2
  22. package/dist/{chunk-MVBU3LRV.cjs → chunk-SCS3CFRE.cjs} +10 -10
  23. package/dist/{chunk-MVBU3LRV.cjs.map → chunk-SCS3CFRE.cjs.map} +1 -1
  24. package/dist/{chunk-HQHXGWNJ.mjs → chunk-TBHT26BV.mjs} +4 -4
  25. package/dist/{chunk-ZGBFPD4O.mjs → chunk-W7O2UQL5.mjs} +2 -2
  26. package/dist/{chunk-6CEOFJY5.cjs → chunk-XEOE25DE.cjs} +229 -107
  27. package/dist/chunk-XEOE25DE.cjs.map +1 -0
  28. package/dist/{chunk-FG2CQGSE.mjs → chunk-YXHUT56Z.mjs} +3 -3
  29. package/dist/contracts/index.cjs +5 -5
  30. package/dist/contracts/index.d.cts +3 -2
  31. package/dist/contracts/index.d.ts +3 -2
  32. package/dist/contracts/index.mjs +4 -4
  33. package/dist/delegation-BKkEyxZY.d.cts +64 -0
  34. package/dist/delegation-DbPGWKfP.d.ts +64 -0
  35. package/dist/experimental/index.cjs +7 -7
  36. package/dist/experimental/index.mjs +1 -1
  37. package/dist/{index-DRKgDSZW.d.ts → index-DXdlz7t4.d.ts} +2 -1
  38. package/dist/{index-BToRQKyJ.d.cts → index-DfDAuvr5.d.cts} +37 -4
  39. package/dist/{index-Cg-JakqA.d.ts → index-G78z6nwi.d.ts} +37 -4
  40. package/dist/{index-DzL9ccjU.d.cts → index-yU3olCJV.d.cts} +2 -1
  41. package/dist/index.cjs +19 -19
  42. package/dist/index.d.cts +6 -5
  43. package/dist/index.d.ts +6 -5
  44. package/dist/index.mjs +6 -6
  45. package/dist/{delegation-CR99q1-n.d.ts → resolveCaveats-DiqGB-T5.d.cts} +3 -52
  46. package/dist/{delegation-DoVULGYE.d.cts → resolveCaveats-s2snaFEo.d.ts} +3 -52
  47. package/dist/utils/index.cjs +4 -4
  48. package/dist/utils/index.d.cts +3 -2
  49. package/dist/utils/index.d.ts +3 -2
  50. package/dist/utils/index.mjs +3 -3
  51. package/package.json +2 -2
  52. package/dist/chunk-6CEOFJY5.cjs.map +0 -1
  53. package/dist/chunk-R2WT54GZ.mjs.map +0 -1
  54. package/dist/chunk-TMO23YRP.cjs.map +0 -1
  55. /package/dist/{chunk-DVJX76J3.mjs.map → chunk-N66VAWMO.mjs.map} +0 -0
  56. /package/dist/{chunk-HQHXGWNJ.mjs.map → chunk-TBHT26BV.mjs.map} +0 -0
  57. /package/dist/{chunk-ZGBFPD4O.mjs.map → chunk-W7O2UQL5.mjs.map} +0 -0
  58. /package/dist/{chunk-FG2CQGSE.mjs.map → chunk-YXHUT56Z.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-SO5JAXGD.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/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-SO5JAXGD.cjs","sourcesContent":[null,"import { ERC1967Proxy } from '@metamask/delegation-abis';\nimport { ERC1967Proxy as ERC1967ProxyBytecode } from '@metamask/delegation-abis/bytecode';\nimport type { Address, Client, Hex } from 'viem';\nimport { encodeDeployData } from 'viem';\nimport { getCode } from 'viem/actions';\n\nimport { getProxyImplementation } from './DeleGatorCore/read';\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,\n args: [implementationAddress, initcode],\n bytecode: ERC1967ProxyBytecode,\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,\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,\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,\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,\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,\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,\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,\n functionName: 'isValidSignature',\n args: [hash, signature],\n });\n\nexport const encode = ({\n hash,\n signature,\n}: EncodeIsValidSignatureParameters) => {\n return encodeFunctionData({\n abi: DeleGatorCore,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\n functionName: 'deploy',\n args: [creationCode, salt],\n });\n};\n\nexport const encode = (creationCode: Hex, salt: Hex) => {\n return encodeFunctionData({\n abi: SimpleFactory,\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,\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,\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,\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,\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';\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 delegationStruct = toDelegationStruct(delegation);\n\n return simulateContract(client, {\n address: delegationManagerAddress,\n abi: DeleGatorCore,\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,\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';\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 delegationStruct = toDelegationStruct(delegation);\n\n return simulateContract(client, {\n address: delegationManagerAddress,\n abi: DeleGatorCore,\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,\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,\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,\n functionName: 'upgradeToAndCall',\n args: [implementation, data],\n });\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-FH6HZCHI.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/smart-accounts-kit/smart-accounts-kit/packages/smart-accounts-kit/dist/chunk-FH6HZCHI.cjs","sourcesContent":[null,"import { ERC1967Proxy } from '@metamask/delegation-abis';\nimport { ERC1967Proxy as ERC1967ProxyBytecode } from '@metamask/delegation-abis/bytecode';\nimport type { Address, Client, Hex } from 'viem';\nimport { encodeDeployData } from 'viem';\nimport { getCode } from 'viem/actions';\n\nimport { getProxyImplementation } from './DeleGatorCore/read';\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,\n args: [implementationAddress, initcode],\n bytecode: ERC1967ProxyBytecode,\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,\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,\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,\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,\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,\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,\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,\n functionName: 'isValidSignature',\n args: [hash, signature],\n });\n\nexport const encode = ({\n hash,\n signature,\n}: EncodeIsValidSignatureParameters) => {\n return encodeFunctionData({\n abi: DeleGatorCore,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\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,\n functionName: 'deploy',\n args: [creationCode, salt],\n });\n};\n\nexport const encode = (creationCode: Hex, salt: Hex) => {\n return encodeFunctionData({\n abi: SimpleFactory,\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,\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,\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,\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,\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';\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 delegationStruct = toDelegationStruct(delegation);\n\n return simulateContract(client, {\n address: delegationManagerAddress,\n abi: DeleGatorCore,\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,\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';\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 delegationStruct = toDelegationStruct(delegation);\n\n return simulateContract(client, {\n address: delegationManagerAddress,\n abi: DeleGatorCore,\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,\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,\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,\n functionName: 'upgradeToAndCall',\n args: [implementation, data],\n });\n};\n"]}
@@ -1332,9 +1332,15 @@ var createCaveatBuilderFromScope = (environment, scopeConfig) => {
1332
1332
  var resolveCaveats = ({
1333
1333
  environment,
1334
1334
  scope,
1335
- caveats
1335
+ caveats,
1336
+ isScopeOptional
1336
1337
  }) => {
1337
- const scopeCaveatBuilder = createCaveatBuilderFromScope(environment, scope);
1338
+ if (!scope && !isScopeOptional) {
1339
+ throw new Error("Scope is required");
1340
+ }
1341
+ const scopeCaveatBuilder = scope ? createCaveatBuilderFromScope(environment, scope) : createCaveatBuilder(environment, {
1342
+ allowInsecureUnrestrictedDelegation: true
1343
+ });
1338
1344
  if (caveats) {
1339
1345
  if ("build" in caveats && typeof caveats.build === "function") {
1340
1346
  caveats.build().forEach((caveat) => {
@@ -1693,7 +1699,7 @@ var Sender = class {
1693
1699
  };
1694
1700
 
1695
1701
  // package.json
1696
- var version = "1.4.0";
1702
+ var version = "1.5.0";
1697
1703
 
1698
1704
  // src/analytics/index.ts
1699
1705
  function isCompleteBase(value) {
@@ -1943,14 +1949,16 @@ var hashDelegation = (input) => {
1943
1949
  const delegationStruct = toDelegationStruct(input);
1944
1950
  return _delegationcore.hashDelegation.call(void 0, delegationStruct);
1945
1951
  };
1946
- var resolveAuthority = (parentDelegation) => {
1947
- if (!parentDelegation) {
1948
- return _delegationcore.ROOT_AUTHORITY;
1952
+ var extractLeafDelegation = (permissionContext) => {
1953
+ const delegations = decodeDelegations(permissionContext);
1954
+ if (delegations.length === 0) {
1955
+ throw new Error("Permission context must contain at least one delegation");
1949
1956
  }
1950
- if (typeof parentDelegation === "string") {
1951
- return parentDelegation;
1957
+ const leafDelegation = delegations[0];
1958
+ if (!leafDelegation) {
1959
+ throw new Error("Failed to extract leaf delegation");
1952
1960
  }
1953
- return hashDelegation(parentDelegation);
1961
+ return leafDelegation;
1954
1962
  };
1955
1963
  var getCaveatNames = ({
1956
1964
  caveats,
@@ -1970,11 +1978,47 @@ var getCaveatNames = ({
1970
1978
  }
1971
1979
  return [];
1972
1980
  };
1981
+ var resolveDelegationArgs = (options) => {
1982
+ const optionsHasParentPermissionContext = "parentPermissionContext" in options && options.parentPermissionContext;
1983
+ const resolvedParentDelegation = optionsHasParentPermissionContext ? extractLeafDelegation(options.parentPermissionContext) : options.parentDelegation;
1984
+ const authority = (() => {
1985
+ if (!resolvedParentDelegation) {
1986
+ if (!options.scope) {
1987
+ throw new Error(
1988
+ "Invalid arguments - must specify either parentDelegation, parentPermissionContext, or scope"
1989
+ );
1990
+ }
1991
+ return _delegationcore.ROOT_AUTHORITY;
1992
+ }
1993
+ if (typeof resolvedParentDelegation === "string") {
1994
+ if (resolvedParentDelegation.toLowerCase() === _delegationcore.ROOT_AUTHORITY.toLowerCase()) {
1995
+ throw new Error(
1996
+ `Invalid parent delegation - cannot be ${_delegationcore.ROOT_AUTHORITY}`
1997
+ );
1998
+ }
1999
+ return resolvedParentDelegation;
2000
+ }
2001
+ return hashDelegation(resolvedParentDelegation);
2002
+ })();
2003
+ const hasInheritance = resolvedParentDelegation !== void 0;
2004
+ const caveats = resolveCaveats({
2005
+ environment: options.environment,
2006
+ scope: options.scope,
2007
+ caveats: options.caveats,
2008
+ isScopeOptional: hasInheritance
2009
+ });
2010
+ return {
2011
+ authority,
2012
+ caveats,
2013
+ hasInheritance,
2014
+ salt: _nullishCoalesce(options.salt, () => ( "0x00"))
2015
+ };
2016
+ };
1973
2017
  var createDelegation = (options) => {
1974
- const caveats = resolveCaveats(options);
2018
+ const { authority, caveats, hasInheritance, salt } = resolveDelegationArgs(options);
1975
2019
  trackSmartAccountsKitFunctionCall("createDelegation", {
1976
- hasParentDelegation: options.parentDelegation !== void 0,
1977
- scope: options.scope.type,
2020
+ hasInheritance,
2021
+ scope: _nullishCoalesce(_optionalChain([options, 'access', _112 => _112.scope, 'optionalAccess', _113 => _113.type]), () => ( null)),
1978
2022
  caveatNames: getCaveatNames({
1979
2023
  caveats,
1980
2024
  environment: options.environment
@@ -1983,17 +2027,17 @@ var createDelegation = (options) => {
1983
2027
  return {
1984
2028
  delegate: options.to,
1985
2029
  delegator: options.from,
1986
- authority: resolveAuthority(options.parentDelegation),
2030
+ authority,
1987
2031
  caveats,
1988
- salt: _nullishCoalesce(options.salt, () => ( "0x00")),
2032
+ salt,
1989
2033
  signature: "0x"
1990
2034
  };
1991
2035
  };
1992
2036
  var createOpenDelegation = (options) => {
1993
- const caveats = resolveCaveats(options);
2037
+ const { authority, caveats, hasInheritance, salt } = resolveDelegationArgs(options);
1994
2038
  trackSmartAccountsKitFunctionCall("createOpenDelegation", {
1995
- hasParentDelegation: options.parentDelegation !== void 0,
1996
- scope: options.scope.type,
2039
+ hasInheritance,
2040
+ scope: _nullishCoalesce(_optionalChain([options, 'access', _114 => _114.scope, 'optionalAccess', _115 => _115.type]), () => ( null)),
1997
2041
  caveatNames: getCaveatNames({
1998
2042
  caveats,
1999
2043
  environment: options.environment
@@ -2002,9 +2046,9 @@ var createOpenDelegation = (options) => {
2002
2046
  return {
2003
2047
  delegate: _delegationcore.ANY_BENEFICIARY,
2004
2048
  delegator: options.from,
2005
- authority: resolveAuthority(options.parentDelegation),
2049
+ authority,
2006
2050
  caveats,
2007
- salt: _nullishCoalesce(options.salt, () => ( "0x00")),
2051
+ salt,
2008
2052
  signature: "0x"
2009
2053
  };
2010
2054
  };
@@ -2092,4 +2136,4 @@ var signDelegation = async ({
2092
2136
 
2093
2137
 
2094
2138
  exports.__export = __export; exports.trackSmartAccountsKitFunctionCall = trackSmartAccountsKitFunctionCall; exports.Implementation = Implementation; exports.TransferWindow = TransferWindow; exports.ScopeType = ScopeType; exports.CaveatType = CaveatType; exports.CaveatBuilder = CaveatBuilder; exports.createCaveatBuilder = createCaveatBuilder; exports.isDefined = isDefined; exports.toHexOrThrow = toHexOrThrow; exports.createCaveat = createCaveat; exports.decodeCaveat = decodeCaveat; exports.ANY_BENEFICIARY = _delegationcore.ANY_BENEFICIARY; exports.DELEGATION_TYPEHASH = _delegationcore.DELEGATION_TYPEHASH; exports.ROOT_AUTHORITY = _delegationcore.ROOT_AUTHORITY; exports.DELEGATION_ABI_TYPE_COMPONENTS = DELEGATION_ABI_TYPE_COMPONENTS; exports.toDelegationStruct = toDelegationStruct; exports.toDelegation = toDelegation; exports.encodeDelegations = encodeDelegations; exports.encodeDelegation = encodeDelegation; exports.decodeDelegations = decodeDelegations; exports.decodeDelegation = decodeDelegation; exports.SIGNABLE_DELEGATION_TYPED_DATA = SIGNABLE_DELEGATION_TYPED_DATA; exports.DELEGATION_ARRAY_ABI_TYPE = DELEGATION_ARRAY_ABI_TYPE; exports.DELEGATION_ABI_TYPE = DELEGATION_ABI_TYPE; exports.hashDelegation = hashDelegation; exports.createDelegation = createDelegation; exports.createOpenDelegation = createOpenDelegation; exports.prepareSignDelegationTypedData = prepareSignDelegationTypedData; exports.signDelegation = signDelegation;
2095
- //# sourceMappingURL=chunk-TMO23YRP.cjs.map
2139
+ //# sourceMappingURL=chunk-IBZSNB7D.cjs.map