@opensubaccounts/sdk
    Preparing search index...

    Function getAllowanceManager

    • 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: ...) => ...;
                                      allowanceNonces: (...parameters: ...) => ...;
                                      allowanceRequestBatchTypehash: (...parameters: ...) => ...;
                                      allowanceRequestTypehash: (...parameters: ...) => ...;
                                      allowances: (...parameters: ...) => ...;
                                      eip712Domain: (...parameters: ...) => ...;
                                      factory: (...parameters: ...) => ...;
                                      hashAllowanceRequestBatch: (...parameters: ...) => ...;
                                      holderAddress: (...parameters: ...) => ...;
                                      permit2: (...parameters: ...) => ...;
                                  };
                              } & {
                                  estimateGas: {
                                      bootstrapAllowance: (...parameters: ...) => ...;
                                      commitHolder: (...parameters: ...) => ...;
                                      registerHolder: (...parameters: ...) => ...;
                                      setAllowances: (...parameters: ...) => ...;
                                      spendAllowance: (...parameters: ...) => ...;
                                  };
                                  simulate: {
                                      bootstrapAllowance: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      commitHolder: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      registerHolder: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      setAllowances: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                      spendAllowance: <
                                          chainOverride extends ... = ...,
                                          accountOverride extends ... = ...,
                                      >(
                                          ...parameters: ...,
                                      ) => ...;
                                  };
                              } & {
                                  createEventFilter: {
                                      AllowanceSet: <const args extends ..., strict extends ... = ...>(
                                          ...parameters: ...,
                                      ) => ...;
                                      AllowanceSpent: <const args extends ..., strict extends ... = ...>(
                                          ...parameters: ...,
                                      ) => ...;
                                      HolderPullFailed: <const args extends ..., strict extends ... = ...>(
                                          ...parameters: ...,
                                      ) => ...;
                                  };
                                  getEvents: {
                                      AllowanceSet: (...parameters: ...) => ...;
                                      AllowanceSpent: (...parameters: ...) => ...;
                                      HolderPullFailed: (...parameters: ...) => ...;
                                  };
                                  watchEvent: {
                                      AllowanceSet: (...parameters: ...) => ...;
                                      AllowanceSpent: (...parameters: ...) => ...;
                                      HolderPullFailed: (...parameters: ...) => ...;
                                  };
                              }
                              : unknown
                      ) & (
                          (
                              TClient extends { wallet: Client }
                                  ? TClient<TClient>["wallet"]
                                  : TClient
                          ) extends Client
                              ? {
                                  estimateGas: {
                                      bootstrapAllowance: (
                                          ...parameters: [args: ..., ...parameters: (...)[]],
                                      ) => Promise<(...)>;
                                      commitHolder: (
                                          ...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<(...)>;
                                      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: "_permit2"; type: "address" },
                              { internalType: "address"; name: "factoryAddr"; type: "address" },
                          ];
                          stateMutability: "nonpayable";
                          type: "constructor";
                      },
                      {
                          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 [];
                          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 [];
                          name: "factory";
                          outputs: readonly [
                              {
                                  internalType: "address";
                                  name: "factoryAddress";
                                  type: "address";
                              },
                          ];
                          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 [];
                          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: "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";
                      },
                      { inputs: readonly []; name: "AllowanceExceeded"; type: "error" },
                      { inputs: readonly []; name: "AlreadyInitialised"; 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 []; 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: "Reentrancy"; type: "error" },
                      {
                          inputs: readonly [
                              { internalType: "address"; name: "token"; type: "address" },
                          ];
                          name: "SafeERC20FailedOperation";
                          type: "error";
                      },
                      { inputs: readonly []; name: "UnauthorizedCaller"; type: "error" },
                      { inputs: readonly []; name: "ZeroAmount"; type: "error" },
                  ];
                  address: `0x${string}`;
              }
          )[K]
      }