import { Signer, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { PromiseOrValue } from "../common"; import type { CreditAccount, CreditAccountInterface } from "../CreditAccount"; declare type CreditAccountConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class CreditAccount__factory extends ContractFactory { constructor(...args: CreditAccountConstructorParams); deploy(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getDeployTransaction(overrides?: Overrides & { from?: PromiseOrValue; }): TransactionRequest; attach(address: string): CreditAccount; connect(signer: Signer): CreditAccount__factory; static readonly contractName: "CreditAccount"; readonly contractName: "CreditAccount"; static readonly bytecode = "0x608060405234801561001057600080fd5b50610edc806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806354fd4d5011610081578063c45a01551161005b578063c45a0155146101a4578063c75b5a71146101ca578063d1660f99146101dd57600080fd5b806354fd4d501461014f5780638129fc1c14610157578063c12c21c01461015f57600080fd5b80631afbb7a4116100b25780631afbb7a41461011d5780631cff79cd146101265780633dc54b401461014657600080fd5b806316128211146100d957806317d11a15146100ee57806319a160391461010a575b600080fd5b6100ec6100e7366004610bc6565b6101f0565b005b6100f760035481565b6040519081526020015b60405180910390f35b6100ec610118366004610c11565b61024c565b6100f760025481565b610139610134366004610c73565b6102c9565b6040516101019190610dcd565b6100f760045481565b6100f7600181565b6100ec610344565b60015461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610101565b60005461017f9062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ec6101d8366004610de0565b610502565b6100ec6101eb366004610e13565b6105ab565b60015473ffffffffffffffffffffffffffffffffffffffff163314610241576040517f1f51116700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600291909155600355565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff1633146102a3576040517fb126b84800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102c573ffffffffffffffffffffffffffffffffffffffff8316826000610622565b5050565b60015460609073ffffffffffffffffffffffffffffffffffffffff16331461031d576040517f1f51116700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61033d73ffffffffffffffffffffffffffffffffffffffff841683610822565b9392505050565b600054610100900460ff16158080156103645750600054600160ff909116105b8061037e5750303b15801561037e575060005460ff166001145b61040f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561046d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff1633620100000217905580156104ff57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60005462010000900473ffffffffffffffffffffffffffffffffffffffff163314610559576040517fb126b84800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff949094169390931790925560025560035543600455565b60015473ffffffffffffffffffffffffffffffffffffffff1633146105fc576040517f1f51116700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061d73ffffffffffffffffffffffffffffffffffffffff84168383610864565b505050565b8015806106c257506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c09190610e4f565b155b61074e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610406565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261061d9084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526108ba565b606061033d83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506109c6565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261061d9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016107a0565b600061091c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109c69092919063ffffffff16565b80519091501561061d578080602001905181019061093a9190610e68565b61061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610406565b60606109d584846000856109dd565b949350505050565b606082471015610a6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610406565b73ffffffffffffffffffffffffffffffffffffffff85163b610aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610406565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610b169190610e8a565b60006040518083038185875af1925050503d8060008114610b53576040519150601f19603f3d011682016040523d82523d6000602084013e610b58565b606091505b5091509150610b68828286610b73565b979650505050505050565b60608315610b8257508161033d565b825115610b925782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104069190610dcd565b60008060408385031215610bd957600080fd5b50508035926020909101359150565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c0c57600080fd5b919050565b60008060408385031215610c2457600080fd5b610c2d83610be8565b9150610c3b60208401610be8565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215610c8657600080fd5b610c8f83610be8565b9150602083013567ffffffffffffffff80821115610cac57600080fd5b818501915085601f830112610cc057600080fd5b813581811115610cd257610cd2610c44565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610d1857610d18610c44565b81604052828152886020848701011115610d3157600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015610d6e578181015183820152602001610d56565b83811115610d7d576000848401525b50505050565b60008151808452610d9b816020860160208601610d53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061033d6020830184610d83565b600080600060608486031215610df557600080fd5b610dfe84610be8565b95602085013595506040909401359392505050565b600080600060608486031215610e2857600080fd5b610e3184610be8565b9250610e3f60208501610be8565b9150604084013590509250925092565b600060208284031215610e6157600080fd5b5051919050565b600060208284031215610e7a57600080fd5b8151801515811461033d57600080fd5b60008251610e9c818460208701610d53565b919091019291505056fea26469706673582212200a3d06ce3f4e88a33a6f60c7ebc0c38f4b333a151d6e0dfdb54d8c98b2cb4a0064736f6c634300080a0033"; static readonly abi: readonly [{ readonly inputs: readonly []; readonly name: "CallerNotCreditManagerException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CallerNotFactoryException"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint8"; readonly name: "version"; readonly type: "uint8"; }]; readonly name: "Initialized"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "borrowedAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "targetContract"; readonly type: "address"; }]; readonly name: "cancelAllowance"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_creditManager"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_borrowedAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_cumulativeIndexAtOpen"; readonly type: "uint256"; }]; readonly name: "connectTo"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "creditManager"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "cumulativeIndexAtOpen"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "destination"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "execute"; readonly outputs: readonly [{ readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "factory"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "safeTransfer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "since"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_borrowedAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_cumulativeIndexAtOpen"; readonly type: "uint256"; }]; readonly name: "updateParameters"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "version"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): CreditAccountInterface; static connect(address: string, signerOrProvider: Signer | Provider): CreditAccount; } export {};