/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { PaymentSplitterUpgradeable, PaymentSplitterUpgradeableInterface, } from "../PaymentSplitterUpgradeable"; const _abi = [ { anonymous: false, inputs: [ { indexed: true, internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, { indexed: false, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "ERC20PaymentReleased", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "account", type: "address", }, { indexed: false, internalType: "uint256", name: "shares", type: "uint256", }, ], name: "PayeeAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "from", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "PaymentReceived", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, ], name: "PaymentReleased", type: "event", }, { inputs: [ { internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, ], name: "distribute", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "distribute", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "index", type: "uint256", }, ], name: "payee", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "payeeCount", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address payable", name: "account", type: "address", }, ], name: "release", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, { internalType: "address", name: "account", type: "address", }, ], name: "release", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, { internalType: "address", name: "account", type: "address", }, ], name: "released", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, ], name: "released", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "account", type: "address", }, ], name: "shares", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, ], name: "totalReleased", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "totalReleased", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "totalShares", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { stateMutability: "payable", type: "receive", }, ]; const _bytecode = "0x608060405234801561001057600080fd5b50610d9c806100206000396000f3fe6080604052600436106100ca5760003560e01c80638b83209b11610074578063d79779b21161004e578063d79779b21461029d578063e33b7de3146102d3578063e4fc6b6d146102e857600080fd5b80638b83209b146101f95780639852595c14610231578063ce7c2ac21461026757600080fd5b8063406072a9116100a5578063406072a91461017357806348b75044146101b957806363453ae1146101d957600080fd5b8062dbe10914610118578063191655871461013c5780633a98ef391461015e57600080fd5b36610113577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b600080fd5b34801561012457600080fd5b506037545b6040519081526020015b60405180910390f35b34801561014857600080fd5b5061015c610157366004610baf565b6102fd565b005b34801561016a57600080fd5b50603354610129565b34801561017f57600080fd5b5061012961018e366004610bcc565b6001600160a01b03918216600090815260396020908152604080832093909416825291909152205490565b3480156101c557600080fd5b5061015c6101d4366004610bcc565b6104b3565b3480156101e557600080fd5b5061015c6101f4366004610baf565b61071e565b34801561020557600080fd5b50610219610214366004610c05565b610772565b6040516001600160a01b039091168152602001610133565b34801561023d57600080fd5b5061012961024c366004610baf565b6001600160a01b031660009081526036602052604090205490565b34801561027357600080fd5b50610129610282366004610baf565b6001600160a01b031660009081526035602052604090205490565b3480156102a957600080fd5b506101296102b8366004610baf565b6001600160a01b031660009081526038602052604090205490565b3480156102df57600080fd5b50603454610129565b3480156102f457600080fd5b5061015c6107a2565b6001600160a01b0381166000908152603560205260409020546103765760405162461bcd60e51b815260206004820152602660248201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060448201526573686172657360d01b60648201526084015b60405180910390fd5b600061038160345490565b61038b9047610c34565b905060006103b883836103b3866001600160a01b031660009081526036602052604090205490565b6107f4565b90508061041b5760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060448201526a191d59481c185e5b595b9d60aa1b606482015260840161036d565b6001600160a01b03831660009081526036602052604081208054839290610443908490610c34565b92505081905550806034600082825461045c9190610c34565b9091555061046c9050838261083c565b604080516001600160a01b0385168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a1505050565b6001600160a01b0381166000908152603560205260409020546105275760405162461bcd60e51b815260206004820152602660248201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060448201526573686172657360d01b606482015260840161036d565b6001600160a01b0382166000908152603860205260408120546040516370a0823160e01b81523060048201526001600160a01b038516906370a082319060240160206040518083038186803b15801561057f57600080fd5b505afa158015610593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b79190610c4c565b6105c19190610c34565b905060006105fa83836103b387876001600160a01b03918216600090815260396020908152604080832093909416825291909152205490565b90508061065d5760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060448201526a191d59481c185e5b595b9d60aa1b606482015260840161036d565b6001600160a01b03808516600090815260396020908152604080832093871683529290529081208054839290610694908490610c34565b90915550506001600160a01b038416600090815260386020526040812080548392906106c1908490610c34565b909155506106d2905084848361095a565b604080516001600160a01b038581168252602082018490528616917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a250505050565b60005b60375481101561076e5761075c826037838154811061074257610742610c65565b6000918252602090912001546001600160a01b03166104b3565b8061076681610c7b565b915050610721565b5050565b60006037828154811061078757610787610c65565b6000918252602090912001546001600160a01b031692915050565b60005b6037548110156107f1576107df603782815481106107c5576107c5610c65565b6000918252602090912001546001600160a01b03166102fd565b806107e981610c7b565b9150506107a5565b50565b6033546001600160a01b0384166000908152603560205260408120549091839161081e9086610c96565b6108289190610cb5565b6108329190610cd7565b90505b9392505050565b8047101561088c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161036d565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146108d9576040519150601f19603f3d011682016040523d82523d6000602084013e6108de565b606091505b50509050806109555760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161036d565b505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610955928692916000916109ff918516908490610a8f565b8051909150156109555780806020019051810190610a1d9190610cee565b6109555760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161036d565b6060610832848460008585843b610ae85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161036d565b600080866001600160a01b03168587604051610b049190610d40565b60006040518083038185875af1925050503d8060008114610b41576040519150601f19603f3d011682016040523d82523d6000602084013e610b46565b606091505b5091509150610b56828286610b61565b979650505050505050565b60608315610b70575081610835565b825115610b805782518084602001fd5b8160405162461bcd60e51b815260040161036d9190610d5c565b6001600160a01b03811681146107f157600080fd5b600060208284031215610bc157600080fd5b813561083581610b9a565b60008060408385031215610bdf57600080fd5b8235610bea81610b9a565b91506020830135610bfa81610b9a565b809150509250929050565b600060208284031215610c1757600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610c4757610c47610c1e565b500190565b600060208284031215610c5e57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610c8f57610c8f610c1e565b5060010190565b6000816000190483118215151615610cb057610cb0610c1e565b500290565b600082610cd257634e487b7160e01b600052601260045260246000fd5b500490565b600082821015610ce957610ce9610c1e565b500390565b600060208284031215610d0057600080fd5b8151801515811461083557600080fd5b60005b83811015610d2b578181015183820152602001610d13565b83811115610d3a576000848401525b50505050565b60008251610d52818460208701610d10565b9190910192915050565b6020815260008251806020840152610d7b816040850160208701610d10565b601f01601f1916919091016040019291505056fea164736f6c6343000809000a"; type PaymentSplitterUpgradeableConstructorParams = | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: PaymentSplitterUpgradeableConstructorParams ): xs is ConstructorParameters => xs.length > 1; export class PaymentSplitterUpgradeable__factory extends ContractFactory { constructor(...args: PaymentSplitterUpgradeableConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { super(_abi, _bytecode, args[0]); } } deploy( overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy(overrides || {}) as Promise; } getDeployTransaction( overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction(overrides || {}); } attach(address: string): PaymentSplitterUpgradeable { return super.attach(address) as PaymentSplitterUpgradeable; } connect(signer: Signer): PaymentSplitterUpgradeable__factory { return super.connect(signer) as PaymentSplitterUpgradeable__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): PaymentSplitterUpgradeableInterface { return new utils.Interface(_abi) as PaymentSplitterUpgradeableInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): PaymentSplitterUpgradeable { return new Contract( address, _abi, signerOrProvider ) as PaymentSplitterUpgradeable; } }