@opensubaccounts/sdk
    Preparing search index...

    Variable SubaccountFactoryAbiConst

    SubaccountFactoryAbi: readonly [
        {
            inputs: readonly [
                { internalType: "address"; name: "_safeSingleton"; type: "address" },
                { internalType: "address"; name: "_safeProxyFactory"; type: "address" },
                { internalType: "address"; name: "_safeModuleSetup"; type: "address" },
                {
                    internalType: "address";
                    name: "_multichainSignaturesModule";
                    type: "address";
                },
                { internalType: "address"; name: "_allowanceManager"; 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 [
                { 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 [
                { 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 [
                { 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";
        },
        {
            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: "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: "AllowanceManagerRegistrationFailed";
            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 [
                { internalType: "uint256"; name: "balance"; type: "uint256" },
                { internalType: "uint256"; name: "needed"; type: "uint256" },
            ];
            name: "InsufficientBalance";
            type: "error";
        },
        { inputs: readonly []; name: "Reentrancy"; type: "error" },
        { inputs: readonly []; name: "SubaccountAddressMismatch"; type: "error" },
    ] = ...