More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 381 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Do Swap | 20453084 | 202 days ago | IN | 0 ETH | 0.00005364 | ||||
Do Swap | 16873991 | 704 days ago | IN | 0 ETH | 0.00097555 | ||||
Do Swap | 16633043 | 738 days ago | IN | 0 ETH | 0.00231856 | ||||
Do Swap | 15313670 | 927 days ago | IN | 0 ETH | 0.00099319 | ||||
Do Swap | 15130030 | 955 days ago | IN | 0 ETH | 0.00254075 | ||||
Do Swap | 15066388 | 965 days ago | IN | 0 ETH | 0.00090714 | ||||
Do Swap | 14855876 | 1001 days ago | IN | 0 ETH | 0.00190662 | ||||
Do Swap | 14851895 | 1002 days ago | IN | 0 ETH | 0.00494121 | ||||
Do Swap | 14648112 | 1034 days ago | IN | 0 ETH | 0.00407553 | ||||
Do Swap | 14622638 | 1038 days ago | IN | 0 ETH | 0.00651773 | ||||
Do Swap | 14619013 | 1039 days ago | IN | 0 ETH | 0.00407495 | ||||
Do Swap | 14493812 | 1058 days ago | IN | 0 ETH | 0.00274764 | ||||
Do Swap | 14456891 | 1064 days ago | IN | 0 ETH | 0.00530005 | ||||
Do Swap | 14448530 | 1066 days ago | IN | 0 ETH | 0.00227621 | ||||
Do Swap | 14420232 | 1070 days ago | IN | 0 ETH | 0.00292445 | ||||
Do Swap | 14398818 | 1073 days ago | IN | 0 ETH | 0.0031947 | ||||
Do Swap | 14385925 | 1075 days ago | IN | 0 ETH | 0.00304124 | ||||
Do Swap | 14365191 | 1078 days ago | IN | 0 ETH | 0.00181223 | ||||
Do Swap | 14352010 | 1081 days ago | IN | 0 ETH | 0.00190662 | ||||
Do Swap | 14343860 | 1082 days ago | IN | 0 ETH | 0.00374503 | ||||
Do Swap | 14284853 | 1091 days ago | IN | 0 ETH | 0.00289067 | ||||
Do Swap | 14275147 | 1092 days ago | IN | 0 ETH | 0.00543146 | ||||
Do Swap | 14254280 | 1096 days ago | IN | 0 ETH | 0.00751733 | ||||
Do Swap | 14173751 | 1108 days ago | IN | 0 ETH | 0.00622403 | ||||
Do Swap | 14086630 | 1122 days ago | IN | 0 ETH | 0.01227158 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xDC2e28dF...37aE84ce2 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Swap
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-10 */ pragma solidity ^0.5.0; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract Swap { address private constant CONST_BURN_ADDRESS = 0x000000000000000000000000000000000000dEaD; address public OWNER; address public NEW_TOKEN_ADDRESS; address[] public OLD_TOKEN_ADDRESS; uint256[] public CONVERSION_RATE_PER_MILLE; event TokenSwapped (address requestor, address inputToken, uint256 inputQuantity, uint256 outputQuantity); constructor (address owner, address newTokenAddress, address[] memory oldTokenAddress, uint256[] memory conversionRatePerMille) public { OWNER = owner; NEW_TOKEN_ADDRESS = newTokenAddress; OLD_TOKEN_ADDRESS = oldTokenAddress; CONVERSION_RATE_PER_MILLE = conversionRatePerMille; } function checkResult (uint256 oldTokenIndex, uint256 inputQuantity) public view returns (uint256) { uint256 conversionRate = CONVERSION_RATE_PER_MILLE[oldTokenIndex]; return (conversionRate * inputQuantity) / 1000; } function doSwap (uint256 oldTokenIndex, uint256 inputQuantity) public { require(inputQuantity > 0, "Invalid input quantity"); require(oldTokenIndex < OLD_TOKEN_ADDRESS.length, "Out of index"); IERC20 oldTokenObj = IERC20(OLD_TOKEN_ADDRESS[oldTokenIndex]); IERC20 newTokenObj = IERC20(NEW_TOKEN_ADDRESS); uint256 outputQuantity = checkResult(oldTokenIndex, inputQuantity); require(newTokenObj.balanceOf(address(this)) >= outputQuantity, "New token isnt ready"); uint256 balanceBefore = oldTokenObj.balanceOf(CONST_BURN_ADDRESS); oldTokenObj.transferFrom(msg.sender, CONST_BURN_ADDRESS, inputQuantity); uint256 balanceAfter = oldTokenObj.balanceOf(CONST_BURN_ADDRESS); require(balanceBefore + inputQuantity == balanceAfter, "Old token isnt arrived"); newTokenObj.transfer(msg.sender, outputQuantity); emit TokenSwapped (msg.sender, OLD_TOKEN_ADDRESS[oldTokenIndex], inputQuantity, outputQuantity); } function drawToken (address token, uint256 quantity, address to) public { require (msg.sender == OWNER, "Only Owner can do"); IERC20 tokenObj = IERC20(token); require (tokenObj.balanceOf(address(this)) >= quantity, "Balance insufficient"); tokenObj.transfer(to, quantity); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"newTokenAddress","type":"address"},{"internalType":"address[]","name":"oldTokenAddress","type":"address[]"},{"internalType":"uint256[]","name":"conversionRatePerMille","type":"uint256[]"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"requestor","type":"address"},{"indexed":false,"internalType":"address","name":"inputToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"inputQuantity","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"outputQuantity","type":"uint256"}],"name":"TokenSwapped","type":"event"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"CONVERSION_RATE_PER_MILLE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NEW_TOKEN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"OLD_TOKEN_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"OWNER","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"oldTokenIndex","type":"uint256"},{"internalType":"uint256","name":"inputQuantity","type":"uint256"}],"name":"checkResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"oldTokenIndex","type":"uint256"},{"internalType":"uint256","name":"inputQuantity","type":"uint256"}],"name":"doSwap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"drawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80639704e4181161005b5780639704e41814610172578063b536f62e146101bc578063cab9225e146101fe578063d9d6226b1461026c5761007d565b8063117803e3146100825780632de167a5146100cc57806382afec321461013a575b600080fd5b61008a6102b8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610138600480360360608110156100e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506102dd565b005b6101706004803603604081101561015057600080fd5b81019080803590602001909291908035906020019092919050505061059a565b005b61017a610cbe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e8600480360360208110156101d257600080fd5b8101908080359060200190929190505050610ce4565b6040518082815260200191505060405180910390f35b61022a6004803603602081101561021457600080fd5b8101908080359060200190929190505050610d05565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102a26004803603604081101561028257600080fd5b810190808035906020019092919080359060200190929190505050610d41565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461039f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f6e6c79204f776e65722063616e20646f00000000000000000000000000000081525060200191505060405180910390fd5b6000839050828173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561042257600080fd5b505afa158015610436573d6000803e3d6000fd5b505050506040513d602081101561044c57600080fd5b810190808051906020019092919050505010156104d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f42616c616e636520696e73756666696369656e7400000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561055857600080fd5b505af115801561056c573d6000803e3d6000fd5b505050506040513d602081101561058257600080fd5b81019080805190602001909291905050505050505050565b60008111610610576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f496e76616c696420696e707574207175616e746974790000000000000000000081525060200191505060405180910390fd5b600280549050821061068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f4f7574206f6620696e646578000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006002838154811061069957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060006106f98585610d41565b9050808273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561077957600080fd5b505afa15801561078d573d6000803e3d6000fd5b505050506040513d60208110156107a357600080fd5b81019080805190602001909291905050501015610828576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f4e657720746f6b656e2069736e7420726561647900000000000000000000000081525060200191505060405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a0823161dead6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108a957600080fd5b505afa1580156108bd573d6000803e3d6000fd5b505050506040513d60208110156108d357600080fd5b810190808051906020019092919050505090508373ffffffffffffffffffffffffffffffffffffffff166323b872dd3361dead886040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b505050506040513d60208110156109cd57600080fd5b81019080805190602001909291905050505060008473ffffffffffffffffffffffffffffffffffffffff166370a0823161dead6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a6057600080fd5b505afa158015610a74573d6000803e3d6000fd5b505050506040513d6020811015610a8a57600080fd5b810190808051906020019092919050505090508086830114610b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4f6c6420746f6b656e2069736e7420617272697665640000000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b9b57600080fd5b505af1158015610baf573d6000803e3d6000fd5b505050506040513d6020811015610bc557600080fd5b8101908080519060200190929190505050507f30b60ee4dc75c0fb04420331b13e9ad7f8ff8fc51eac9c97d36fb20ccbe09d663360028981548110610c0657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168886604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a150505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038181548110610cf157fe5b906000526020600020016000915090505481565b60028181548110610d1257fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060038481548110610d5157fe5b906000526020600020015490506103e883820281610d6b57fe5b049150509291505056fea265627a7a723158207e4ab0d73edd4634262185afab6056dbb2dd918fd4efc975baccd023e884cc9d64736f6c63430005110032
Deployed Bytecode Sourcemap
704:2369:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;704:2369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;826:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2735:335;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2735:335:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1681:1042;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1681:1042:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;853:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;933:42;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;933:42:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;892:34;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;892:34:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1434:239;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1434:239:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;826:20;;;;;;;;;;;;;:::o;2735:335::-;2841:5;;;;;;;;;;;2827:19;;:10;:19;;;2818:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2889:15;2914:5;2889:31;;2977:8;2940;:18;;;2967:4;2940:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2940:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2940:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2940:33:0;;;;;;;;;;;;;;;;:45;;2931:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3031:8;:17;;;3049:2;3053:8;3031:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3031:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3031:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3031:31:0;;;;;;;;;;;;;;;;;2735:335;;;;:::o;1681:1042::-;1786:1;1770:13;:17;1762:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1849:17;:24;;;;1833:13;:40;1825:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1911:18;1939:17;1957:13;1939:32;;;;;;;;;;;;;;;;;;;;;;;;;1911:61;;1983:18;2011:17;;;;;;;;;;;1983:46;;2050:22;2075:41;2087:13;2102;2075:11;:41::i;:::-;2050:66;;2175:14;2135:11;:21;;;2165:4;2135:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2135:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2135:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2135:36:0;;;;;;;;;;;;;;;;:54;;2127:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2227:21;2251:11;:21;;;771:42;2251:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2251:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2251:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2251:41:0;;;;;;;;;;;;;;;;2227:65;;2303:11;:24;;;2328:10;771:42;2360:13;2303:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2303:71:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2303:71:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2303:71:0;;;;;;;;;;;;;;;;;2385:20;2408:11;:21;;;771:42;2408:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2408:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2408:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2408:41:0;;;;;;;;;;;;;;;;2385:64;;2501:12;2484:13;2468;:29;:45;2460:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2561:11;:20;;;2582:10;2594:14;2561:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2561:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2561:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2561:48:0;;;;;;;;;;;;;;;;;2625:90;2639:10;2651:17;2669:13;2651:32;;;;;;;;;;;;;;;;;;;;;;;;;2685:13;2700:14;2625:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1681:1042;;;;;;;:::o;853:32::-;;;;;;;;;;;;;:::o;933:42::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;892:34::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1434:239::-;1523:7;1543:22;1568:25;1594:13;1568:40;;;;;;;;;;;;;;;;1543:65;;1661:4;1644:13;1627:14;:30;1626:39;;;;;;1619:46;;;1434:239;;;;:::o
Swarm Source
bzzr://7e4ab0d73edd4634262185afab6056dbb2dd918fd4efc975baccd023e884cc9d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.