编译器
0.6.12+commit.27d51765
文件 1 的 13:BaseFeature.sol
文件 3 的 13:IAugustusSwapper.sol
文件 4 的 13:IDexRegistry.sol
文件 6 的 13:ILimitStorage.sol
文件 7 的 13:ILockStorage.sol
文件 8 的 13:IModuleRegistry.sol
文件 9 的 13:ITokenPriceRegistry.sol
文件 10 的 13:IVersionManager.sol
文件 12 的 13:SafeMath.sol
pragma solidity ^0.6.0;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
文件 13 的 13:TokenExchanger.sol
{
"compilationTarget": {
"/Users/Elena/Source/argent-contracts/contracts/modules/TokenExchanger.sol": "TokenExchanger"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 999
},
"remappings": []
}
[{"inputs":[{"internalType":"contract ILockStorage","name":"_lockStorage","type":"address"},{"internalType":"contract ITokenPriceRegistry","name":"_tokenPriceRegistry","type":"address"},{"internalType":"contract IVersionManager","name":"_versionManager","type":"address"},{"internalType":"contract IDexRegistry","name":"_dexRegistry","type":"address"},{"internalType":"address","name":"_paraswap","type":"address"},{"internalType":"string","name":"_referrer","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"name","type":"bytes32"}],"name":"FeatureCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"address","name":"srcToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"srcAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"destToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"destAmount","type":"uint256"}],"name":"TokenExchanged","type":"event"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"},{"internalType":"address","name":"_srcToken","type":"address"},{"internalType":"address","name":"_destToken","type":"address"},{"internalType":"uint256","name":"_maxSrcAmount","type":"uint256"},{"internalType":"uint256","name":"_destAmount","type":"uint256"},{"internalType":"uint256","name":"_expectedSrcAmount","type":"uint256"},{"components":[{"internalType":"address payable","name":"exchange","type":"address"},{"internalType":"address","name":"targetExchange","type":"address"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint256","name":"networkFee","type":"uint256"}],"internalType":"struct IAugustusSwapper.BuyRoute[]","name":"_routes","type":"tuple[]"},{"internalType":"uint256","name":"_mintPrice","type":"uint256"}],"name":"buy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRegistry","outputs":[{"internalType":"contract IDexRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"getRequiredSignatures","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"enum IFeature.OwnerSignature","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStaticCallSignatures","outputs":[{"internalType":"bytes4[]","name":"_sigs","type":"bytes4[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"},{"internalType":"address","name":"_feature","type":"address"}],"name":"isFeatureAuthorisedInVersionManager","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paraswapProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paraswapSwapper","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"recoverToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"referrer","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"},{"internalType":"address","name":"_srcToken","type":"address"},{"internalType":"address","name":"_destToken","type":"address"},{"internalType":"uint256","name":"_srcAmount","type":"uint256"},{"internalType":"uint256","name":"_minDestAmount","type":"uint256"},{"internalType":"uint256","name":"_expectedDestAmount","type":"uint256"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"totalNetworkFee","type":"uint256"},{"components":[{"internalType":"address payable","name":"exchange","type":"address"},{"internalType":"address","name":"targetExchange","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint256","name":"networkFee","type":"uint256"}],"internalType":"struct IAugustusSwapper.Route[]","name":"routes","type":"tuple[]"}],"internalType":"struct IAugustusSwapper.Path[]","name":"_path","type":"tuple[]"},{"internalType":"uint256","name":"_mintPrice","type":"uint256"}],"name":"sell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenPriceRegistry","outputs":[{"internalType":"contract ITokenPriceRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"}]