UNPKG

@augmentedfinance/protocol-v1

Version:

Augmented Protocol smart contracts

421 lines 47.2 kB
"use strict"; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(exports, "__esModule", { value: true }); exports.UniswapLiquiditySwapAdapterFactory = void 0; const contracts_1 = require("@ethersproject/contracts"); class UniswapLiquiditySwapAdapterFactory extends contracts_1.ContractFactory { constructor(signer) { super(_abi, _bytecode, signer); } deploy(addressesProvider, uniswapRouter, overrides) { return super.deploy(addressesProvider, uniswapRouter, overrides || {}); } getDeployTransaction(addressesProvider, uniswapRouter, overrides) { return super.getDeployTransaction(addressesProvider, uniswapRouter, overrides || {}); } attach(address) { return super.attach(address); } connect(signer) { return super.connect(signer); } static connect(address, signerOrProvider) { return new contracts_1.Contract(address, _abi, signerOrProvider); } } exports.UniswapLiquiditySwapAdapterFactory = UniswapLiquiditySwapAdapterFactory; const _abi = [ { inputs: [ { internalType: "contract IFlashLoanAddressProvider", name: "addressesProvider", type: "address", }, { internalType: "contract IUniswapV2Router02ForAdapter", name: "uniswapRouter", type: "address", }, ], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "fromAsset", type: "address", }, { indexed: false, internalType: "address", name: "toAsset", type: "address", }, { indexed: false, internalType: "uint256", name: "fromAmount", type: "uint256", }, { indexed: false, internalType: "uint256", name: "receivedAmount", type: "uint256", }, ], name: "Swapped", type: "event", }, { inputs: [], name: "ADDRESSES_PROVIDER", outputs: [ { internalType: "contract IFlashLoanAddressProvider", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "ADDRESS_PROVIDER", outputs: [ { internalType: "contract IFlashLoanAddressProvider", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "FLASHLOAN_PREMIUM_TOTAL", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "LENDING_POOL", outputs: [ { internalType: "contract ILendingPool", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "MAX_SLIPPAGE_PERCENT", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "ORACLE", outputs: [ { internalType: "contract IPriceOracleGetter", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "UNISWAP_ROUTER", outputs: [ { internalType: "contract IUniswapV2Router02ForAdapter", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "USD_ADDRESS", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "WETH_ADDRESS", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address[]", name: "assets", type: "address[]", }, { internalType: "uint256[]", name: "amounts", type: "uint256[]", }, { internalType: "uint256[]", name: "premiums", type: "uint256[]", }, { internalType: "address", name: "initiator", type: "address", }, { internalType: "bytes", name: "params", type: "bytes", }, ], name: "executeOperation", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "amountOut", type: "uint256", }, { internalType: "address", name: "reserveIn", type: "address", }, { internalType: "address", name: "reserveOut", type: "address", }, ], name: "getAmountsIn", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, { internalType: "address[]", name: "", type: "address[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "amountIn", type: "uint256", }, { internalType: "address", name: "reserveIn", type: "address", }, { internalType: "address", name: "reserveOut", type: "address", }, ], name: "getAmountsOut", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, { internalType: "uint256", name: "", type: "uint256", }, { internalType: "address[]", name: "", type: "address[]", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address[]", name: "assetToSwapFromList", type: "address[]", }, { internalType: "address[]", name: "assetToSwapToList", type: "address[]", }, { internalType: "uint256[]", name: "amountToSwapList", type: "uint256[]", }, { internalType: "uint256[]", name: "minAmountsToReceive", type: "uint256[]", }, { components: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "uint256", name: "deadline", type: "uint256", }, { internalType: "uint8", name: "v", type: "uint8", }, { internalType: "bytes32", name: "r", type: "bytes32", }, { internalType: "bytes32", name: "s", type: "bytes32", }, ], internalType: "struct IBaseUniswapAdapter.PermitSignature[]", name: "permitParams", type: "tuple[]", }, { internalType: "bool[]", name: "useEthPath", type: "bool[]", }, ], name: "swapAndDeposit", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "token", type: "address", }, { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "amount", type: "uint256", }, ], name: "sweepToken", outputs: [], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x610120604052610bb860c0523480156200001857600080fd5b506040516200468d3803806200468d8339810160408190526200003b9162000319565b818181806001600160a01b03166080816001600160a01b031660601b81525050806001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200009557600080fd5b505afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d09190620002f3565b6001600160601b0319606091821b811660a0529083901b16610100525060408051630261bf8b60e01b815290516000916001600160a01b03851691630261bf8b91600480820192602092909190829003018186803b1580156200013257600080fd5b505afa15801562000147573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016d9190620002f3565b6001600160a01b031663fe65acfe6040518163ffffffff1660e01b815260040160206040518083038186803b158015620001a657600080fd5b505afa158015620001bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e19190620002f3565b604051635c9fcd8560e11b8152630800000060048201529091506001600160a01b0382169063b93f9b0a9060240160206040518083038186803b1580156200022857600080fd5b505afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002639190620002f3565b6001600160a01b031663affa88176040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029c57600080fd5b505afa158015620002b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d79190620002f3565b60601b6001600160601b03191660e05250620003709350505050565b60006020828403121562000305578081fd5b8151620003128162000357565b9392505050565b600080604083850312156200032c578081fd5b8251620003398162000357565b60208401519092506200034c8162000357565b809150509250929050565b6001600160a01b03811681146200036d57600080fd5b50565b60805160601c60a05160601c60c05160e05160601c6101005160601c6141f4620004996000396000818161028e01528181611896015281816119890152818161246c015281816124a101528181612699015281816130f801526131e801526000818160f40152818161173401528181611771015281816117ef0152818161253301528181612f9601528181612fd3015261305101526000818161019b015261238f01526000818161021d015281816102b40152818161043801528181610bef01528181610c5d01528181610ca701528181610da601528181611197015281816111d301528181611233015281816112df0152818161131b0152818161206f015281816121dc0152612b4801526000818161013501528181610174015261035001526141f46000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063920f5c841161008c578063baf7fa9911610066578063baf7fa991461023f578063cdf58cd614610263578063d51c9ed714610276578063d82649201461028957600080fd5b8063920f5c84146101da5780639d1211bf146101fd578063b4dcfc771461021857600080fd5b80631848effa116100c85780631848effa1461016f57806332e4b2861461019657806338013f02146101bd57806364aff9ec146101c557600080fd5b8063040141e5146100ef5780630542975c14610133578063074b2e4314610159575b600080fd5b6101167f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610116565b6101616102b0565b60405190815260200161012a565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b6101617f000000000000000000000000000000000000000000000000000000000000000081565b61011661034c565b6101d86101d33660046137a3565b6103e4565b005b6101ed6101e8366004613919565b61042b565b604051901515815260200161012a565b6101167310f7fc1f91ba351f9c629c5947ad69bd03c05b9681565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b61025261024d366004613d75565b610843565b60405161012a959493929190613eb9565b610252610271366004613d75565b610883565b6101d86102843660046137e3565b610898565b6101167f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f8aaa0e96040518163ffffffff1660e01b815260040160206040518083038186803b15801561030b57600080fd5b505afa15801561031f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103439190613d3b565b61ffff16905090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103df9190613787565b905090565b6103ec610da2565b6001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156104205761041b8282610e62565b505050565b61041b838383610f7b565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104aa5760405162461bcd60e51b815260206004820152601b60248201527f43414c4c45525f4d5553545f42455f4c454e44494e475f504f4f4c000000000060448201526064015b60405180910390fd5b60006104eb84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fde92505050565b8051519091508a14801561050357506020810151518a145b801561051357506040810151518a145b80156105245750606081015151518a145b80156105385750606081015160200151518a145b801561054c5750606081015160400151518a145b801561055f57506060808201510151518a145b80156105735750606081015160800151518a145b801561058357506080810151518a145b6105c55760405162461bcd60e51b8152602060048201526013602482015272494e434f4e53495354454e545f504152414d5360681b60448201526064016104a1565b60005b8a8110156108315761081f8c8c838181106105f357634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610608919061376b565b835180518490811061062a57634e487b7160e01b600052603260045260246000fd5b60200260200101518c8c8581811061065257634e487b7160e01b600052603260045260246000fd5b905060200201358b8b8681811061067957634e487b7160e01b600052603260045260246000fd5b905060200201358a876020015187815181106106a557634e487b7160e01b600052603260045260246000fd5b6020026020010151886040015188815181106106d157634e487b7160e01b600052603260045260246000fd5b60200260200101516040518060a001604052808b60600151600001518b8151811061070c57634e487b7160e01b600052603260045260246000fd5b602002602001015181526020018b60600151602001518b8151811061074157634e487b7160e01b600052603260045260246000fd5b602002602001015181526020018b60600151604001518b8151811061077657634e487b7160e01b600052603260045260246000fd5b602002602001015160ff1681526020018b60600151606001518b815181106107ae57634e487b7160e01b600052603260045260246000fd5b602002602001015181526020018b60600151608001518b815181106107e357634e487b7160e01b600052603260045260246000fd5b60200260200101518152508a608001518a8151811061081257634e487b7160e01b600052603260045260246000fd5b6020026020010151611067565b806108298161412f565b9150506105c8565b5060019b9a5050505050505050505050565b6000806000806060600061085888888b61134c565b8051602082015160408301516060840151608090940151929d919c509a509198509650945050505050565b6000806000806060600061085888888b611c0f565b8a891480156108a657508a87145b80156108b157508a85145b80156108bc57508a83145b6108fe5760405162461bcd60e51b8152602060048201526013602482015272494e434f4e53495354454e545f504152414d5360681b60448201526064016104a1565b6109396040518060a001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b600081525b80518c1115610d93576109888d8d836000015181811061096e57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610983919061376b565b611fe8565b60e001516001600160a01b0316608082018190526040516370a0823160e01b81523360048201526370a082319060240160206040518083038186803b1580156109d057600080fd5b505afa1580156109e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a089190613d5d565b6020820181905281518a908a90818110610a3257634e487b7160e01b600052603260045260246000fd5b9050602002013511610a6e5788888260000151818110610a6257634e487b7160e01b600052603260045260246000fd5b90506020020135610a74565b80602001515b60408201528051610aff908e908e90818110610aa057634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610ab5919061376b565b826080015133846040015189898760000151818110610ae457634e487b7160e01b600052603260045260246000fd5b905060a00201803603810190610afa9190613bd9565b6120f0565b610be28d8d8360000151818110610b2657634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b3b919061376b565b8c8c8460000151818110610b5f57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b74919061376b565b83604001518a8a8660000151818110610b9d57634e487b7160e01b600052603260045260246000fd5b9050602002013587878760000151818110610bc857634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610bdd9190613ba1565b612260565b60608201528051610c58907f0000000000000000000000000000000000000000000000000000000000000000906000908e908e90818110610c3357634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610c48919061376b565b6001600160a01b03169190612833565b610ca57f000000000000000000000000000000000000000000000000000000000000000082606001518d8d8560000151818110610c3357634e487b7160e01b600052603260045260246000fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166390d250748c8c8460000151818110610cf857634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610d0d919061376b565b60608401516040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015233604482015260006064820152608401600060405180830381600087803b158015610d6557600080fd5b505af1158015610d79573d6000803e3d6000fd5b505082519150829050610d8b8261412f565b90525061093e565b50505050505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fe65acfe6040518163ffffffff1660e01b815260040160206040518083038186803b158015610dfd57600080fd5b505afa158015610e11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e359190613787565b9050610e5f8133610100604051806040016040528060028152602001610e0d60f21b815250612957565b50565b80471015610eb25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016104a1565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610eff576040519150601f19603f3d011682016040523d82523d6000602084013e610f04565b606091505b505090508061041b5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016104a1565b6040516001600160a01b03831660248201526044810182905261041b90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612988565b610fe6613450565b60008060008060008060008060008a8060200190518101906110089190613a15565b6040805160a080820183529a815260208082019a909a52808201989098528051998a018152958952968801939093529286015260608581019290925260808086019190915290820193909352918201529b9a5050505050505050505050565b6110a96040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b6110b28a611fe8565b60e001516001600160a01b039081168083526040516370a0823160e01b81529188166004830152906370a082319060240160206040518083038186803b1580156110fb57600080fd5b505afa15801561110f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111339190613d5d565b60208201528380156111545750602081015188906111519089612b0e565b11155b61115e578761116d565b602081015161116d9088612b0e565b60408201819052611183908b908b908886612260565b60608201526111bd6001600160a01b038a167f00000000000000000000000000000000000000000000000000000000000000006000612833565b60608101516111f8906001600160a01b038b16907f000000000000000000000000000000000000000000000000000000000000000090612833565b6060810151604051632434941d60e21b81526001600160a01b038b8116600483015260248201929092528782166044820152600060648201527f0000000000000000000000000000000000000000000000000000000000000000909116906390d2507490608401600060405180830381600087803b15801561127957600080fd5b505af115801561128d573d6000803e3d6000fd5b505050506112a48789612b1a90919063ffffffff16565b608082015260408101516112b89088612b1a565b60a0820181905281516112d0918c91908990876120f0565b6113056001600160a01b038b167f00000000000000000000000000000000000000000000000000000000000000006000612833565b6080810151611340906001600160a01b038c16907f000000000000000000000000000000000000000000000000000000000000000090612833565b50505050505050505050565b61137e6040518060a0016040528060008152602001600081526020016000815260200160008152602001606081525090565b600061139661138b612b26565b849061ffff16612c16565b905060006113a261034c565b60408051606081019182905263b3596f0760e01b9091527310f7fc1f91ba351f9c629c5947ad69bd03c05b966064820152909150600090806001600160a01b03841663b3596f076084830160206040518083038186803b15801561140557600080fd5b505afa158015611419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143d9190613d5d565b815260405163b3596f0760e01b81526001600160a01b038a8116600483015260209092019185169063b3596f079060240160206040518083038186803b15801561148657600080fd5b505afa15801561149a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114be9190613d5d565b81526020016114cc89612d0b565b81525090506114f560405180606001604052806000815260200160008152602001600081525090565b866001600160a01b0316886001600160a01b031614156115ce575060408051600180825281830190925282916000919060208083019080368337019050509050888160008151811061155757634e487b7160e01b600052603260045260246000fd5b6001600160a01b039092166020928302919091018201526040805160a0810190915286815290810161159b8961159589670de0b6b3a7640000612d87565b90612d93565b81526020016115aa858a612d9f565b81526020016115b98588612d9f565b81526020018281525095505050505050611c08565b6040805160608101825283518152905163b3596f0760e01b81526001600160a01b03898116600483015260208301919086169063b3596f079060240160206040518083038186803b15801561162257600080fd5b505afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190613d5d565b815260200161166889612d0b565b9052604080516002808252606082018352929350600092909160208301908036833701905050905088816000815181106116b257634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505087816001815181106116f457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921660209283029190910182015260408051600380825260808201909252606092839260009291820184803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168c6001600160a01b0316141580156117a657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168b6001600160a01b031614155b1561194d578b816000815181106117cd57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061182f57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250508a8160028151811061187157634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f906118cf908b908590600401613e64565b60006040518083038186803b1580156118e757600080fd5b505afa92505050801561191c57506040513d6000823e601f3d908101601f191682016040526119199190810190613b6f565b60015b6119465760408051600380825260808201909252906020820160608036833701905050915061196f565b915061196f565b6040805160038082526080820190925290602082016060803683370190505091505b60405163d06ca61f60e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d06ca61f906119c0908c908990600401613e64565b60006040518083038186803b1580156119d857600080fd5b505afa925050508015611a0d57506040513d6000823e601f3d908101601f19168201604052611a0a9190810190613b6f565b60015b611a6157604080516002808252606082018352909160208301908036833701905050935082600281518110611a5257634e487b7160e01b600052603260045260246000fd5b60200260200101519050611b17565b80945084600181518110611a8557634e487b7160e01b600052603260045260246000fd5b602002602001015184600281518110611aae57634e487b7160e01b600052603260045260246000fd5b602002602001015111611ae95784600181518110611adc57634e487b7160e01b600052603260045260246000fd5b6020026020010151611b13565b83600281518110611b0a57634e487b7160e01b600052603260045260246000fd5b60200260200101515b9150505b6000611b63611b378960400151600a611b309190613ffb565b8490612d87565b6115958960400151600a611b4b9190613ffb565b611b5d8e670de0b6b3a7640000612d87565b90612d87565b90506040518060a00160405280838152602001828152602001611b868a8f612d9f565b8152602001611b958985612d9f565b81526020018315611bdb5786600181518110611bc157634e487b7160e01b600052603260045260246000fd5b60200260200101518414611bd55784611bf9565b87611bf9565b60408051600280825260608201835290916020830190803683375050505b90529a50505050505050505050505b9392505050565b611c416040518060a0016040528060008152602001600081526020016000815260200160008152602001606081525090565b6000611c4b61034c565b60408051606081019182905263b3596f0760e01b9091527310f7fc1f91ba351f9c629c5947ad69bd03c05b966064820152909150600090806001600160a01b03841663b3596f076084830160206040518083038186803b158015611cae57600080fd5b505afa158015611cc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce69190613d5d565b815260405163b3596f0760e01b81526001600160a01b03898116600483015260209092019185169063b3596f079060240160206040518083038186803b158015611d2f57600080fd5b505afa158015611d43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d679190613d5d565b8152602001611d7588612d0b565b8152509050611d9e60405180606001604052806000815260200160008152602001600081525090565b6000611da8612b26565b9050866001600160a01b0316886001600160a01b03161415611e91578291506000611dd78761ffff8416612dd9565b60408051600180825281830190925291925060009190602080830190803683370190505090508981600081518110611e1f57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039092166020928302919091018201526040805160a08101909152838152908101611e5d846115958c670de0b6b3a7640000612d87565b8152602001611e6c8785612d9f565b8152602001611e7b878b612d9f565b8152602001828152509650505050505050611c08565b6040805160608101825284518152905163b3596f0760e01b81526001600160a01b03898116600483015260208301919087169063b3596f079060240160206040518083038186803b158015611ee557600080fd5b505afa158015611ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1d9190613d5d565b8152602001611f2b89612d0b565b90529150600080611f3d8a8a8a612eca565b915091506000611f828461ffff1684600081518110611f6c57634e487b7160e01b600052603260045260246000fd5b6020026020010151612dd990919063ffffffff16565b90506000611f9d611b378760400151600a611b309190613ffb565b90506040518060a00160405280838152602001828152602001611fc08985612d9f565b8152602001611fcf888d612d9f565b81526020019390935250909a9950505050505050505050565b604080516101a08101825260006101808201818152825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290526101608101919091526040516335ea6a7560e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906335ea6a75906024016101806040518083038186803b1580156120b257600080fd5b505afa1580156120c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ea9190613c4f565b92915050565b6120f981613328565b1561219b578051602082015160408084015160608501516080860151925163d505accf60e01b81526001600160a01b0389811660048301523060248301526044820196909652606481019490945260ff909116608484015260a483015260c48201529085169063d505accf9060e401600060405180830381600087803b15801561218257600080fd5b505af1158015612196573d6000803e3d6000fd5b505050505b6121b06001600160a01b03851684308561334d565b604051631a4ca37b60e21b81526001600160a01b038681166004830152602482018490523060448301527f000000000000000000000000000000000000000000000000000000000000000016906369328dec90606401602060405180830381600087803b15801561222057600080fd5b505af1158015612234573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122589190613d5d565b505050505050565b60008061226c87612d0b565b9050600061227987612d0b565b9050600061228561034c565b60405163b3596f0760e01b81526001600160a01b038b8116600483015291925060009183169063b3596f079060240160206040518083038186803b1580156122cc57600080fd5b505afa1580156122e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123049190613d5d565b60405163b3596f0760e01b81526001600160a01b038b8116600483015291925060009184169063b3596f079060240160206040518083038186803b15801561234b57600080fd5b505afa15801561235f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123839190613d5d565b9050600061240c6123cf7f00000000000000000000000000000000000000000000000000000000000000006123ba600160646140a3565b6123c59060646140a3565b61ffff1690612b0e565b6124066123e76123e08a600a613ffb565b8690612d87565b6115956123ff6123f88b600a613ffb565b8990612d87565b8f90612d87565b90612c16565b905088811061245d5760405162461bcd60e51b815260206004820181905260248201527f6d696e416d6f756e744f757420657863656564206d617820736c69707061676560448201526064016104a1565b6124926001600160a01b038d167f00000000000000000000000000000000000000000000000000000000000000006000612833565b6124c66001600160a01b038d167f00000000000000000000000000000000000000000000000000000000000000008c612833565b606088156125da576040805160038082526080820190925290602082016060803683370190505090508c8160008151811061251157634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061257357634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250508b816002815181106125b557634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505061267f565b60408051600280825260608201835290916020830190803683370190505090508c8160008151811061261c57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250508b8160018151811061265e57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6040516338ed173960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906338ed1739906126d6908f908f90879030904290600401613e7d565b600060405180830381600087803b1580156126f057600080fd5b505af1158015612704573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261272c9190810190613b6f565b90507fa078c4190abe07940190effc1846be0ccf03ad6007bc9e93f9697d0b460befbb8e8e8360008151811061277257634e487b7160e01b600052603260045260246000fd5b6020026020010151846001865161278991906140ec565b815181106127a757634e487b7160e01b600052603260045260246000fd5b60200260200101516040516127e394939291906001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60405180910390a180600182516127fa91906140ec565b8151811061281857634e487b7160e01b600052603260045260246000fd5b60200260200101519850505050505050505095945050505050565b8015806128bc5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e9060440160206040518083038186803b15801561288257600080fd5b505afa158015612896573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ba9190613d5d565b155b6129275760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104a1565b6040516001600160a01b03831660248201526044810182905261041b90849063095ea7b360e01b90606401610fa7565b612962848484613385565b81906129815760405162461bcd60e51b81526004016104a19190613e31565b5050505050565b6001600160a01b0382163b6129df5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740060448201526064016104a1565b600080836001600160a01b0316836040516129fa9190613e15565b6000604051808303816000865af19150503d8060008114612a37576040519150601f19603f3d011682016040523d82523d6000602084013e612a3c565b606091505b509150915081612a8e5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460448201526064016104a1565b805115612b085780806020019051810190612aa99190613bbd565b612b085760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104a1565b50505050565b6000611c0882846140ec565b6000611c088284613f6b565b60006103df612b37600160646140a3565b612b429060646140a3565b61ffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f8aaa0e96040518163ffffffff1660e01b815260040160206040518083038186803b158015612b9f57600080fd5b505afa158015612bb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd79190613d3b565b61ffff166040518060400160405280601981526020017f494e56414c49445f464c4153484c4f414e5f5052454d49554d000000000000008152506133a0565b6000821580612c23575081155b15612c30575060006120ea565b816002612c3f600160646140a3565b612c4a9060646140a3565b612c549190613f83565b612c649061ffff166000196140ec565b612c6e9190613fa4565b83111560405180604001604052806002815260200161068760f31b81525090612caa5760405162461bcd60e51b81526004016104a19190613e31565b50612cb7600160646140a3565b612cc29060646140a3565b61ffff166002612cd4600160646140a3565b612cdf9060646140a3565b612ce99190613f83565b61ffff16612cf784866140cd565b612d019190613f6b565b611c089190613fa4565b6000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612d4657600080fd5b505afa158015612d5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7e9190613db6565b60ff1692915050565b6000611c0882846140cd565b6000611c088284613fa4565b6000611c08670de0b6b3a76400006115958560000151611b5d8760400151600a612dc99190613ffb565b6020890151611595908990612d87565b604080518082019091526002815261035360f41b602082015260009082612e135760405162461bcd60e51b81526004016104a19190613e31565b50600182811c90612e259060646140a3565b612e309060646140a3565b61ffff16612e40826000196140ec565b612e4a9190613fa4565b84111560405180604001604052806002815260200161068760f31b81525090612e865760405162461bcd60e51b81526004016104a19190613e31565b508281612e95600160646140a3565b612ea09060646140a3565b612eae9061ffff16876140cd565b612eb89190613f6b565b612ec29190613fa4565b949350505050565b604080516002808252606082810190935282916000918160200160208202803683370190505090508581600081518110612f1457634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250508481600181518110612f5657634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921660209283029190910182015260408051600380825260808201909252606092839260009291820184803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316896001600160a01b03161415801561300857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316886001600160a01b031614155b156131af57888160008151811061302f57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061309157634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505087816002815181106130d357634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526040516307c0329d60e21b81527f000000000000000000000000000000000000000000000000000000000000000090911690631f00ca7490613131908a908590600401613e64565b60006040518083038186803b15801561314957600080fd5b505afa92505050801561317e57506040513d6000823e601f3d908101601f1916820160405261317b9190810190613b6f565b60015b6131a8576040805160038082526080820190925290602082016060803683370190505091506131d1565b91506131d1565b6040805160038082526080820190925290602082016060803683370190505091505b6040516307c0329d60e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f00ca749061321f908a908890600401613e64565b60006040518083038186803b15801561323757600080fd5b505afa92505050801561326c57506040513d6000823e601f3d908101601f191682016040526132699190810190613b6f565b60015b61327d579094509250613320915050565b809350836000815181106132a157634e487b7160e01b600052603260045260246000fd5b6020026020010151836000815181106132ca57634e487b7160e01b600052603260045260246000fd5b60200260200101511080156133085750826000815181106132fb57634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b613313578385613316565b82825b9650965050505050505b935093915050565b6000816040015160ff16826020015114801561334657506020820151155b1592915050565b6040516001600160a01b0380851660248301528316604482015260648101829052612b089085906323b872dd60e01b90608401610fa7565b6000806133938585856133cc565b9092161515949350505050565b600081848411156133c45760405162461bcd60e51b81526004016104a19190613e31565b505050900390565b60405163cc8b29c160e01b81526001600160a01b038381166004830152602482018390526000919085169063cc8b29c19060440160206040518083038186803b15801561341857600080fd5b505afa15801561342c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ec29190613d5d565b6040518060a001604052806060815260200160608152602001606081526020016134a26040518060a0016040528060608152602001606081526020016060815260200160608152602001606081525090565b8152602001606081525090565b80516134ba8161418c565b919050565b60008083601f8401126134d0578182fd5b5081356001600160401b038111156134e6578182fd5b6020830191508360208260051b850101111561350157600080fd5b9250929050565b600082601f830112613518578081fd5b8151602061352d61352883613f48565b613f18565b80838252828201915082860187848660051b890101111561354c578586fd5b855b858110156135735781516135618161418c565b8452928401929084019060010161354e565b5090979650505050505050565b600082601f830112613590578081fd5b815160206135a061352883613f48565b80838252828201915082860187848660051b89010111156135bf578586fd5b855b858110156135735781516135d4816141a1565b845292840192908401906001016135c1565b600082601f8301126135f6578081fd5b8151602061360661352883613f48565b80838252828201915082860187848660051b8901011115613625578586fd5b855b8581101561357357815184529284019290840190600101613627565b60008083601f840112613654578182fd5b5081356001600160401b0381111561366a578182fd5b60208301915083602060a08302850101111561350157600080fd5b600082601f830112613695578081fd5b815160206136a561352883613f48565b80838252828201915082860187848660051b89010111156136c4578586fd5b855b858110156135735781516136d9816141af565b845292840192908401906001016136c6565b6000602082840312156136fc578081fd5b604051602081018181106001600160401b038211171561371e5761371e614176565b6040529151825250919050565b80516fffffffffffffffffffffffffffffffff811681146134ba57600080fd5b805164ffffffffff811681146134ba57600080fd5b80516134ba816141af565b60006020828403121561377c578081fd5b8135611c088161418c565b600060208284031215613798578081fd5b8151611c088161418c565b6000806000606084860312156137b7578182fd5b83356137c28161418c565b925060208401356137d28161418c565b929592945050506040919091013590565b60008060008060008060008060008060008060c08d8f03121561380457898afd5b6001600160401b038d35111561381857898afd5b6138258e8e358f016134bf565b909c509a506001600160401b0360208e0135111561384157898afd5b6138518e60208f01358f016134bf565b909a5098506001600160401b0360408e0135111561386d578788fd5b61387d8e60408f01358f016134bf565b90985096506001600160401b0360608e01351115613899578586fd5b6138a98e60608f01358f016134bf565b90965094506001600160401b0360808e013511156138c5578384fd5b6138d58e60808f01358f01613643565b90945092506001600160401b0360a08e013511156138f1578081fd5b6139018e60a08f01358f016134bf565b81935080925050509295989b509295989b509295989b565b600080600080600080600080600060a08a8c031215613936578283fd5b89356001600160401b038082111561394c578485fd5b6139588d838e016134bf565b909b50995060208c0135915080821115613970578485fd5b61397c8d838e016134bf565b909950975060408c0135915080821115613994578485fd5b6139a08d838e016134bf565b909750955060608c013591506139b58261418c565b90935060808b013590808211156139ca578384fd5b818c0191508c601f8301126139dd578384fd5b8135818111156139eb578485fd5b8d60208285010111156139fc578485fd5b6020830194508093505050509295985092959850929598565b60008060008060008060008060006101208a8c031215613a33578283fd5b89516001600160401b0380821115613a49578485fd5b613a558d838e01613508565b9a5060208c0151915080821115613a6a578485fd5b613a768d838e016135e6565b995060408c0151915080821115613a8b578485fd5b613a978d838e01613580565b985060608c0151915080821115613aac578485fd5b613ab88d838e016135e6565b975060808c0151915080821115613acd578485fd5b613ad98d838e016135e6565b965060a08c0151915080821115613aee578485fd5b613afa8d838e01613685565b955060c08c0151915080821115613b0f578485fd5b613b1b8d838e016135e6565b945060e08c0151915080821115613b30578384fd5b613b3c8d838e016135e6565b93506101008c0151915080821115613b52578283fd5b50613b5f8c828d01613580565b9150509295985092959850929598565b600060208284031215613b80578081fd5b81516001600160401b03811115613b95578182fd5b612ec2848285016135e6565b600060208284031215613bb2578081fd5b8135611c08816141a1565b600060208284031215613bce578081fd5b8151611c08816141a1565b600060a08284031215613bea578081fd5b60405160a081018181106001600160401b0382111715613c0c57613c0c614176565b806040525082358152602083013560208201526040830135613c2d816141af565b6040820152606083810135908201526080928301359281019290925250919050565b60006101808284031215613c61578081fd5b613c69613eef565b613c7384846136eb565b8152613c816020840161372b565b6020820152613c926040840161372b565b6040820152613ca36060840161372b565b6060820152613cb46080840161372b565b6080820152613cc560a0840161372b565b60a0820152613cd660c0840161374b565b60c0820152613ce760e084016134af565b60e0820152610100613cfa8185016134af565b90820152610120613d0c8482016134af565b90820152610140613d1e8482016134af565b90820152610160613d30848201613760565b908201529392505050565b600060208284031215613d4c578081fd5b815161ffff81168114611c08578182fd5b600060208284031215613d6e578081fd5b5051919050565b600080600060608486031215613d89578081fd5b833592506020840135613d9b8161418c565b91506040840135613dab8161418c565b809150509250925092565b600060208284031215613dc7578081fd5b8151611c08816141af565b6000815180845260208085019450808401835b83811015613e0a5781516001600160a01b031687529582019590820190600101613de5565b509495945050505050565b60008251613e27818460208701614103565b9190910192915050565b6020815260008251806020840152613e50816040850160208701614103565b601f01601f19169190910160400192915050565b828152604060208201526000612ec26040830184613dd2565b85815284602082015260a060408201526000613e9c60a0830186613dd2565b6001600160a01b0394909416606083015250608001529392505050565b85815284602082015283604082015282606082015260a060808201526000613ee460a0830184613dd2565b979650505050505050565b60405161018081016001600160401b0381118282101715613f1257613f12614176565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613f4057613f40614176565b604052919050565b60006001600160401b03821115613f6157613f61614176565b5060051b60200190565b60008219821115613f7e57613f7e61414a565b500190565b600061ffff80841680613f9857613f98614160565b92169190910492915050565b600082613fb357613fb3614160565b500490565b600181815b80851115613ff3578160001904821115613fd957613fd961414a565b80851615613fe657918102915b93841c9390800290613fbd565b509250929050565b6000611c088383600082614011575060016120ea565b8161401e575060006120ea565b8160018114614034576002811461403e5761405a565b60019150506120ea565b60ff84111561404f5761404f61414a565b50506001821b6120ea565b5060208310610133831016604e8410600b841016171561407d575081810a6120ea565b6140878383613fb8565b806000190482111561409b5761409b61414a565b029392505050565b600061ffff808316818516818304811182151516156140c4576140c461414a565b02949350505050565b60008160001904831182151516156140e7576140e761414a565b500290565b6000828210156140fe576140fe61414a565b500390565b60005b8381101561411e578181015183820152602001614106565b83811115612b085750506000910152565b60006000198214156141435761414361414a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610e5f57600080fd5b8015158114610e5f57600080fd5b60ff81168114610e5f57600080fdfea2646970667358221220247f55e47a2e4b1d1e65a35224b7a7706b4b143d6233c72ac34846258d62dbdd64736f6c63430008040033"; //# sourceMappingURL=UniswapLiquiditySwapAdapterFactory.js.map