import { Signer, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { Pool, PoolInterface } from "../Pool"; type PoolConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class Pool__factory extends ContractFactory { constructor(...args: PoolConstructorParams); deploy(overrides?: Overrides & { from?: string; }): Promise; getDeployTransaction(overrides?: Overrides & { from?: string; }): TransactionRequest; attach(address: string): Pool; connect(signer: Signer): Pool__factory; static readonly bytecode = "0x60a06040523060805234801561001457600080fd5b5060805161367161004c600039600081816108a3015281816108e301528181610c7601528181610cb60152610d4501526136716000f3fe6080604052600436106101c25760003560e01c80635f2225c2116100f757806391d1485411610095578063b6b55f2511610064578063b6b55f25146104ca578063bd827916146104ea578063d547741f1461050a578063f1a80e621461052a57600080fd5b806391d148541461046b5780639e4a88e11461048b578063a217fddf146104a0578063aa09d5b7146104b557600080fd5b806371bb0bab116100d157806371bb0bab146103e657806379502c5514610406578063872697291461043f5780638836d9021461045657600080fd5b80635f2225c2146103915780636acab9da146103b157806371a97305146103d157600080fd5b80633659cfe611610164578063485cc9551161013e578063485cc955146103315780634f1ef2861461035157806352d1902d146103645780635c975abb1461037957600080fd5b80633659cfe6146102dc5780633f245c4d146102fc57806346c2f13a1461031c57600080fd5b80632e1a7d4d116101a05780632e1a7d4d1461025a5780632f2ff15d1461027c578063338744bc1461029c57806336568abe146102bc57600080fd5b806301ffc9a7146101c757806323b872dd146101fc578063248a9ca31461021c575b600080fd5b3480156101d357600080fd5b506101e76101e2366004612ee0565b610541565b60405190151581526020015b60405180910390f35b34801561020857600080fd5b506101e7610217366004612f1f565b610578565b34801561022857600080fd5b5061024c610237366004612f60565b600090815260fb602052604090206001015490565b6040519081526020016101f3565b34801561026657600080fd5b5061027a610275366004612f60565b61067a565b005b34801561028857600080fd5b5061027a610297366004612f79565b610700565b3480156102a857600080fd5b5061027a6102b7366004612fa9565b61072a565b3480156102c857600080fd5b5061027a6102d7366004612f79565b61081b565b3480156102e857600080fd5b5061027a6102f7366004612fd5565b610899565b34801561030857600080fd5b5061024c610317366004612f60565b610975565b34801561032857600080fd5b5061027a61099f565b34801561033d57600080fd5b5061027a61034c366004612ff2565b6109e2565b61027a61035f366004613036565b610c6c565b34801561037057600080fd5b5061024c610d38565b34801561038557600080fd5b5060975460ff166101e7565b34801561039d57600080fd5b5061027a6103ac366004612f60565b610deb565b3480156103bd57600080fd5b506101e76103cc366004612fa9565b610e70565b3480156103dd57600080fd5b5061024c610ee4565b3480156103f257600080fd5b5061027a6104013660046130fa565b61106b565b34801561041257600080fd5b5061016054610427906001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b34801561044b57600080fd5b5061024c61015f5481565b34801561046257600080fd5b5061027a6110c4565b34801561047757600080fd5b506101e7610486366004612f79565b6110e0565b34801561049757600080fd5b5061027a61110b565b3480156104ac57600080fd5b5061024c600081565b3480156104c157600080fd5b5061027a611312565b3480156104d657600080fd5b5061027a6104e5366004612f60565b611372565b3480156104f657600080fd5b5061027a610505366004612f79565b6115a0565b34801561051657600080fd5b5061027a610525366004612f79565b6116fd565b34801561053657600080fd5b5061024c6101615481565b60006001600160e01b03198216637965db0b60e01b148061057257506301ffc9a760e01b6001600160e01b03198316145b92915050565b61016054600090610591906001600160a01b0316611722565b6001600160a01b0316336001600160a01b0316146105ca5760405162461bcd60e51b81526004016105c19061312f565b60405180910390fd5b6105d2611795565b60006105df8585856117db565b9050806106255760405162461bcd60e51b81526020600482015260146024820152731554d110c8151c985b9cd9995c8819985a5b195960621b60448201526064016105c1565b836001600160a01b0316856001600160a01b03167f422971e1d1a7c8b68372f65fe1426aef054f0c6290124a929c843c5c019521d68560405161066a91815260200190565b60405180910390a3949350505050565b610682611795565b61068a6118d4565b600081116106da5760405162461bcd60e51b815260206004820152601c60248201527f4d757374207769746864726177206d6f7265207468616e207a65726f0000000060448201526064016105c1565b60006106e58261192f565b90506106f18282611952565b506106fd600161012d55565b50565b600082815260fb602052604090206001015461071b81611bd1565b6107258383611bdb565b505050565b61016054610740906001600160a01b0316611722565b6001600160a01b0316336001600160a01b0316146107705760405162461bcd60e51b81526004016105c19061312f565b610778611795565b60008113156107a757600061078c82611c61565b61015f5490915061079d9082611c79565b61015f55506107d4565b60006107bd6107b88360001961319a565b611c61565b61015f549091506107ce9082611c85565b61015f55505b816001600160a01b03167f8c23a9a70a8448cfed7aae767d71bd68857b79de2d189ee6a770619ada8b857a8260405161080f91815260200190565b60405180910390a25050565b6001600160a01b038116331461088b5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016105c1565b6108958282611c91565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108e15760405162461bcd60e51b81526004016105c1906131ca565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661092a6000805160206135f5833981519152546001600160a01b031690565b6001600160a01b0316146109505760405162461bcd60e51b81526004016105c190613216565b61095981611cf8565b604080516000808252602082019092526106fd91839190611d02565b600061057261099a610985611e6d565b61015f54610994908690611e80565b90611e8c565b611e98565b6109a96000611bd1565b610160546109bf906001600160a01b0316611eb7565b61016080546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff1615808015610a025750600054600160ff909116105b80610a1c5750303b158015610a1c575060005460ff166001145b610a7f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105c1565b6000805460ff191660011790558015610aa2576000805461ff0019166101001790555b610aaa611ecf565b610ab5600084611efe565b610abd611f08565b61016080546001600160a01b0319166001600160a01b038416179055610ae1611e6d565b61015f5561016054600090610afe906001600160a01b0316611f37565b9050806001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b629190613262565b5060405163095ea7b360e01b815230600482015260001960248201526000906001600160a01b0383169063095ea7b3906044016020604051808303816000875af1158015610bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd8919061327b565b905080610c205760405162461bcd60e51b81526020600482015260166024820152754661696c656420746f20617070726f7665205553444360501b60448201526064016105c1565b50508015610725576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610cb45760405162461bcd60e51b81526004016105c1906131ca565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610cfd6000805160206135f5833981519152546001600160a01b031690565b6001600160a01b031614610d235760405162461bcd60e51b81526004016105c190613216565b610d2c82611cf8565b61089582826001611d02565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016105c1565b506000805160206135f583398151915290565b610df3611795565b610dfb6118d4565b60008111610e4b5760405162461bcd60e51b815260206004820152601c60248201527f4d757374207769746864726177206d6f7265207468616e207a65726f0000000060448201526064016105c1565b6000610e5682610975565b905081610e638282611952565b50506106fd600161012d55565b61016054600090610e89906001600160a01b0316611722565b6001600160a01b0316336001600160a01b031614610eb95760405162461bcd60e51b81526004016105c19061312f565b610ec1611795565b6101615415610ed257610ed2611f42565b610edd308484610578565b9392505050565b610160546000908190610eff906001600160a01b0316611fd1565b9050611065816001600160a01b031663a6f4487e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f669190613262565b61105f836001600160a01b031663ed80c8506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb9190613262565b6101605461105990610fe5906001600160a01b0316611f37565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa15801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f9190613262565b6101615490611c79565b90611c79565b90611c85565b91505090565b61016054611081906001600160a01b0316611722565b6001600160a01b0316336001600160a01b0316146110b15760405162461bcd60e51b81526004016105c19061312f565b6110b9611795565b610725838383611fdc565b6110ce6000611bd1565b6110d6611795565b6110de611f42565b565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6111156000611bd1565b61111d611795565b61016054600090611136906001600160a01b0316611f37565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a49190613262565b610160549091506000906111c0906001600160a01b0316612163565b60405163095ea7b360e01b81526001600160a01b0380831660048301526024820185905291925060009185169063095ea7b3906044016020604051808303816000875af1158015611215573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611239919061327b565b9050806112585760405162461bcd60e51b81526004016105c19061329d565b611262828461216e565b61016054611278906001600160a01b0316611f37565b60405163095ea7b360e01b81526001600160a01b03848116600483015260006024830152919091169063095ea7b3906044016020604051808303816000875af11580156112c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ed919061327b565b90508061130c5760405162461bcd60e51b81526004016105c19061329d565b50505050565b61131a611795565b61016054611330906001600160a01b0316611722565b6001600160a01b0316336001600160a01b0316146113605760405162461bcd60e51b81526004016105c19061312f565b60975460ff166110de576110de6122f2565b61137a611795565b806113848161234c565b6113a05760405162461bcd60e51b81526004016105c1906132e0565b6113a86118d4565b600082116113f85760405162461bcd60e51b815260206004820152601b60248201527f4d757374206465706f736974206d6f7265207468616e207a65726f000000000060448201526064016105c1565b60006114038361192f565b90506000611413826110596123c4565b905061141e8161243e565b6114835760405162461bcd60e51b815260206004820152603060248201527f4465706f73697420776f756c64207075742074686520506f6f6c206f7665722060448201526f3a3432903a37ba30b6103634b6b4ba1760811b60648201526084016105c1565b604080518581526020810184905233917f0b05f0d1cd0819f155b8a61f60baf7767c1ee49d04aeaab701df236140eb93f9910160405180910390a260006114cb3330876117db565b90508061151a5760405162461bcd60e51b815260206004820152601e60248201527f4661696c656420746f207472616e7366657220666f72206465706f736974000060448201526064016105c1565b61016054611530906001600160a01b03166124cb565b6040516308934a5f60e31b8152336004820152602481018590526001600160a01b03919091169063449a52f890604401600060405180830381600087803b15801561157a57600080fd5b505af115801561158e573d6000803e3d6000fd5b50505050505050610895600161012d55565b610160546115b6906001600160a01b0316611722565b6001600160a01b0316336001600160a01b0316146115e65760405162461bcd60e51b81526004016105c19061312f565b6115ee611795565b61016054600090611607906001600160a01b0316611f37565b90506001600160a01b0381166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018690526064016020604051808303816000875af115801561166c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611690919061327b565b50600061169c84611c61565b61015f549091506116ad9082611c79565b61015f81905560408051918252602082018690526001600160a01b038516917fef93930a06c33aeef07a5dd8254d44c8f52f3d6cb7a9fcf082d5bcd5020ac4c3910160405180910390a250505050565b600082815260fb602052604090206001015461171881611bd1565b6107258383611c91565b60006001600160a01b03821663b93f9b0a60035b6040518263ffffffff1660e01b815260040161175491815260200190565b602060405180830381865afa158015611771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190613328565b60975460ff16156110de5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016105c1565b60006001600160a01b0383166118335760405162461bcd60e51b815260206004820152601a60248201527f43616e27742073656e6420746f207a65726f206164647265737300000000000060448201526064016105c1565b6101605460009061184c906001600160a01b0316611f37565b6040516323b872dd60e01b81526001600160a01b038781166004830152868116602483015260448201869052919250908216906323b872dd906064016020604051808303816000875af11580156118a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cb919061327b565b95945050505050565b600261012d54036119275760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105c1565b600261012d55565b600061057261015f54610994611943611e6d565b61194c866124d6565b90611e80565b8161195c8161234c565b6119785760405162461bcd60e51b81526004016105c1906132e0565b61016054600090611991906001600160a01b03166124cb565b6040516370a0823160e01b81523360048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156119db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ff9190613262565b905080841115611a775760405162461bcd60e51b815260206004820152603760248201527f416d6f756e74207265717565737465642069732067726561746572207468616e60448201527f207768617420746869732061646472657373206f776e7300000000000000000060648201526084016105c1565b6101615415611a8857611a88611f42565b61016054600090611aac90611aa5906001600160a01b03166124f5565b8790611e8c565b90506000611aba8783611c85565b604080518281526020810185905291925033917f2d4d49c3e017b8235c908cbaa83a2431a08f3b950712696ece2088964fd399f0910160405180910390a26000611b053033846117db565b905080611b545760405162461bcd60e51b815260206004820152601f60248201527f4661696c656420746f207472616e7366657220666f722077697468647261770060448201526064016105c1565b611b5f308433612568565b60405163079cc67960e41b8152336004820152602481018890526001600160a01b038616906379cc679090604401600060405180830381600087803b158015611ba757600080fd5b505af1158015611bbb573d6000803e3d6000fd5b505050505050505050505050565b600161012d55565b6106fd813361262b565b611be582826110e0565b61089557600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611c1d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610572611c6e6123c4565b610994611943611e6d565b6000610edd8284613345565b6000610edd8284613358565b611c9b82826110e0565b1561089557600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6106fd6000611bd1565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d355761072583612684565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d8f575060408051601f3d908101601f19168201909252611d8c91810190613262565b60015b611df25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105c1565b6000805160206135f58339815191528114611e615760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105c1565b50610725838383612720565b6000611e7b6012600a61344f565b905090565b6000610edd828461345b565b6000610edd8284613472565b6000610572611eb0611ea8612745565b610994611e6d565b8390611e8c565b60006001600160a01b03821663b93f9b0a600b611736565b600054610100900460ff16611ef65760405162461bcd60e51b81526004016105c190613494565b6110de612753565b6108958282611bdb565b600054610100900460ff16611f2f5760405162461bcd60e51b81526004016105c190613494565b6110de612786565b6000610572826127ad565b61016054600090611f5b906001600160a01b0316612163565b6040516370a0823160e01b81523060048201529091506106fd9082906001600160a01b038216906370a0823190602401602060405180830381865afa158015611fa8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcc9190613262565b6127c5565b600061057282611722565b6101605460009061200090611ff9906001600160a01b0316612b11565b8490611e8c565b9050600061200e8483611c85565b9050600061201b82611c61565b61015f5490915061202c9082611c79565b61015f55811561207b5760408051838152602081018590526001600160a01b038816917f9bbd517758fbae61197f1c1c04c8614064e89512dbaf4350dcdf76fcaa5e2161910160405180910390a25b83156120c557856001600160a01b03167f8295ad220549851bab232c2a7ae2e3c53a63d2294602bc85f8d8af108778a37e856040516120bc91815260200190565b60405180910390a25b82156120d6576120d6868488612568565b6001600160a01b038616301461215b5760006120fc87306120f78887611c79565b6117db565b9050806121595760405162461bcd60e51b815260206004820152602560248201527f4661696c656420746f20636f6c6c656374207072696e636970616c20726570616044820152641e5b595b9d60da1b60648201526084016105c1565b505b505050505050565b600061057282612b29565b61016154156121dc5760405162461bcd60e51b815260206004820152603460248201527f43616e6e6f74207377656570207768656e20776520616c72656164792068617660448201527365206120636f6d706f756e642062616c616e636560601b60648201526084016105c1565b8060000361222c5760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f2073776565702063616e6e6f74206265207a65726f000060448201526064016105c1565b60405163140e25ad60e31b8152600481018290526000906001600160a01b0384169063a0712d68906024016020604051808303816000875af1158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a9190613262565b905080156122ea5760405162461bcd60e51b815260206004820152601860248201527f537765657020746f20636f6d706f756e64206661696c6564000000000000000060448201526064016105c1565b506101615550565b6122fa611795565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861232f3390565b6040516001600160a01b03909116815260200160405180910390a1565b61016054604051631f8ac6cb60e31b8152600060048201819052916001600160a01b03169063fc56365890602401602060405180830381865afa158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123bb9190613262565b90911115919050565b610160546000906123dd906001600160a01b03166124cb565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561241a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7b9190613262565b61016054604051631f8ac6cb60e31b8152600160048201526000916124b8916001600160a01b039091169063fc56365890602401602060405180830381865afa15801561248f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124b39190613262565b6124d6565b6124c3610985611e6d565b111592915050565b600061057282612b41565b60006105726124e3612745565b6109946124ee611e6d565b8590611e80565b60006001600160a01b03821663fc56365860045b6040518263ffffffff1660e01b815260040161252791815260200190565b602060405180830381865afa158015612544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190613262565b806001600160a01b03167ff3583f178a8d4f8888c3683f8e948faf9b6eb701c4f1fab265a6ecad1a1ddebb836040516125a391815260200190565b60405180910390a2610160546000906125d09085906125ca906001600160a01b0316612b59565b856117db565b90508061130c5760405162461bcd60e51b815260206004820152602360248201527f52657365727665207472616e7366657220776173206e6f742073756363657373604482015262199d5b60ea1b60648201526084016105c1565b61263582826110e0565b6108955761264281612b71565b61264d836020612b83565b60405160200161265e929190613503565b60408051601f198184030181529082905262461bcd60e51b82526105c191600401613578565b6001600160a01b0381163b6126f15760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105c1565b6000805160206135f583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61272983612d1f565b6000825111806127365750805b156107255761130c8383612d5f565b6000611e7b6006600a61344f565b600054610100900460ff1661277a5760405162461bcd60e51b81526004016105c190613494565b6097805460ff19169055565b600054610100900460ff16611bc95760405162461bcd60e51b81526004016105c190613494565b60006001600160a01b03821663b93f9b0a6005611736565b6101615460008190036128115760405162461bcd60e51b8152602060048201526014602482015273139bc8199d5b991cc81bdb8818dbdb5c1bdd5b9960621b60448201526064016105c1565b816000036128615760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7420746f2073776565702063616e6e6f74206265207a65726f000060448201526064016105c1565b6101605460009061287a906001600160a01b0316611f37565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156128c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128e89190613262565b90506000856001600160a01b031663bd6d894d6040518163ffffffff1660e01b81526004016020604051808303816000875af115801561292c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129509190613262565b9050600061295e8287612d84565b60405163db006a7560e01b8152600481018890529091506000906001600160a01b0389169063db006a75906024016020604051808303816000875af11580156129ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129cf9190613262565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038716906370a0823190602401602060405180830381865afa158015612a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3d9190613262565b90508115612a8d5760405162461bcd60e51b815260206004820152601a60248201527f53776565702066726f6d20636f6d706f756e64206661696c656400000000000060448201526064016105c1565b82612a988287611c85565b14612ae55760405162461bcd60e51b815260206004820152601860248201527f556e65787065637465642072656465656d20616d6f756e74000000000000000060448201526064016105c1565b6000612af18489611c85565b9050612aff30826000611fdc565b50506000610161555050505050505050565b60006001600160a01b03821663fc5636586003612509565b60006001600160a01b03821663b93f9b0a600a611736565b60006001600160a01b03821663b93f9b0a6004611736565b60006001600160a01b03821663b93f9b0a6006611736565b60606105726001600160a01b03831660145b60606000612b9283600261345b565b612b9d906002613345565b67ffffffffffffffff811115612bb557612bb5613020565b6040519080825280601f01601f191660200182016040528015612bdf576020820181803683370190505b509050600360fc1b81600081518110612bfa57612bfa6135ab565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612c2957612c296135ab565b60200101906001600160f81b031916908160001a9053506000612c4d84600261345b565b612c58906001613345565b90505b6001811115612cd0576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612c8c57612c8c6135ab565b1a60f81b828281518110612ca257612ca26135ab565b60200101906001600160f81b031916908160001a90535060049490941c93612cc9816135c1565b9050612c5b565b508315610edd5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105c1565b612d2881612684565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610edd838360405180606001604052806027815260200161361560279139612dbd565b6000600660086118cb606461099483612d9e866012613345565b612da89190613358565b612db390600a61344f565b610994888a611e80565b6060600080856001600160a01b031685604051612dda91906135d8565b600060405180830381855af49150503d8060008114612e15576040519150601f19603f3d011682016040523d82523d6000602084013e612e1a565b606091505b5091509150612e2b86838387612e35565b9695505050505050565b60608315612ea4578251600003612e9d576001600160a01b0385163b612e9d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105c1565b5081612eae565b612eae8383612eb6565b949350505050565b815115612ec65781518083602001fd5b8060405162461bcd60e51b81526004016105c19190613578565b600060208284031215612ef257600080fd5b81356001600160e01b031981168114610edd57600080fd5b6001600160a01b03811681146106fd57600080fd5b600080600060608486031215612f3457600080fd5b8335612f3f81612f0a565b92506020840135612f4f81612f0a565b929592945050506040919091013590565b600060208284031215612f7257600080fd5b5035919050565b60008060408385031215612f8c57600080fd5b823591506020830135612f9e81612f0a565b809150509250929050565b60008060408385031215612fbc57600080fd5b8235612fc781612f0a565b946020939093013593505050565b600060208284031215612fe757600080fd5b8135610edd81612f0a565b6000806040838503121561300557600080fd5b823561301081612f0a565b91506020830135612f9e81612f0a565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561304957600080fd5b823561305481612f0a565b9150602083013567ffffffffffffffff8082111561307157600080fd5b818501915085601f83011261308557600080fd5b81358181111561309757613097613020565b604051601f8201601f19908116603f011681019083821181831017156130bf576130bf613020565b816040528281528860208487010111156130d857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060006060848603121561310f57600080fd5b833561311a81612f0a565b95602085013595506040909401359392505050565b60208082526035908201527f4f6e6c792074686520637265646974206465736b20697320616c6c6f776564206040820152743a379031b0b636103a3434b990333ab731ba34b7b760591b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b841416156131b6576131b6613184565b818105831482151761057257610572613184565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561327457600080fd5b5051919050565b60006020828403121561328d57600080fd5b81518015158114610edd57600080fd5b60208082526023908201527f4661696c656420746f20617070726f7665205553444320666f7220636f6d706f6040820152621d5b9960ea1b606082015260800190565b60208082526028908201527f416d6f756e74206973206f76657220746865207065722d7472616e73616374696040820152671bdb881b1a5b5a5d60c21b606082015260800190565b60006020828403121561333a57600080fd5b8151610edd81612f0a565b8082018082111561057257610572613184565b8181038181111561057257610572613184565b600181815b808511156133a657816000190482111561338c5761338c613184565b8085161561339957918102915b93841c9390800290613370565b509250929050565b6000826133bd57506001610572565b816133ca57506000610572565b81600181146133e057600281146133ea57613406565b6001915050610572565b60ff8411156133fb576133fb613184565b50506001821b610572565b5060208310610133831016604e8410600b8410161715613429575081810a610572565b613433838361336b565b806000190482111561344757613447613184565b029392505050565b6000610edd83836133ae565b808202811582820484141761057257610572613184565b60008261348f57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b838110156134fa5781810151838201526020016134e2565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161353b8160178501602088016134df565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161356c8160288401602088016134df565b01602801949350505050565b60208152600082518060208401526135978160408501602087016134df565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b6000816135d0576135d0613184565b506000190190565b600082516135ea8184602087016134df565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122051e26a9af72e6f8ba6da8a395a18abca15ea498229efa7b7800e9bfe3edd0cd664736f6c63430008130033"; static readonly abi: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "previousAdmin"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "newAdmin"; readonly type: "address"; }]; readonly name: "AdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "beacon"; readonly type: "address"; }]; readonly name: "BeaconUpgraded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "capitalProvider"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }]; readonly name: "DepositMade"; readonly type: "event"; }, { 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 anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "payer"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "poolAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }]; readonly name: "InterestCollected"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Paused"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "payer"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "PrincipalCollected"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "creditline"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "amount"; readonly type: "int256"; }]; readonly name: "PrincipalWrittendown"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "sharePrice"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "creditline"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "totalRefundedAmount"; readonly type: "uint256"; }]; readonly name: "RefundedFromCollateral"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "ReserveFundsCollected"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; }]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TransferMade"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Unpaused"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "implementation"; readonly type: "address"; }]; readonly name: "Upgraded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "capitalProvider"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "userAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }]; readonly name: "WithdrawalMade"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "DEFAULT_ADMIN_ROLE"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "transferredAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "creditlineAddress"; readonly type: "address"; }]; readonly name: "addCollateralEarnedAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "assets"; 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: "from"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "interest"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "principal"; readonly type: "uint256"; }]; readonly name: "collectInterestAndPrincipal"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "compoundBalance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "config"; readonly outputs: readonly [{ readonly internalType: "contract PlutusConfig"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "deposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditlineAddress"; readonly type: "address"; }, { readonly internalType: "int256"; readonly name: "writedownDelta"; readonly type: "int256"; }]; readonly name: "distributeLosses"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "drawdown"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }]; readonly name: "getRoleAdmin"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenAmount"; readonly type: "uint256"; }]; readonly name: "getUSDCAmountFromShares"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "grantRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "hasRole"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "contract PlutusConfig"; readonly name: "_config"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pausePool"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "paused"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "proxiableUUID"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "renounceRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "revokeRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "sharePrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "sweepFromCompound"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "sweepToCompound"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "updatePlutusConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newImplementation"; readonly type: "address"; }]; readonly name: "upgradeTo"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newImplementation"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "upgradeToAndCall"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "usdcAmount"; readonly type: "uint256"; }]; readonly name: "withdraw"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenAmount"; readonly type: "uint256"; }]; readonly name: "withdrawInToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; static createInterface(): PoolInterface; static connect(address: string, signerOrProvider: Signer | Provider): Pool; } export {};