More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 1,179 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Swap Old PBR To ... | 12202539 | 1366 days ago | IN | 0 ETH | 0.00203192 | ||||
Swap Old PBR To ... | 12191774 | 1368 days ago | IN | 0 ETH | 0.00304788 | ||||
Swap Old PBR To ... | 12173589 | 1370 days ago | IN | 0 ETH | 0.00708632 | ||||
Swap Old PBR To ... | 12167190 | 1371 days ago | IN | 0 ETH | 0.00449774 | ||||
Swap Old PBR To ... | 12167190 | 1371 days ago | IN | 0 ETH | 0.00431987 | ||||
Swap Old PBR To ... | 12167190 | 1371 days ago | IN | 0 ETH | 0.00376082 | ||||
Burn All Token | 12154695 | 1373 days ago | IN | 0 ETH | 0.00611116 | ||||
Swap Old PBR To ... | 12154677 | 1373 days ago | IN | 0 ETH | 0.01888795 | ||||
Swap Old PBR To ... | 12154632 | 1373 days ago | IN | 0 ETH | 0.01672422 | ||||
Swap Old PBR To ... | 12154632 | 1373 days ago | IN | 0 ETH | 0.0167219 | ||||
Swap Old PBR To ... | 12154605 | 1373 days ago | IN | 0 ETH | 0.01612215 | ||||
Swap Old PBR To ... | 12154502 | 1373 days ago | IN | 0 ETH | 0.01602877 | ||||
Swap Old PBR To ... | 12154492 | 1373 days ago | IN | 0 ETH | 0.01628869 | ||||
Swap Old PBR To ... | 12154422 | 1373 days ago | IN | 0 ETH | 0.01438257 | ||||
Swap Old PBR To ... | 12154300 | 1373 days ago | IN | 0 ETH | 0.01680854 | ||||
Swap Old PBR To ... | 12154285 | 1373 days ago | IN | 0 ETH | 0.01706847 | ||||
Swap Old PBR To ... | 12154193 | 1373 days ago | IN | 0 ETH | 0.01784825 | ||||
Swap Old PBR To ... | 12154178 | 1373 days ago | IN | 0 ETH | 0.0183681 | ||||
Swap Old PBR To ... | 12154139 | 1373 days ago | IN | 0 ETH | 0.0129672 | ||||
Swap Old PBR To ... | 12153679 | 1373 days ago | IN | 0 ETH | 0.0138608 | ||||
Swap Old PBR To ... | 12153496 | 1373 days ago | IN | 0 ETH | 0.01524899 | ||||
Swap Old PBR To ... | 12152705 | 1373 days ago | IN | 0 ETH | 0.0164793 | ||||
Swap Old PBR To ... | 12152632 | 1374 days ago | IN | 0 ETH | 0.0059572 | ||||
Swap Old PBR To ... | 12152632 | 1374 days ago | IN | 0 ETH | 0.00572359 | ||||
Swap Old PBR To ... | 12152632 | 1374 days ago | IN | 0 ETH | 0.01672422 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
SwapToken
Compiler Version
v0.6.1+commit.e6f7d5a4
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-03-16 */ pragma solidity >=0.6.0; contract Context { constructor () internal { } function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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 transferWithoutDeflationary(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); } 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) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 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) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold 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; } } contract ERC20 is Context, IERC20 { using SafeMath for uint256; struct PoolAddress{ address poolReward; bool isActive; bool isExist; } struct WhitelistTransfer{ address waddress; bool isActived; string name; } mapping (address => uint256) private _balances; mapping (address => WhitelistTransfer) public whitelistTransfer; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; address[] rewardPool; mapping(address=>PoolAddress) mapRewardPool; address internal tokenOwner; uint256 internal beginFarming; function addRewardPool(address add) public { require(_msgSender() == tokenOwner, "ERC20: Only owner can init"); require(!mapRewardPool[add].isExist,"Pool already exist"); mapRewardPool[add].poolReward=add; mapRewardPool[add].isActive=true; mapRewardPool[add].isExist=true; rewardPool.push(add); } function addWhitelistTransfer(address add, string memory name) public{ require(_msgSender() == tokenOwner, "ERC20: Only owner can init"); whitelistTransfer[add].waddress=add; whitelistTransfer[add].isActived=true; whitelistTransfer[add].name=name; } function removeWhitelistTransfer(address add) public{ require(_msgSender() == tokenOwner, "ERC20: Only owner can init"); whitelistTransfer[add].isActived=false; } function removeRewardPool(address add) public { require(_msgSender() == tokenOwner, "ERC20: Only owner can init"); mapRewardPool[add].isActive=false; } function countActiveRewardPool() public view returns (uint256){ uint length=0; for(uint i=0;i<rewardPool.length;i++){ if(mapRewardPool[rewardPool[i]].isActive){ length++; } } return length; } function getRewardPool(uint index) public view returns (address){ return rewardPool[index]; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { if(whitelistTransfer[recipient].isActived || whitelistTransfer[_msgSender()].isActived){//withdraw from exchange will not effect _transferWithoutDeflationary(_msgSender(), recipient, amount); } else{ _transfer(_msgSender(), recipient, amount); } return true; } function transferWithoutDeflationary(address recipient, uint256 amount) public virtual override returns (bool) { _transferWithoutDeflationary(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 burnAmount; uint256 rewardAmount; uint totalActivePool=countActiveRewardPool(); if (block.timestamp > beginFarming && totalActivePool>0) { (burnAmount,rewardAmount)=_caculateExtractAmount(amount); } //div reward if(rewardAmount>0){ uint eachPoolShare=rewardAmount.div(totalActivePool); for(uint i=0;i<rewardPool.length;i++){ if(mapRewardPool[rewardPool[i]].isActive){ _balances[rewardPool[i]] = _balances[rewardPool[i]].add(eachPoolShare); emit Transfer(sender, rewardPool[i], eachPoolShare); } } } //burn token if(burnAmount>0){ _burn(sender,burnAmount); _balances[sender] = _balances[sender].add(burnAmount);//because sender balance already sub in burn } uint256 newAmount=amount-burnAmount-rewardAmount; _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(newAmount); emit Transfer(sender, recipient, newAmount); } function _transferWithoutDeflationary(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } function _deploy(address account, uint256 amount,uint256 beginFarmingDate) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); tokenOwner = account; beginFarming=beginFarmingDate; _beforeTokenTransfer(address(0), account, amount); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _burnFrom(address account, uint256 amount) internal virtual { _burn(account, amount); _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, "ERC20: burn amount exceeds allowance")); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } function _caculateExtractAmount(uint256 amount) internal returns (uint256, uint256) { uint256 extractAmount = (amount * 5) / 1000; uint256 burnAmount = (extractAmount * 10) / 100; uint256 rewardAmount = (extractAmount * 90) / 100; return (burnAmount, rewardAmount); } function setBeginDeflationFarming(uint256 beginDate) public { require(msg.sender == tokenOwner, "ERC20: Only owner can call"); beginFarming = beginDate; } function getBeginDeflationary() public view returns (uint256) { return beginFarming; } } contract ERC20Burnable is Context, ERC20 { function burn(uint256 amount) public virtual { _burn(_msgSender(), amount); } function burnFrom(address account, uint256 amount) public virtual { _burnFrom(account, amount); } } abstract contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor (string memory name, string memory symbol, uint8 decimals) public { _name = name; _symbol = symbol; _decimals = decimals; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } } contract PolkaBridge is ERC20, ERC20Detailed, ERC20Burnable { constructor(uint256 initialSupply) public ERC20Detailed("PolkaBridge", "PBR", 18) { _deploy(msg.sender, initialSupply, 1616630400); //25 Mar 2021 1616630400 } //withdraw contract token //use for someone send token to contract //recuse wrong user function withdrawErc20(IERC20 token) public { token.transfer(tokenOwner, token.balanceOf(address(this))); } } contract SwapToken { using SafeMath for uint256; string public name = "PolkaBridge: Swap from old PBR to new PBR"; address payable private owner; address oldPBRAddress; PolkaBridge private polkaBridge; constructor(PolkaBridge _polkaBridge) public { polkaBridge = _polkaBridge; owner = msg.sender; } function swapOldPBRToNewPBR(uint256 amount) public { require(amount > 0, "amount must to > 0"); require(amount <= tokenContractBalance(), "exceeds amount limit"); require(amount <= oldTokenBalance(msg.sender), "not enough balance"); ERC20Burnable(oldPBRAddress).burnFrom(msg.sender, amount); //send new POBR token polkaBridge.transferWithoutDeflationary(msg.sender, amount); } function tokenContractBalance() public view returns (uint256) { return polkaBridge.balanceOf(address(this)); } function oldTokenBalance(address add) public view returns (uint256) { return ERC20Burnable(oldPBRAddress).balanceOf(add); } function oldTokenAddress() public view returns (address) { return oldPBRAddress; } function burnAllToken() public { require(msg.sender == owner, "only owner can burn"); polkaBridge.burn(tokenContractBalance()); } function burnToken(uint256 amount) public { require(msg.sender == owner, "only owner can burn"); polkaBridge.burn(amount); } function withdrawFund() public { require(msg.sender == owner, "only owner can withdraw"); uint256 balance = address(this).balance; require(balance > 0, "not enough fund"); owner.transfer(balance); } //withdraw contract token //use for someone send token to contract //recuse wrong user function withdrawErc20(IERC20 token) public { token.transfer(owner, token.balanceOf(address(this))); } function setOldPBRAddress(address add) public { require(msg.sender == owner, "only owner can do it"); oldPBRAddress = add; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract PolkaBridge","name":"_polkaBridge","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"burnAllToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oldTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"oldTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"add","type":"address"}],"name":"setOldPBRAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapOldPBRToNewPBR","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"withdrawErc20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052604051806060016040528060298152602001620011f860299139600090805190602001906200003592919062000103565b503480156200004357600080fd5b506040516200122138038062001221833981810160405260208110156200006957600080fd5b810190808051906020019092919050505080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620001b2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014657805160ff191683800117855562000177565b8280016001018555821562000177579182015b828111156200017657825182559160200191906001019062000159565b5b5090506200018691906200018a565b5090565b620001af91905b80821115620001ab57600081600090555060010162000191565b5090565b90565b61103680620001c26000396000f3fe6080604052600436106100955760003560e01c8063aac1306f11610059578063aac1306f14610239578063c7e42b1b14610274578063d8542d51146102c5578063e07fa3c11461031c578063e4403507146103335761009c565b806306fdde03146100a15780637b47ec1a146101315780637c3b57fd1461016c5780639a48ce9d146101bd578063a879af45146101d45761009c565b3661009c57005b600080fd5b3480156100ad57600080fd5b506100b661035e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013d57600080fd5b5061016a6004803603602081101561015457600080fd5b81019080803590602001909291905050506103fc565b005b34801561017857600080fd5b506101bb6004803603602081101561018f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054f565b005b3480156101c957600080fd5b506101d2610656565b005b3480156101e057600080fd5b50610223600480360360208110156101f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107af565b6040518082815260200191505060405180910390f35b34801561024557600080fd5b506102726004803603602081101561025c57600080fd5b8101908080359060200190929190505050610892565b005b34801561028057600080fd5b506102c36004803603602081101561029757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bac565b005b3480156102d157600080fd5b506102da610d4b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032857600080fd5b50610331610d75565b005b34801561033f57600080fd5b50610348610f1f565b6040518082815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103f45780601f106103c9576101008083540402835291602001916103f4565b820191906000526020600020905b8154815290600101906020018083116103d757829003601f168201915b505050505081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f6f6e6c79206f776e65722063616e206275726e0000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561053457600080fd5b505af1158015610548573d6000803e3d6000fd5b5050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610612576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6f6e6c79206f776e65722063616e20646f20697400000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610719576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f6f6e6c79206f776e65722063616e206275726e0000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c6861075f610f1f565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561079557600080fd5b505af11580156107a9573d6000803e3d6000fd5b50505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561085057600080fd5b505afa158015610864573d6000803e3d6000fd5b505050506040513d602081101561087a57600080fd5b81019080805190602001909291905050509050919050565b60008111610908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f616d6f756e74206d75737420746f203e2030000000000000000000000000000081525060200191505060405180910390fd5b610910610f1f565b811115610985576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6578636565647320616d6f756e74206c696d697400000000000000000000000081525060200191505060405180910390fd5b61098e336107af565b811115610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7420656e6f7567682062616c616e6365000000000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379cc679033836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610aac57600080fd5b505af1158015610ac0573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166388d8f45f33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b6d57600080fd5b505af1158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b81019080805190602001909291905050505050565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d6020811015610c9257600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d0c57600080fd5b505af1158015610d20573d6000803e3d6000fd5b505050506040513d6020811015610d3657600080fd5b81019080805190602001909291905050505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6f6e6c79206f776e65722063616e20776974686472617700000000000000000081525060200191505060405180910390fd5b600047905060008111610eb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f7420656e6f7567682066756e64000000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f1b573d6000803e3d6000fd5b5050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fc057600080fd5b505afa158015610fd4573d6000803e3d6000fd5b505050506040513d6020811015610fea57600080fd5b810190808051906020019092919050505090509056fea2646970667358221220d143e9846fb3f45cd1bcb2d09e90f3a7806bd11051cd834c679084242d4694c164736f6c63430006010033506f6c6b614272696467653a20537761702066726f6d206f6c642050425220746f206e657720504252000000000000000000000000298d492e8c1d909d3f63bc4a36c66c64acb3d695
Deployed Bytecode
0x6080604052600436106100955760003560e01c8063aac1306f11610059578063aac1306f14610239578063c7e42b1b14610274578063d8542d51146102c5578063e07fa3c11461031c578063e4403507146103335761009c565b806306fdde03146100a15780637b47ec1a146101315780637c3b57fd1461016c5780639a48ce9d146101bd578063a879af45146101d45761009c565b3661009c57005b600080fd5b3480156100ad57600080fd5b506100b661035e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013d57600080fd5b5061016a6004803603602081101561015457600080fd5b81019080803590602001909291905050506103fc565b005b34801561017857600080fd5b506101bb6004803603602081101561018f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054f565b005b3480156101c957600080fd5b506101d2610656565b005b3480156101e057600080fd5b50610223600480360360208110156101f757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107af565b6040518082815260200191505060405180910390f35b34801561024557600080fd5b506102726004803603602081101561025c57600080fd5b8101908080359060200190929190505050610892565b005b34801561028057600080fd5b506102c36004803603602081101561029757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bac565b005b3480156102d157600080fd5b506102da610d4b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032857600080fd5b50610331610d75565b005b34801561033f57600080fd5b50610348610f1f565b6040518082815260200191505060405180910390f35b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103f45780601f106103c9576101008083540402835291602001916103f4565b820191906000526020600020905b8154815290600101906020018083116103d757829003601f168201915b505050505081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f6f6e6c79206f776e65722063616e206275726e0000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561053457600080fd5b505af1158015610548573d6000803e3d6000fd5b5050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610612576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6f6e6c79206f776e65722063616e20646f20697400000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610719576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f6f6e6c79206f776e65722063616e206275726e0000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c6861075f610f1f565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561079557600080fd5b505af11580156107a9573d6000803e3d6000fd5b50505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561085057600080fd5b505afa158015610864573d6000803e3d6000fd5b505050506040513d602081101561087a57600080fd5b81019080805190602001909291905050509050919050565b60008111610908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f616d6f756e74206d75737420746f203e2030000000000000000000000000000081525060200191505060405180910390fd5b610910610f1f565b811115610985576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6578636565647320616d6f756e74206c696d697400000000000000000000000081525060200191505060405180910390fd5b61098e336107af565b811115610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6e6f7420656e6f7567682062616c616e6365000000000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379cc679033836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610aac57600080fd5b505af1158015610ac0573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166388d8f45f33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b6d57600080fd5b505af1158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b81019080805190602001909291905050505050565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d6020811015610c9257600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d0c57600080fd5b505af1158015610d20573d6000803e3d6000fd5b505050506040513d6020811015610d3657600080fd5b81019080805190602001909291905050505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6f6e6c79206f776e65722063616e20776974686472617700000000000000000081525060200191505060405180910390fd5b600047905060008111610eb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f6e6f7420656e6f7567682066756e64000000000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f1b573d6000803e3d6000fd5b5050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fc057600080fd5b505afa158015610fd4573d6000803e3d6000fd5b505050506040513d6020811015610fea57600080fd5b810190808051906020019092919050505090509056fea2646970667358221220d143e9846fb3f45cd1bcb2d09e90f3a7806bd11051cd834c679084242d4694c164736f6c63430006010033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000298d492e8c1d909d3f63bc4a36c66c64acb3d695
-----Decoded View---------------
Arg [0] : _polkaBridge (address): 0x298d492e8c1d909D3F63Bc4A36C66c64ACB3d695
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000298d492e8c1d909d3f63bc4a36c66c64acb3d695
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,586.65 | 0.0298 | $106.81 |
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.