test-contracts-sovryn
Version:
Smart contracts for the Sovryn protocol and external integrations.
170 lines (169 loc) • 15 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "FlashLoanerTest",
"sourceName": "contracts/testhelpers/FlashLoanerTest.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "balance",
"type": "uint256"
}
],
"name": "BalanceOf",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "loanToken",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "iToken",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "loanAmount",
"type": "uint256"
}
],
"name": "ExecuteOperation",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "iToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "doStuffWithFlashLoan",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "loanToken",
"type": "address"
},
{
"internalType": "address",
"name": "iToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "loanAmount",
"type": "uint256"
}
],
"name": "executeOperation",
"outputs": [
{
"internalType": "bytes",
"name": "success",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "isOwner",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405260006100176001600160e01b0361006616565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006a565b3390565b610ad8806100796000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632a77b18b1461005c57806332d85333146100855780638da5cb5b1461009a5780638f32d59b146100af578063f2fde38b146100c4575b600080fd5b61006f61006a3660046106ec565b6100d7565b60405161007c9190610918565b60405180910390f35b6100986100933660046106ec565b6101f2565b005b6100a26103d8565b60405161007c91906108b9565b6100b76103e7565b60405161007c919061090a565b6100986100d23660046106c6565b61040b565b60607fb3283e62da596472bfaced2b06c099416a162887a48327e0ffbcb4e682064600846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161012691906108b9565b60206040518083038186803b15801561013e57600080fd5b505afa158015610152573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610176919081019061078c565b6040516101839190610959565b60405180910390a17fc2b282e2bfa85928b833b779034da20be2d6c7536ef9afd46b64f327d8ecdc8b8484846040516101be939291906108c7565b60405180910390a16101d184848461043b565b506040805180820190915260018152603160f81b60208201525b9392505050565b6101fa6103e7565b61021f5760405162461bcd60e51b815260040161021690610949565b60405180910390fd5b60607fb3283e62da596472bfaced2b06c099416a162887a48327e0ffbcb4e682064600846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161026e91906108b9565b60206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102be919081019061078c565b6040516102cb9190610959565b60405180910390a16102de8484846104bb565b90507fb3283e62da596472bfaced2b06c099416a162887a48327e0ffbcb4e682064600846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161032d91906108b9565b60206040518083038186803b15801561034557600080fd5b505afa158015610359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061037d919081019061078c565b60405161038a9190610959565b60405180910390a16103b5604051806040016040528060018152602001603160f81b81525082610594565b156103d25760405162461bcd60e51b815260040161021690610939565b50505050565b6000546001600160a01b031690565b600080546001600160a01b03166103fc6105c1565b6001600160a01b031614905090565b6104136103e7565b61042f5760405162461bcd60e51b815260040161021690610949565b610438816105c5565b50565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb9061046990859085906004016108ef565b602060405180830381600087803b15801561048357600080fd5b505af1158015610497573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103d29190810190610739565b60606000839050806001600160a01b031663c5bf0e9d8430308989896040516024016104e9939291906108c7565b60408051601f198184030181529181526020820180516001600160e01b0316632a77b18b60e01b1790525160e086901b6001600160e01b03191681526105359493929190600401610967565b600060405180830381600087803b15801561054f57600080fd5b505af1158015610563573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261058b9190810190610757565b95945050505050565b600081518351146105a7575060006105bb565b818051906020012083805190602001201490505b92915050565b3390565b6001600160a01b0381166105eb5760405162461bcd60e51b815260040161021690610929565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80356105bb81610a6f565b80516105bb81610a83565b600082601f83011261066d57600080fd5b815161068061067b826109e5565b6109be565b9150808252602083016020830185838301111561069c57600080fd5b6106a7838284610a39565b50505092915050565b80356105bb81610a8c565b80516105bb81610a8c565b6000602082840312156106d857600080fd5b60006106e48484610646565b949350505050565b60008060006060848603121561070157600080fd5b600061070d8686610646565b935050602061071e86828701610646565b925050604061072f868287016106b0565b9150509250925092565b60006020828403121561074b57600080fd5b60006106e48484610651565b60006020828403121561076957600080fd5b815167ffffffffffffffff81111561078057600080fd5b6106e48482850161065c565b60006020828403121561079e57600080fd5b60006106e484846106bb565b6107b381610a1a565b82525050565b6107b381610a25565b60006107cd82610a0d565b6107d78185610a11565b93506107e7818560208601610a39565b6107f081610a65565b9093019392505050565b6000610807602683610a11565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b600061084f601783610a11565b7f6661696c656420657865637574654f7065726174696f6e000000000000000000815260200192915050565b6000610888600c83610a11565b6b1d5b985d5d1a1bdc9a5e995960a21b815260200192915050565b60006105bb600083610a11565b6107b381610a36565b602081016105bb82846107aa565b606081016108d582866107aa565b6108e260208301856107aa565b6106e460408301846108b0565b604081016108fd82856107aa565b6101eb60208301846108b0565b602081016105bb82846107b9565b602080825281016101eb81846107c2565b602080825281016105bb816107fa565b602080825281016105bb81610842565b602080825281016105bb8161087b565b602081016105bb82846108b0565b60a0810161097582876108b0565b61098260208301866107aa565b61098f60408301856107aa565b81810360608301526109a0816108a3565b905081810360808301526109b481846107c2565b9695505050505050565b60405181810167ffffffffffffffff811182821017156109dd57600080fd5b604052919050565b600067ffffffffffffffff8211156109fc57600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006105bb82610a2a565b151590565b6001600160a01b031690565b90565b60005b83811015610a54578181015183820152602001610a3c565b838111156103d25750506000910152565b601f01601f191690565b610a7881610a1a565b811461043857600080fd5b610a7881610a25565b610a7881610a3656fea365627a7a723158207956168941223f93355be7b1faf26ce9bdaa759d4e334072aa0b4e3b4fa26d4d6c6578706572696d656e74616cf564736f6c63430005110040",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632a77b18b1461005c57806332d85333146100855780638da5cb5b1461009a5780638f32d59b146100af578063f2fde38b146100c4575b600080fd5b61006f61006a3660046106ec565b6100d7565b60405161007c9190610918565b60405180910390f35b6100986100933660046106ec565b6101f2565b005b6100a26103d8565b60405161007c91906108b9565b6100b76103e7565b60405161007c919061090a565b6100986100d23660046106c6565b61040b565b60607fb3283e62da596472bfaced2b06c099416a162887a48327e0ffbcb4e682064600846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161012691906108b9565b60206040518083038186803b15801561013e57600080fd5b505afa158015610152573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610176919081019061078c565b6040516101839190610959565b60405180910390a17fc2b282e2bfa85928b833b779034da20be2d6c7536ef9afd46b64f327d8ecdc8b8484846040516101be939291906108c7565b60405180910390a16101d184848461043b565b506040805180820190915260018152603160f81b60208201525b9392505050565b6101fa6103e7565b61021f5760405162461bcd60e51b815260040161021690610949565b60405180910390fd5b60607fb3283e62da596472bfaced2b06c099416a162887a48327e0ffbcb4e682064600846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161026e91906108b9565b60206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102be919081019061078c565b6040516102cb9190610959565b60405180910390a16102de8484846104bb565b90507fb3283e62da596472bfaced2b06c099416a162887a48327e0ffbcb4e682064600846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161032d91906108b9565b60206040518083038186803b15801561034557600080fd5b505afa158015610359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061037d919081019061078c565b60405161038a9190610959565b60405180910390a16103b5604051806040016040528060018152602001603160f81b81525082610594565b156103d25760405162461bcd60e51b815260040161021690610939565b50505050565b6000546001600160a01b031690565b600080546001600160a01b03166103fc6105c1565b6001600160a01b031614905090565b6104136103e7565b61042f5760405162461bcd60e51b815260040161021690610949565b610438816105c5565b50565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb9061046990859085906004016108ef565b602060405180830381600087803b15801561048357600080fd5b505af1158015610497573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103d29190810190610739565b60606000839050806001600160a01b031663c5bf0e9d8430308989896040516024016104e9939291906108c7565b60408051601f198184030181529181526020820180516001600160e01b0316632a77b18b60e01b1790525160e086901b6001600160e01b03191681526105359493929190600401610967565b600060405180830381600087803b15801561054f57600080fd5b505af1158015610563573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261058b9190810190610757565b95945050505050565b600081518351146105a7575060006105bb565b818051906020012083805190602001201490505b92915050565b3390565b6001600160a01b0381166105eb5760405162461bcd60e51b815260040161021690610929565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b80356105bb81610a6f565b80516105bb81610a83565b600082601f83011261066d57600080fd5b815161068061067b826109e5565b6109be565b9150808252602083016020830185838301111561069c57600080fd5b6106a7838284610a39565b50505092915050565b80356105bb81610a8c565b80516105bb81610a8c565b6000602082840312156106d857600080fd5b60006106e48484610646565b949350505050565b60008060006060848603121561070157600080fd5b600061070d8686610646565b935050602061071e86828701610646565b925050604061072f868287016106b0565b9150509250925092565b60006020828403121561074b57600080fd5b60006106e48484610651565b60006020828403121561076957600080fd5b815167ffffffffffffffff81111561078057600080fd5b6106e48482850161065c565b60006020828403121561079e57600080fd5b60006106e484846106bb565b6107b381610a1a565b82525050565b6107b381610a25565b60006107cd82610a0d565b6107d78185610a11565b93506107e7818560208601610a39565b6107f081610a65565b9093019392505050565b6000610807602683610a11565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b600061084f601783610a11565b7f6661696c656420657865637574654f7065726174696f6e000000000000000000815260200192915050565b6000610888600c83610a11565b6b1d5b985d5d1a1bdc9a5e995960a21b815260200192915050565b60006105bb600083610a11565b6107b381610a36565b602081016105bb82846107aa565b606081016108d582866107aa565b6108e260208301856107aa565b6106e460408301846108b0565b604081016108fd82856107aa565b6101eb60208301846108b0565b602081016105bb82846107b9565b602080825281016101eb81846107c2565b602080825281016105bb816107fa565b602080825281016105bb81610842565b602080825281016105bb8161087b565b602081016105bb82846108b0565b60a0810161097582876108b0565b61098260208301866107aa565b61098f60408301856107aa565b81810360608301526109a0816108a3565b905081810360808301526109b481846107c2565b9695505050505050565b60405181810167ffffffffffffffff811182821017156109dd57600080fd5b604052919050565b600067ffffffffffffffff8211156109fc57600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006105bb82610a2a565b151590565b6001600160a01b031690565b90565b60005b83811015610a54578181015183820152602001610a3c565b838111156103d25750506000910152565b601f01601f191690565b610a7881610a1a565b811461043857600080fd5b610a7881610a25565b610a7881610a3656fea365627a7a723158207956168941223f93355be7b1faf26ce9bdaa759d4e334072aa0b4e3b4fa26d4d6c6578706572696d656e74616cf564736f6c63430005110040",
"linkReferences": {},
"deployedLinkReferences": {}
}