UNPKG

@yearn-mechanics/yswaps

Version:

YSwaps will swap enabled strategie's funds from harvests

291 lines (290 loc) 19 kB
{ "_format": "hh-sol-artifact-1", "contractName": "SyncSwapperForTest", "sourceName": "solidity/contracts/for-test/swappers/SyncSwapper.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "_governor", "type": "address" }, { "internalType": "address", "name": "_tradeFactory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "NotAuthorized", "type": "error" }, { "inputs": [], "name": "ZeroAddress", "type": "error" }, { "inputs": [], "name": "ZeroAmount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_to", "type": "address" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "DustSent", "type": "event" }, { "anonymous": false, "inputs": [], "name": "GovernorAccepted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "pendingGovernor", "type": "address" } ], "name": "PendingGovernorSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_tradeFactory", "type": "address" } ], "name": "TradeFactorySet", "type": "event" }, { "inputs": [], "name": "ETH_ADDRESS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SLIPPAGE_PRECISION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SWAPPER_TYPE", "outputs": [ { "internalType": "enum ISwapper.SwapperType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptGovernor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "governor", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "isGovernor", "outputs": [ { "internalType": "bool", "name": "_isGovernor", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingGovernor", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "sendDust", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pendingGovernor", "type": "address" } ], "name": "setPendingGovernor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tradeFactory", "type": "address" } ], "name": "setTradeFactory", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "address", "name": "_tokenIn", "type": "address" }, { "internalType": "address", "name": "_tokenOut", "type": "address" }, { "internalType": "uint256", "name": "_amountIn", "type": "uint256" }, { "internalType": "uint256", "name": "_maxSlippage", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "swap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "tradeFactory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x60a060405261271060805234801561001657600080fd5b50604051610d6a380380610d6a8339810160408190526100359161012b565b818180826001600160a01b0381166100aa5760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b0392831617905581166100e55760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b03929092169190911790555061015e92505050565b80516001600160a01b038116811461012657600080fd5b919050565b6000806040838503121561013e57600080fd5b6101478361010f565b91506101556020840161010f565b90509250929050565b608051610bf161017960003960006101030152610bf16000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063cd985af011610071578063cd985af014610174578063e3056a3414610189578063e43581b81461019c578063e58bb639146101ce578063e5e19b4a146101d6578063f235757f146101e957600080fd5b80630c340a24146100b95780632db8c129146100e9578063453943f0146100fe5780636521094214610133578063a5d4096b14610146578063a734f06e14610159575b600080fd5b6000546100cc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100fc6100f73660046109ac565b6101fc565b005b6101257f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e0565b6100fc6101413660046109e8565b61023f565b6100fc610154366004610a03565b6102e5565b6100cc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61017c600181565b6040516100e09190610abb565b6001546100cc906001600160a01b031681565b6101be6101aa3660046109e8565b6000546001600160a01b0391821691161490565b60405190151581526020016100e0565b6100fc610326565b6004546100cc906001600160a01b031681565b6100fc6101f73660046109e8565b61038a565b6000546001600160a01b0316331461022f5760405162461bcd60e51b815260040161022690610ae3565b60405180910390fd5b61023a8383836103c0565b505050565b6000546001600160a01b031633146102695760405162461bcd60e51b815260040161022690610ae3565b6001600160a01b0381166102905760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fbda986fea33634f76bd215bacd0d368610edf55143c3ca42bd0f55040ad870b5906020015b60405180910390a150565b6004546001600160a01b031633146103105760405163ea8e4eb560e01b815260040160405180910390fd5b61031d8787878787610562565b50505050505050565b6001546001600160a01b031633146103805760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610226565b6103886105d4565b565b6000546001600160a01b031633146103b45760405162461bcd60e51b815260040161022690610ae3565b6103bd81610624565b50565b6001600160a01b03831661042e5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610226565b6104396002836106e6565b1561049d5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610226565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156104fe576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156104f8573d6000803e3d6000fd5b50610512565b6105126001600160a01b038316848361070b565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b038516158061057f57506001600160a01b038416155b8061059157506001600160a01b038316155b156105af5760405163d92e233d60e01b815260040160405180910390fd5b816105cd57604051631f2a200560e01b815260040160405180910390fd5b5050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166106985760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610226565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def906020016102da565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261023a9286929160009161079b918516908490610818565b80519091501561023a57808060200190518101906107b99190610b1a565b61023a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610226565b6060610827848460008561082f565b949350505050565b6060824710156108905760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610226565b843b6108de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610226565b600080866001600160a01b031685876040516108fa9190610b6c565b60006040518083038185875af1925050503d8060008114610937576040519150601f19603f3d011682016040523d82523d6000602084013e61093c565b606091505b509150915061094c828286610957565b979650505050505050565b60608315610966575081610704565b8251156109765782518084602001fd5b8160405162461bcd60e51b81526004016102269190610b88565b80356001600160a01b03811681146109a757600080fd5b919050565b6000806000606084860312156109c157600080fd5b6109ca84610990565b92506109d860208501610990565b9150604084013590509250925092565b6000602082840312156109fa57600080fd5b61070482610990565b600080600080600080600060c0888a031215610a1e57600080fd5b610a2788610990565b9650610a3560208901610990565b9550610a4360408901610990565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610a6e57600080fd5b818a0191508a601f830112610a8257600080fd5b813581811115610a9157600080fd5b8b6020828501011115610aa357600080fd5b60208301945080935050505092959891949750929550565b6020810160028310610add57634e487b7160e01b600052602160045260246000fd5b91905290565b60208082526018908201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f720000000000000000604082015260600190565b600060208284031215610b2c57600080fd5b8151801515811461070457600080fd5b60005b83811015610b57578181015183820152602001610b3f565b83811115610b66576000848401525b50505050565b60008251610b7e818460208701610b3c565b9190910192915050565b6020815260008251806020840152610ba7816040850160208701610b3c565b601f01601f1916919091016040019291505056fea2646970667358221220b32e31351e44f12b03a265c06e7f75b8232306ac49c97751062f55f32be5d34264736f6c63430008090033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063cd985af011610071578063cd985af014610174578063e3056a3414610189578063e43581b81461019c578063e58bb639146101ce578063e5e19b4a146101d6578063f235757f146101e957600080fd5b80630c340a24146100b95780632db8c129146100e9578063453943f0146100fe5780636521094214610133578063a5d4096b14610146578063a734f06e14610159575b600080fd5b6000546100cc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100fc6100f73660046109ac565b6101fc565b005b6101257f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e0565b6100fc6101413660046109e8565b61023f565b6100fc610154366004610a03565b6102e5565b6100cc73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61017c600181565b6040516100e09190610abb565b6001546100cc906001600160a01b031681565b6101be6101aa3660046109e8565b6000546001600160a01b0391821691161490565b60405190151581526020016100e0565b6100fc610326565b6004546100cc906001600160a01b031681565b6100fc6101f73660046109e8565b61038a565b6000546001600160a01b0316331461022f5760405162461bcd60e51b815260040161022690610ae3565b60405180910390fd5b61023a8383836103c0565b505050565b6000546001600160a01b031633146102695760405162461bcd60e51b815260040161022690610ae3565b6001600160a01b0381166102905760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fbda986fea33634f76bd215bacd0d368610edf55143c3ca42bd0f55040ad870b5906020015b60405180910390a150565b6004546001600160a01b031633146103105760405163ea8e4eb560e01b815260040160405180910390fd5b61031d8787878787610562565b50505050505050565b6001546001600160a01b031633146103805760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f726044820152606401610226565b6103886105d4565b565b6000546001600160a01b031633146103b45760405162461bcd60e51b815260040161022690610ae3565b6103bd81610624565b50565b6001600160a01b03831661042e5760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b6064820152608401610226565b6104396002836106e6565b1561049d5760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b6064820152608401610226565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156104fe576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156104f8573d6000803e3d6000fd5b50610512565b6105126001600160a01b038316848361070b565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6001600160a01b038516158061057f57506001600160a01b038416155b8061059157506001600160a01b038316155b156105af5760405163d92e233d60e01b815260040160405180910390fd5b816105cd57604051631f2a200560e01b815260040160405180910390fd5b5050505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166106985760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b6064820152608401610226565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def906020016102da565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261023a9286929160009161079b918516908490610818565b80519091501561023a57808060200190518101906107b99190610b1a565b61023a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610226565b6060610827848460008561082f565b949350505050565b6060824710156108905760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610226565b843b6108de5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610226565b600080866001600160a01b031685876040516108fa9190610b6c565b60006040518083038185875af1925050503d8060008114610937576040519150601f19603f3d011682016040523d82523d6000602084013e61093c565b606091505b509150915061094c828286610957565b979650505050505050565b60608315610966575081610704565b8251156109765782518084602001fd5b8160405162461bcd60e51b81526004016102269190610b88565b80356001600160a01b03811681146109a757600080fd5b919050565b6000806000606084860312156109c157600080fd5b6109ca84610990565b92506109d860208501610990565b9150604084013590509250925092565b6000602082840312156109fa57600080fd5b61070482610990565b600080600080600080600060c0888a031215610a1e57600080fd5b610a2788610990565b9650610a3560208901610990565b9550610a4360408901610990565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115610a6e57600080fd5b818a0191508a601f830112610a8257600080fd5b813581811115610a9157600080fd5b8b6020828501011115610aa357600080fd5b60208301945080935050505092959891949750929550565b6020810160028310610add57634e487b7160e01b600052602160045260246000fd5b91905290565b60208082526018908201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f720000000000000000604082015260600190565b600060208284031215610b2c57600080fd5b8151801515811461070457600080fd5b60005b83811015610b57578181015183820152602001610b3f565b83811115610b66576000848401525b50505050565b60008251610b7e818460208701610b3c565b9190910192915050565b6020815260008251806020840152610ba7816040850160208701610b3c565b601f01601f1916919091016040019291505056fea2646970667358221220b32e31351e44f12b03a265c06e7f75b8232306ac49c97751062f55f32be5d34264736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} }