@yearn-mechanics/yswaps
Version:
YSwaps will swap enabled strategie's funds from harvests
242 lines (241 loc) • 16.3 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "SwapperForTest",
"sourceName": "solidity/contracts/for-test/swappers/Swapper.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"
},
{
"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": "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": "modifierOnlyTradeFactory",
"outputs": [],
"stateMutability": "nonpayable",
"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": [],
"name": "tradeFactory",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50604051610bc3380380610bc383398101604081905261002f91610121565b80826001600160a01b0381166100a25760405162461bcd60e51b815260206004820152602e60248201527f676f7665726e61626c652f676f7665726e6f722d73686f756c642d6e6f742d6260448201526d652d7a65726f2d6164647265737360901b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b0392831617905581166100dd5760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055506101549050565b80516001600160a01b038116811461011c57600080fd5b919050565b6000806040838503121561013457600080fd5b61013d83610105565b915061014b60208401610105565b90509250929050565b610a60806101636000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063cd985af011610071578063cd985af014610129578063e3056a3414610138578063e43581b81461014b578063e58bb6391461017d578063e5e19b4a14610185578063f235757f1461019857600080fd5b80630c340a24146100ae5780632db8c129146100de5780635094867a146100f357806365210942146100fb578063a734f06e1461010e575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec3660046108d3565b6101ab565b005b6100f16101ee565b6100f161010936600461090f565b61021b565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60006040516100d5919061092a565b6001546100c1906001600160a01b031681565b61016d61015936600461090f565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b6100f16102c1565b6004546100c1906001600160a01b031681565b6100f16101a636600461090f565b610323565b6000546001600160a01b031633146101de5760405162461bcd60e51b81526004016101d590610952565b60405180910390fd5b6101e9838383610359565b505050565b6004546001600160a01b031633146102195760405163ea8e4eb560e01b815260040160405180910390fd5b565b6000546001600160a01b031633146102455760405162461bcd60e51b81526004016101d590610952565b6001600160a01b03811661026c5760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fbda986fea33634f76bd215bacd0d368610edf55143c3ca42bd0f55040ad870b5906020015b60405180910390a150565b6001546001600160a01b0316331461031b5760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f7260448201526064016101d5565b6102196104fb565b6000546001600160a01b0316331461034d5760405162461bcd60e51b81526004016101d590610952565b6103568161054b565b50565b6001600160a01b0383166103c75760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b60648201526084016101d5565b6103d260028361060d565b156104365760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b60648201526084016101d5565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610497576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610491573d6000803e3d6000fd5b506104ab565b6104ab6001600160a01b0383168483610632565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166105bf5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b60648201526084016101d5565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def906020016102b6565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526101e9928692916000916106c291851690849061073f565b8051909150156101e957808060200190518101906106e09190610989565b6101e95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101d5565b606061074e8484600085610756565b949350505050565b6060824710156107b75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101d5565b843b6108055760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101d5565b600080866001600160a01b0316858760405161082191906109db565b60006040518083038185875af1925050503d806000811461085e576040519150601f19603f3d011682016040523d82523d6000602084013e610863565b606091505b509150915061087382828661087e565b979650505050505050565b6060831561088d57508161062b565b82511561089d5782518084602001fd5b8160405162461bcd60e51b81526004016101d591906109f7565b80356001600160a01b03811681146108ce57600080fd5b919050565b6000806000606084860312156108e857600080fd5b6108f1846108b7565b92506108ff602085016108b7565b9150604084013590509250925092565b60006020828403121561092157600080fd5b61062b826108b7565b602081016002831061094c57634e487b7160e01b600052602160045260246000fd5b91905290565b60208082526018908201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f720000000000000000604082015260600190565b60006020828403121561099b57600080fd5b8151801515811461062b57600080fd5b60005b838110156109c65781810151838201526020016109ae565b838111156109d5576000848401525b50505050565b600082516109ed8184602087016109ab565b9190910192915050565b6020815260008251806020840152610a168160408501602087016109ab565b601f01601f1916919091016040019291505056fea264697066735822122094a769176a918d77b9f05830c4ce8a3927df3dec132eb33d0d0958128e08570664736f6c63430008090033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063cd985af011610071578063cd985af014610129578063e3056a3414610138578063e43581b81461014b578063e58bb6391461017d578063e5e19b4a14610185578063f235757f1461019857600080fd5b80630c340a24146100ae5780632db8c129146100de5780635094867a146100f357806365210942146100fb578063a734f06e1461010e575b600080fd5b6000546100c1906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100f16100ec3660046108d3565b6101ab565b005b6100f16101ee565b6100f161010936600461090f565b61021b565b6100c173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60006040516100d5919061092a565b6001546100c1906001600160a01b031681565b61016d61015936600461090f565b6000546001600160a01b0391821691161490565b60405190151581526020016100d5565b6100f16102c1565b6004546100c1906001600160a01b031681565b6100f16101a636600461090f565b610323565b6000546001600160a01b031633146101de5760405162461bcd60e51b81526004016101d590610952565b60405180910390fd5b6101e9838383610359565b505050565b6004546001600160a01b031633146102195760405163ea8e4eb560e01b815260040160405180910390fd5b565b6000546001600160a01b031633146102455760405162461bcd60e51b81526004016101d590610952565b6001600160a01b03811661026c5760405163d92e233d60e01b815260040160405180910390fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fbda986fea33634f76bd215bacd0d368610edf55143c3ca42bd0f55040ad870b5906020015b60405180910390a150565b6001546001600160a01b0316331461031b5760405162461bcd60e51b815260206004820181905260248201527f676f7665726e61626c652f6f6e6c792d70656e64696e672d676f7665726e6f7260448201526064016101d5565b6102196104fb565b6000546001600160a01b0316331461034d5760405162461bcd60e51b81526004016101d590610952565b6103568161054b565b50565b6001600160a01b0383166103c75760405162461bcd60e51b815260206004820152602f60248201527f636f6c6c65637461626c652d647573742f63616e742d73656e642d647573742d60448201526e746f2d7a65726f2d6164647265737360881b60648201526084016101d5565b6103d260028361060d565b156104365760405162461bcd60e51b815260206004820152602e60248201527f636f6c6c65637461626c652d647573742f746f6b656e2d69732d706172742d6f60448201526d198b5d1a194b5c1c9bdd1bd8dbdb60921b60648201526084016101d5565b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610497576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610491573d6000803e3d6000fd5b506104ab565b6104ab6001600160a01b0383168483610632565b604080516001600160a01b038086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b60018054600080546001600160a01b03199081166001600160a01b0384161782559091169091556040517f7880f0fcc848e1f26e461654b100a69f8d0641e29aa29f6596c6afadbb36b5ea9190a1565b6001600160a01b0381166105bf5760405162461bcd60e51b815260206004820152603560248201527f676f7665726e61626c652f70656e64696e672d676f7665726e6f722d73686f756044820152746c642d6e6f742d62652d7a65726f2d61646472657360581b60648201526084016101d5565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f56bddfa0cee9697cebddf9acd7f23dc6583663b05e007b877056d05017994def906020016102b6565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526101e9928692916000916106c291851690849061073f565b8051909150156101e957808060200190518101906106e09190610989565b6101e95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101d5565b606061074e8484600085610756565b949350505050565b6060824710156107b75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101d5565b843b6108055760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101d5565b600080866001600160a01b0316858760405161082191906109db565b60006040518083038185875af1925050503d806000811461085e576040519150601f19603f3d011682016040523d82523d6000602084013e610863565b606091505b509150915061087382828661087e565b979650505050505050565b6060831561088d57508161062b565b82511561089d5782518084602001fd5b8160405162461bcd60e51b81526004016101d591906109f7565b80356001600160a01b03811681146108ce57600080fd5b919050565b6000806000606084860312156108e857600080fd5b6108f1846108b7565b92506108ff602085016108b7565b9150604084013590509250925092565b60006020828403121561092157600080fd5b61062b826108b7565b602081016002831061094c57634e487b7160e01b600052602160045260246000fd5b91905290565b60208082526018908201527f676f7665726e61626c652f6f6e6c792d676f7665726e6f720000000000000000604082015260600190565b60006020828403121561099b57600080fd5b8151801515811461062b57600080fd5b60005b838110156109c65781810151838201526020016109ae565b838111156109d5576000848401525b50505050565b600082516109ed8184602087016109ab565b9190910192915050565b6020815260008251806020840152610a168160408501602087016109ab565b601f01601f1916919091016040019291505056fea264697066735822122094a769176a918d77b9f05830c4ce8a3927df3dec132eb33d0d0958128e08570664736f6c63430008090033",
"linkReferences": {},
"deployedLinkReferences": {}
}