@opensubaccounts/sdk
    Preparing search index...

    Function getOpenSubaccounts

    • Type Parameters

      Parameters

      Returns {
          [K in string | number | symbol]: (
              {
                  [K in string
                  | number
                  | symbol]: (
                      (
                          (
                              TClient extends { public: Client }
                                  ? TClient<TClient>["public"]
                                  : TClient
                          ) extends Client
                              ? {
                                  read: {
                                      _HARDCODED_CHAIN_ID: (...parameters: ...) => ...;
                                      ALLOWANCE_MANAGER: (...parameters: ...) => ...;
                                      allowanceNonces: (...parameters: ...) => ...;
                                      allowanceRequestBatchTypehash: (...parameters: ...) => ...;
                                      allowanceRequestTypehash: (...parameters: ...) => ...;
                                      allowances: (...parameters: ...) => ...;
                                      domainSeparator: (...parameters: ...) => ...;
                                      eip712Domain: (...parameters: ...) => ...;
                                      encodeTransactionBatchData: (...parameters: ...) => ...;
                                      factory: (...parameters: ...) => ...;
                                      generateAllowanceHolderAddress: (...parameters: ...) => ...;
                                      generateSubaccountAddress: (...parameters: ...) => ...;
                                      hashAllowanceRequestBatch: (...parameters: ...) => ...;
                                      holderAddress: (...parameters: ...) => ...;
                                      isDeployedAllowanceHolder: (...parameters: ...) => ...;
                                      isDeployedSubaccount: (...parameters: ...) => ...;
                                      MULTICHAIN_SIGNATURES_MODULE: (...parameters: ...) => ...;
                                      permit2: (...parameters: ...) => ...;
                                      SAFE_MODULE_SETUP: (...parameters: ...) => ...;
                                      SAFE_PROXY_FACTORY: (...parameters: ...) => ...;
                                      SAFE_SINGLETON: (...parameters: ...) => ...;
                                      SIGLESS_TRANSACTION_EXECUTOR: (...parameters: ...) => ...;
                                      VERSION: (...parameters: ...) => ...;
                                  };
                              } & {
                                  estimateGas: {
                                      bootstrapAllowance: (...parameters: ...) => ...;
                                      commitHolder: (...parameters: ...) => ...;
                                      createAllowanceHolder: (...parameters: ...) => ...;
                                      createSubaccount: (...parameters: ...) => ...;
                                      execTransactionBatch: (...parameters: ...) => ...;
                                      registerHolder: (...parameters: ...) => ...;
                                      setAllowances: (...parameters: ...) => ...;
                                      spendAllowance: (...parameters: ...) => ...;
                                  };
                                  simulate: {
                                      bootstrapAllowance: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      commitHolder: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      createAllowanceHolder: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      createSubaccount: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      execTransactionBatch: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      registerHolder: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      setAllowances: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      spendAllowance: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                  };
                              } & {
                                  createEventFilter: {
                                      AllowanceHolderCreated: <
                                          const args extends ...,
                                          strict extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      AllowanceSet: <const args extends ..., strict extends ... = ...>(
                                          ...parameters: ...,
                                      ) => ...;
                                      AllowanceSpent: <const args extends ..., strict extends ... = ...>(
                                          ...parameters: ...,
                                      ) => ...;
                                      HolderPullFailed: <const args extends ..., strict extends ... = ...>(
                                          ...parameters: ...,
                                      ) => ...;
                                      SafeTxFailed: <const args extends ..., strict extends ... = ...>(
                                          ...parameters: ...,
                                      ) => ...;
                                      SubaccountCreated: <
                                          const args extends ...,
                                          strict extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                  };
                                  getEvents: {
                                      AllowanceHolderCreated: (...parameters: ...) => ...;
                                      AllowanceSet: (...parameters: ...) => ...;
                                      AllowanceSpent: (...parameters: ...) => ...;
                                      HolderPullFailed: (...parameters: ...) => ...;
                                      SafeTxFailed: (...parameters: ...) => ...;
                                      SubaccountCreated: (...parameters: ...) => ...;
                                  };
                                  watchEvent: {
                                      AllowanceHolderCreated: (...parameters: ...) => ...;
                                      AllowanceSet: (...parameters: ...) => ...;
                                      AllowanceSpent: (...parameters: ...) => ...;
                                      HolderPullFailed: (...parameters: ...) => ...;
                                      SafeTxFailed: (...parameters: ...) => ...;
                                      SubaccountCreated: (...parameters: ...) => ...;
                                  };
                              }
                              : unknown
                      ) & (
                          (
                              TClient extends { wallet: Client }
                                  ? TClient<TClient>["wallet"]
                                  : TClient
                          ) extends Client
                              ? {
                                  estimateGas: {
                                      bootstrapAllowance: (
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      commitHolder: (
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      createAllowanceHolder: (
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      createSubaccount: (
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      execTransactionBatch: (
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      registerHolder: (
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      setAllowances: (
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      spendAllowance: (
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                  };
                                  write: {
                                      bootstrapAllowance: <
                                          chainOverride extends (...)
                                          | (...),
                                          options extends { [K in (...)]: (...) },
                                      >(
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      commitHolder: <
                                          chainOverride extends (...)
                                          | (...),
                                          options extends { [K in (...)]: (...) },
                                      >(
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      createAllowanceHolder: <
                                          chainOverride extends (...)
                                          | (...),
                                          options extends { [K in (...)]: (...) },
                                      >(
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      createSubaccount: <
                                          chainOverride extends (...)
                                          | (...),
                                          options extends { [K in (...)]: (...) },
                                      >(
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      execTransactionBatch: <
                                          chainOverride extends (...)
                                          | (...),
                                          options extends { [K in (...)]: (...) },
                                      >(
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      registerHolder: <
                                          chainOverride extends (...)
                                          | (...),
                                          options extends { [K in (...)]: (...) },
                                      >(
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      setAllowances: <
                                          chainOverride extends (...)
                                          | (...),
                                          options extends { [K in (...)]: (...) },
                                      >(
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      spendAllowance: <
                                          chainOverride extends (...)
                                          | (...),
                                          options extends { [K in (...)]: (...) },
                                      >(
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                  };
                              }
                              : unknown
                      )
                  )[K]
              } & {
                  abi: readonly [
                      {
                          inputs: readonly [
                              {
                                  internalType: "address";
                                  name: "_siglessTransactionExecutor";
                                  type: "address";
                              },
                              { internalType: "address"; name: "_safeSingleton"; type: "address" },
                              {
                                  internalType: "address";
                                  name: "_safeProxyFactory";
                                  type: "address";
                              },
                              { internalType: "address"; name: "_safeModuleSetup"; type: "address" },
                              { internalType: "address"; name: "_permit2"; type: "address" },
                          ];
                          stateMutability: "nonpayable";
                          type: "constructor";
                      },
                      {
                          inputs: readonly [];
                          name: "ALLOWANCE_MANAGER";
                          outputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "MULTICHAIN_SIGNATURES_MODULE";
                          outputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "SAFE_MODULE_SETUP";
                          outputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "SAFE_PROXY_FACTORY";
                          outputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "SAFE_SINGLETON";
                          outputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "SIGLESS_TRANSACTION_EXECUTOR";
                          outputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "VERSION";
                          outputs: readonly [
                              { internalType: "string"; name: ""; type: "string" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "_HARDCODED_CHAIN_ID";
                          outputs: readonly [
                              { internalType: "uint256"; name: ""; type: "uint256" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                              { internalType: "address"; name: ""; type: "address" },
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          name: "allowanceNonces";
                          outputs: readonly [
                              { internalType: "uint256"; name: ""; type: "uint256" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "allowanceRequestBatchTypehash";
                          outputs: readonly [
                              { internalType: "bytes32"; name: ""; type: "bytes32" },
                          ];
                          stateMutability: "pure";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "allowanceRequestTypehash";
                          outputs: readonly [
                              { internalType: "bytes32"; name: ""; type: "bytes32" },
                          ];
                          stateMutability: "pure";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "subaccount"; type: "address" },
                              { internalType: "address"; name: "token"; type: "address" },
                          ];
                          name: "allowances";
                          outputs: readonly [
                              {
                                  components: readonly [
                                      { internalType: "uint256"; name: "amount"; type: "uint256" },
                                      { internalType: "uint256"; name: "timeframe"; type: "uint256" },
                                      { internalType: "uint256"; name: "spent"; type: "uint256" },
                                      { internalType: "uint256"; name: "resetsAt"; type: "uint256" },
                                  ];
                                  internalType: "struct IAllowanceManager.Allowance";
                                  name: "";
                                  type: "tuple";
                              },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "subaccount"; type: "address" },
                              { internalType: "address"; name: "token"; type: "address" },
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                              { internalType: "uint256"; name: "timeframe"; type: "uint256" },
                          ];
                          name: "bootstrapAllowance";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "token"; type: "address" },
                              { internalType: "address"; name: "holder"; type: "address" },
                          ];
                          name: "commitHolder";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "token"; type: "address" },
                              { internalType: "address"; name: "subaccount"; type: "address" },
                              { internalType: "uint256"; name: "quotaAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "quotaTimeframe"; type: "uint256" },
                              { internalType: "uint256"; name: "initialFund"; type: "uint256" },
                              { internalType: "bytes"; name: "firstCallData"; type: "bytes" },
                              { internalType: "uint256"; name: "permitDeadline"; type: "uint256" },
                              { internalType: "uint8"; name: "v"; type: "uint8" },
                              { internalType: "bytes32"; name: "r"; type: "bytes32" },
                              { internalType: "bytes32"; name: "s"; type: "bytes32" },
                          ];
                          name: "createAllowanceHolder";
                          outputs: readonly [
                              { internalType: "address"; name: "holder"; type: "address" },
                          ];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "string"; name: "appDomain"; type: "string" },
                              { internalType: "uint32"; name: "accountIndex"; type: "uint32" },
                          ];
                          name: "createSubaccount";
                          outputs: readonly [
                              { internalType: "address"; name: "subaccount"; type: "address" },
                          ];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "domainSeparator";
                          outputs: readonly [
                              { internalType: "bytes32"; name: "separator"; type: "bytes32" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "eip712Domain";
                          outputs: readonly [
                              { internalType: "bytes1"; name: "fields"; type: "bytes1" },
                              { internalType: "string"; name: "name"; type: "string" },
                              { internalType: "string"; name: "version"; type: "string" },
                              { internalType: "uint256"; name: "chainId"; type: "uint256" },
                              {
                                  internalType: "address";
                                  name: "verifyingContract";
                                  type: "address";
                              },
                              { internalType: "bytes32"; name: "salt"; type: "bytes32" },
                              { internalType: "uint256[]"; name: "extensions"; type: "uint256[]" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              {
                                  components: readonly [
                                      { internalType: "address"; name: "subaccount"; type: "address" },
                                      {
                                          components: readonly [
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                          ];
                                          internalType: "struct ISafeTx.SafeTx[]";
                                          name: "safeTxs";
                                          type: "tuple[]";
                                      },
                                      { internalType: "uint256[]"; name: "chainIds"; type: "uint256[]" },
                                  ];
                                  internalType: "struct MultiChainSignaturesModule.SafeTxBatch";
                                  name: "safeTxBatch";
                                  type: "tuple";
                              },
                          ];
                          name: "encodeTransactionBatchData";
                          outputs: readonly [{ internalType: "bytes"; name: ""; type: "bytes" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "account"; type: "address" },
                              {
                                  components: readonly [
                                      { internalType: "address"; name: "subaccount"; type: "address" },
                                      {
                                          components: readonly [
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                              (...),
                                          ];
                                          internalType: "struct ISafeTx.SafeTx[]";
                                          name: "safeTxs";
                                          type: "tuple[]";
                                      },
                                      { internalType: "uint256[]"; name: "chainIds"; type: "uint256[]" },
                                  ];
                                  internalType: "struct MultiChainSignaturesModule.SafeTxBatch";
                                  name: "safeTxBatch";
                                  type: "tuple";
                              },
                              { internalType: "bytes"; name: "signatures"; type: "bytes" },
                          ];
                          name: "execTransactionBatch";
                          outputs: readonly [
                              { internalType: "bool"; name: "success"; type: "bool" },
                          ];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "factory";
                          outputs: readonly [
                              {
                                  internalType: "address";
                                  name: "factoryAddress";
                                  type: "address";
                              },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "token"; type: "address" },
                              { internalType: "address"; name: "subaccount"; type: "address" },
                              { internalType: "uint256"; name: "quotaAmount"; type: "uint256" },
                              { internalType: "uint256"; name: "timeframe"; type: "uint256" },
                              { internalType: "uint256"; name: "initialFund"; type: "uint256" },
                              { internalType: "bytes"; name: "firstCallData"; type: "bytes" },
                          ];
                          name: "generateAllowanceHolderAddress";
                          outputs: readonly [
                              { internalType: "address"; name: "holder"; type: "address" },
                              { internalType: "bool"; name: "isDeployed"; type: "bool" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "string"; name: "appDomain"; type: "string" },
                              { internalType: "uint32"; name: "accountIndex"; type: "uint32" },
                          ];
                          name: "generateSubaccountAddress";
                          outputs: readonly [
                              { internalType: "address"; name: "subaccount"; type: "address" },
                              { internalType: "bool"; name: "isDeployed"; type: "bool" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              {
                                  components: readonly [
                                      {
                                          components: readonly [(...), (...), (...), (...), (...)];
                                          internalType: "struct IAllowanceManager.AllowanceRequest[]";
                                          name: "requests";
                                          type: "tuple[]";
                                      },
                                      { internalType: "uint256[]"; name: "chainIds"; type: "uint256[]" },
                                  ];
                                  internalType: "struct IAllowanceManager.AllowanceRequestBatch";
                                  name: "batch";
                                  type: "tuple";
                              },
                          ];
                          name: "hashAllowanceRequestBatch";
                          outputs: readonly [
                              { internalType: "bytes32"; name: "structHash"; type: "bytes32" },
                          ];
                          stateMutability: "pure";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "token"; type: "address" },
                          ];
                          name: "holderAddress";
                          outputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          name: "isDeployedAllowanceHolder";
                          outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          name: "isDeployedSubaccount";
                          outputs: readonly [{ internalType: "bool"; name: ""; type: "bool" }];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [];
                          name: "permit2";
                          outputs: readonly [
                              { internalType: "address"; name: ""; type: "address" },
                          ];
                          stateMutability: "view";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "holder"; type: "address" },
                          ];
                          name: "registerHolder";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              {
                                  components: readonly [
                                      {
                                          components: readonly [(...), (...), (...), (...), (...)];
                                          internalType: "struct IAllowanceManager.AllowanceRequest[]";
                                          name: "requests";
                                          type: "tuple[]";
                                      },
                                      { internalType: "uint256[]"; name: "chainIds"; type: "uint256[]" },
                                  ];
                                  internalType: "struct IAllowanceManager.AllowanceRequestBatch";
                                  name: "requests";
                                  type: "tuple";
                              },
                              { internalType: "bytes"; name: "signature"; type: "bytes" },
                          ];
                          name: "setAllowances";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "owner"; type: "address" },
                              { internalType: "address"; name: "token"; type: "address" },
                              { internalType: "uint256"; name: "amount"; type: "uint256" },
                          ];
                          name: "spendAllowance";
                          outputs: readonly [];
                          stateMutability: "nonpayable";
                          type: "function";
                      },
                      {
                          anonymous: false;
                          inputs: readonly [
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "holder";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "owner";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              },
                          ];
                          name: "AllowanceHolderCreated";
                          type: "event";
                      },
                      {
                          anonymous: false;
                          inputs: readonly [
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "owner";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "subaccount";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              },
                              {
                                  indexed: false;
                                  internalType: "uint256";
                                  name: "amount";
                                  type: "uint256";
                              },
                              {
                                  indexed: false;
                                  internalType: "uint256";
                                  name: "timeframe";
                                  type: "uint256";
                              },
                          ];
                          name: "AllowanceSet";
                          type: "event";
                      },
                      {
                          anonymous: false;
                          inputs: readonly [
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "owner";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "subaccount";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "token";
                                  type: "address";
                              },
                              {
                                  indexed: false;
                                  internalType: "uint256";
                                  name: "amount";
                                  type: "uint256";
                              },
                          ];
                          name: "AllowanceSpent";
                          type: "event";
                      },
                      {
                          anonymous: false;
                          inputs: readonly [
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "holder";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "subaccount";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "uint256";
                                  name: "amount";
                                  type: "uint256";
                              },
                          ];
                          name: "HolderPullFailed";
                          type: "event";
                      },
                      {
                          anonymous: false;
                          inputs: readonly [
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "safe";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "uint256";
                                  name: "index";
                                  type: "uint256";
                              },
                          ];
                          name: "SafeTxFailed";
                          type: "event";
                      },
                      {
                          anonymous: false;
                          inputs: readonly [
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "subaccount";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "address";
                                  name: "owner";
                                  type: "address";
                              },
                              {
                                  indexed: true;
                                  internalType: "string";
                                  name: "appDomain";
                                  type: "string";
                              },
                              {
                                  indexed: false;
                                  internalType: "uint32";
                                  name: "accountIndex";
                                  type: "uint32";
                              },
                          ];
                          name: "SubaccountCreated";
                          type: "event";
                      },
                      { inputs: readonly []; name: "AllowanceExceeded"; type: "error" },
                      {
                          inputs: readonly [];
                          name: "AllowanceManagerRegistrationFailed";
                          type: "error";
                      },
                      { inputs: readonly []; name: "AlreadyInitialised"; type: "error" },
                      { inputs: readonly []; name: "Create2EmptyBytecode"; type: "error" },
                      {
                          inputs: readonly [
                              { internalType: "bytes"; name: "dns"; type: "bytes" },
                          ];
                          name: "DNSDecodingFailed";
                          type: "error";
                      },
                      {
                          inputs: readonly [
                              { internalType: "string"; name: "ens"; type: "string" },
                          ];
                          name: "DNSEncodingFailed";
                          type: "error";
                      },
                      { inputs: readonly []; name: "FailedDeployment"; type: "error" },
                      { inputs: readonly []; name: "HolderAddressMismatch"; type: "error" },
                      { inputs: readonly []; name: "HolderAlreadyCommitted"; type: "error" },
                      { inputs: readonly []; name: "HolderCommitMismatch"; type: "error" },
                      { inputs: readonly []; name: "HolderManagerMismatch"; type: "error" },
                      { inputs: readonly []; name: "HolderMismatch"; type: "error" },
                      { inputs: readonly []; name: "HolderNotCommitted"; type: "error" },
                      { inputs: readonly []; name: "HolderOwnerMismatch"; type: "error" },
                      { inputs: readonly []; name: "HolderTokenMismatch"; type: "error" },
                      {
                          inputs: readonly [
                              { internalType: "uint256"; name: "balance"; type: "uint256" },
                              { internalType: "uint256"; name: "needed"; type: "uint256" },
                          ];
                          name: "InsufficientBalance";
                          type: "error";
                      },
                      { inputs: readonly []; name: "InvalidContractSignature"; type: "error" },
                      { inputs: readonly []; name: "InvalidNonce"; type: "error" },
                      { inputs: readonly []; name: "InvalidSignature"; type: "error" },
                      { inputs: readonly []; name: "InvalidSignatureLength"; type: "error" },
                      { inputs: readonly []; name: "InvalidSigner"; type: "error" },
                      { inputs: readonly []; name: "LengthMismatch"; type: "error" },
                      { inputs: readonly []; name: "MismatchedSubaccount"; type: "error" },
                      { inputs: readonly []; name: "Reentrancy"; type: "error" },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "token"; type: "address" },
                          ];
                          name: "SafeERC20FailedOperation";
                          type: "error";
                      },
                      {
                          inputs: readonly [];
                          name: "SubaccountAddressMismatch";
                          type: "error";
                      },
                      { inputs: readonly []; name: "UnauthorizedCaller"; type: "error" },
                      { inputs: readonly []; name: "ZeroAmount"; type: "error" },
                  ];
                  address: `0x${string}`;
              }
          )[K]
      }