Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 19,157 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Mint | 15559294 | 1252 days ago | IN | 0 ETH | 0.00010181 | ||||
| Mint | 15311612 | 1292 days ago | IN | 0 ETH | 0.00161887 | ||||
| Mint | 15273419 | 1298 days ago | IN | 0 ETH | 0.00103202 | ||||
| Mint | 15267342 | 1298 days ago | IN | 0 ETH | 0.00129635 | ||||
| Mint | 15267341 | 1298 days ago | IN | 0 ETH | 0.0013305 | ||||
| Mint | 15202233 | 1309 days ago | IN | 0 ETH | 0.00067423 | ||||
| Mint | 14926245 | 1354 days ago | IN | 0 ETH | 0.00814692 | ||||
| Mint | 14926082 | 1354 days ago | IN | 0 ETH | 0.00849325 | ||||
| Mint | 14926023 | 1354 days ago | IN | 0 ETH | 0.00936434 | ||||
| Mint | 14925034 | 1354 days ago | IN | 0 ETH | 0.0074053 | ||||
| Mint | 14924636 | 1355 days ago | IN | 0 ETH | 0.01578358 | ||||
| Mint | 14924214 | 1355 days ago | IN | 0 ETH | 0.0099601 | ||||
| Mint | 14923929 | 1355 days ago | IN | 0 ETH | 0.01213689 | ||||
| Mint | 14923761 | 1355 days ago | IN | 0 ETH | 0.01535392 | ||||
| Mint | 14923671 | 1355 days ago | IN | 0 ETH | 0.01240736 | ||||
| Mint | 14923645 | 1355 days ago | IN | 0 ETH | 0.01139976 | ||||
| Mint | 14923264 | 1355 days ago | IN | 0 ETH | 0.01346229 | ||||
| Mint | 14922999 | 1355 days ago | IN | 0 ETH | 0.02174972 | ||||
| Mint | 14922558 | 1355 days ago | IN | 0 ETH | 0.01238642 | ||||
| Mint | 14921315 | 1355 days ago | IN | 0 ETH | 0.0034862 | ||||
| Mint | 14920923 | 1355 days ago | IN | 0 ETH | 0.00631369 | ||||
| Mint | 14919864 | 1355 days ago | IN | 0 ETH | 0.00417573 | ||||
| Mint | 14917516 | 1356 days ago | IN | 0 ETH | 0.01197782 | ||||
| Mint | 14917125 | 1356 days ago | IN | 0 ETH | 0.0079621 | ||||
| Mint | 14916963 | 1356 days ago | IN | 0 ETH | 0.00991554 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BasicAdapter
Compiler Version
v0.5.16+commit.9c3226ce
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-03-25
*/
/**
Deployed by Ren Project, https://renproject.io
Commit hash: 9068f80
Repository: https://github.com/renproject/darknode-sol
Issues: https://github.com/renproject/darknode-sol/issues
Licenses
@openzeppelin/contracts: (MIT) https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/LICENSE
darknode-sol: (GNU GPL V3) https://github.com/renproject/darknode-sol/blob/master/LICENSE
*/
pragma solidity 0.5.16;
contract Initializable {
bool private initialized;
bool private initializing;
modifier initializer() {
require(initializing || isConstructor() || !initialized, "Contract instance has already been initialized");
bool isTopLevelCall = !initializing;
if (isTopLevelCall) {
initializing = true;
initialized = true;
}
_;
if (isTopLevelCall) {
initializing = false;
}
}
function isConstructor() private view returns (bool) {
address self = address(this);
uint256 cs;
assembly { cs := extcodesize(self) }
return cs == 0;
}
uint256[50] private ______gap;
}
contract IRelayRecipient {
function getHubAddr() public view returns (address);
function acceptRelayedCall(
address relay,
address from,
bytes calldata encodedFunction,
uint256 transactionFee,
uint256 gasPrice,
uint256 gasLimit,
uint256 nonce,
bytes calldata approvalData,
uint256 maxPossibleCharge
)
external
view
returns (uint256, bytes memory);
function preRelayedCall(bytes calldata context) external returns (bytes32);
function postRelayedCall(bytes calldata context, bool success, uint256 actualCharge, bytes32 preRetVal) external;
}
contract IRelayHub {
function stake(address relayaddr, uint256 unstakeDelay) external payable;
event Staked(address indexed relay, uint256 stake, uint256 unstakeDelay);
function registerRelay(uint256 transactionFee, string memory url) public;
event RelayAdded(address indexed relay, address indexed owner, uint256 transactionFee, uint256 stake, uint256 unstakeDelay, string url);
function removeRelayByOwner(address relay) public;
event RelayRemoved(address indexed relay, uint256 unstakeTime);
function unstake(address relay) public;
event Unstaked(address indexed relay, uint256 stake);
enum RelayState {
Unknown,
Staked,
Registered,
Removed
}
function getRelay(address relay) external view returns (uint256 totalStake, uint256 unstakeDelay, uint256 unstakeTime, address payable owner, RelayState state);
function depositFor(address target) public payable;
event Deposited(address indexed recipient, address indexed from, uint256 amount);
function balanceOf(address target) external view returns (uint256);
function withdraw(uint256 amount, address payable dest) public;
event Withdrawn(address indexed account, address indexed dest, uint256 amount);
function canRelay(
address relay,
address from,
address to,
bytes memory encodedFunction,
uint256 transactionFee,
uint256 gasPrice,
uint256 gasLimit,
uint256 nonce,
bytes memory signature,
bytes memory approvalData
) public view returns (uint256 status, bytes memory recipientContext);
enum PreconditionCheck {
OK,
WrongSignature,
WrongNonce,
AcceptRelayedCallReverted,
InvalidRecipientStatusCode
}
function relayCall(
address from,
address to,
bytes memory encodedFunction,
uint256 transactionFee,
uint256 gasPrice,
uint256 gasLimit,
uint256 nonce,
bytes memory signature,
bytes memory approvalData
) public;
event CanRelayFailed(address indexed relay, address indexed from, address indexed to, bytes4 selector, uint256 reason);
event TransactionRelayed(address indexed relay, address indexed from, address indexed to, bytes4 selector, RelayCallStatus status, uint256 charge);
enum RelayCallStatus {
OK,
RelayedCallFailed,
PreRelayedFailed,
PostRelayedFailed,
RecipientBalanceChanged
}
function requiredGas(uint256 relayedCallStipend) public view returns (uint256);
function maxPossibleCharge(uint256 relayedCallStipend, uint256 gasPrice, uint256 transactionFee) public view returns (uint256);
function penalizeRepeatedNonce(bytes memory unsignedTx1, bytes memory signature1, bytes memory unsignedTx2, bytes memory signature2) public;
function penalizeIllegalTransaction(bytes memory unsignedTx, bytes memory signature) public;
event Penalized(address indexed relay, address sender, uint256 amount);
function getNonce(address from) external view returns (uint256);
}
contract Context is Initializable {
constructor () internal { }
function _msgSender() internal view returns (address payable) {
return msg.sender;
}
function _msgData() internal view returns (bytes memory) {
this;
return msg.data;
}
}
contract GSNRecipient is Initializable, IRelayRecipient, Context {
function initialize() public initializer {
if (_relayHub == address(0)) {
setDefaultRelayHub();
}
}
function setDefaultRelayHub() public {
_upgradeRelayHub(0xD216153c06E857cD7f72665E0aF1d7D82172F494);
}
address private _relayHub;
uint256 constant private RELAYED_CALL_ACCEPTED = 0;
uint256 constant private RELAYED_CALL_REJECTED = 11;
uint256 constant internal POST_RELAYED_CALL_MAX_GAS = 100000;
event RelayHubChanged(address indexed oldRelayHub, address indexed newRelayHub);
function getHubAddr() public view returns (address) {
return _relayHub;
}
function _upgradeRelayHub(address newRelayHub) internal {
address currentRelayHub = _relayHub;
require(newRelayHub != address(0), "GSNRecipient: new RelayHub is the zero address");
require(newRelayHub != currentRelayHub, "GSNRecipient: new RelayHub is the current one");
emit RelayHubChanged(currentRelayHub, newRelayHub);
_relayHub = newRelayHub;
}
function relayHubVersion() public view returns (string memory) {
this;
return "1.0.0";
}
function _withdrawDeposits(uint256 amount, address payable payee) internal {
IRelayHub(_relayHub).withdraw(amount, payee);
}
function _msgSender() internal view returns (address payable) {
if (msg.sender != _relayHub) {
return msg.sender;
} else {
return _getRelayedCallSender();
}
}
function _msgData() internal view returns (bytes memory) {
if (msg.sender != _relayHub) {
return msg.data;
} else {
return _getRelayedCallData();
}
}
function preRelayedCall(bytes calldata context) external returns (bytes32) {
require(msg.sender == getHubAddr(), "GSNRecipient: caller is not RelayHub");
return _preRelayedCall(context);
}
function _preRelayedCall(bytes memory context) internal returns (bytes32);
function postRelayedCall(bytes calldata context, bool success, uint256 actualCharge, bytes32 preRetVal) external {
require(msg.sender == getHubAddr(), "GSNRecipient: caller is not RelayHub");
_postRelayedCall(context, success, actualCharge, preRetVal);
}
function _postRelayedCall(bytes memory context, bool success, uint256 actualCharge, bytes32 preRetVal) internal;
function _approveRelayedCall() internal pure returns (uint256, bytes memory) {
return _approveRelayedCall("");
}
function _approveRelayedCall(bytes memory context) internal pure returns (uint256, bytes memory) {
return (RELAYED_CALL_ACCEPTED, context);
}
function _rejectRelayedCall(uint256 errorCode) internal pure returns (uint256, bytes memory) {
return (RELAYED_CALL_REJECTED + errorCode, "");
}
function _computeCharge(uint256 gas, uint256 gasPrice, uint256 serviceFee) internal pure returns (uint256) {
return (gas * gasPrice * (100 + serviceFee)) / 100;
}
function _getRelayedCallSender() private pure returns (address payable result) {
bytes memory array = msg.data;
uint256 index = msg.data.length;
assembly {
result := and(mload(add(array, index)), 0xffffffffffffffffffffffffffffffffffffffff)
}
return result;
}
function _getRelayedCallData() private pure returns (bytes memory) {
uint256 actualDataLength = msg.data.length - 20;
bytes memory actualData = new bytes(actualDataLength);
for (uint256 i = 0; i < actualDataLength; ++i) {
actualData[i] = msg.data[i];
}
return actualData;
}
}
interface IMintGateway {
function mint(
bytes32 _pHash,
uint256 _amount,
bytes32 _nHash,
bytes calldata _sig
) external returns (uint256);
function mintFee() external view returns (uint256);
}
interface IBurnGateway {
function burn(bytes calldata _to, uint256 _amountScaled)
external
returns (uint256);
function burnFee() external view returns (uint256);
}
interface IGateway {
function mint(
bytes32 _pHash,
uint256 _amount,
bytes32 _nHash,
bytes calldata _sig
) external returns (uint256);
function mintFee() external view returns (uint256);
function burn(bytes calldata _to, uint256 _amountScaled)
external
returns (uint256);
function burnFee() external view returns (uint256);
}
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);
}
interface IGatewayRegistry {
event LogGatewayRegistered(
string _symbol,
string indexed _indexedSymbol,
address indexed _tokenAddress,
address indexed _gatewayAddress
);
event LogGatewayDeregistered(
string _symbol,
string indexed _indexedSymbol,
address indexed _tokenAddress,
address indexed _gatewayAddress
);
event LogGatewayUpdated(
address indexed _tokenAddress,
address indexed _currentGatewayAddress,
address indexed _newGatewayAddress
);
function getGateways(address _start, uint256 _count)
external
view
returns (address[] memory);
function getRenTokens(address _start, uint256 _count)
external
view
returns (address[] memory);
function getGatewayByToken(address _tokenAddress)
external
view
returns (IGateway);
function getGatewayBySymbol(string calldata _tokenSymbol)
external
view
returns (IGateway);
function getTokenBySymbol(string calldata _tokenSymbol)
external
view
returns (IERC20);
}
contract BasicAdapter is GSNRecipient {
IGatewayRegistry registry;
constructor(IGatewayRegistry _registry) public {
GSNRecipient.initialize();
registry = _registry;
}
function mint(
string calldata _symbol,
address _recipient,
uint256 _amount,
bytes32 _nHash,
bytes calldata _sig
) external {
bytes32 payloadHash = keccak256(abi.encode(_symbol, _recipient));
uint256 amount = registry.getGatewayBySymbol(_symbol).mint(
payloadHash,
_amount,
_nHash,
_sig
);
registry.getTokenBySymbol(_symbol).transfer(_recipient, amount);
}
function burn(string calldata _symbol, bytes calldata _to, uint256 _amount)
external
{
require(
registry.getTokenBySymbol(_symbol).transferFrom(
_msgSender(),
address(this),
_amount
),
"token transfer failed"
);
registry.getGatewayBySymbol(_symbol).burn(_to, _amount);
}
function acceptRelayedCall(
address relay,
address from,
bytes calldata encodedFunction,
uint256 transactionFee,
uint256 gasPrice,
uint256 gasLimit,
uint256 nonce,
bytes calldata approvalData,
uint256 maxPossibleCharge
) external view returns (uint256, bytes memory) {
return _approveRelayedCall();
}
function _preRelayedCall(bytes memory context) internal returns (bytes32) {}
function _postRelayedCall(
bytes memory context,
bool,
uint256 actualCharge,
bytes32
) internal {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IGatewayRegistry","name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldRelayHub","type":"address"},{"indexed":true,"internalType":"address","name":"newRelayHub","type":"address"}],"name":"RelayHubChanged","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"relay","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"bytes","name":"encodedFunction","type":"bytes"},{"internalType":"uint256","name":"transactionFee","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"approvalData","type":"bytes"},{"internalType":"uint256","name":"maxPossibleCharge","type":"uint256"}],"name":"acceptRelayedCall","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"bytes","name":"_to","type":"bytes"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getHubAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes32","name":"_nHash","type":"bytes32"},{"internalType":"bytes","name":"_sig","type":"bytes"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"uint256","name":"actualCharge","type":"uint256"},{"internalType":"bytes32","name":"preRetVal","type":"bytes32"}],"name":"postRelayedCall","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"context","type":"bytes"}],"name":"preRelayedCall","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"relayHubVersion","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setDefaultRelayHub","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b506040516200133f3803806200133f833981810160405260208110156200003757600080fd5b50516200004f62000075602090811b6200092717901c565b603480546001600160a01b0319166001600160a01b039290921691909117905562000280565b600054610100900460ff16806200009a57506200009a6001600160e01b036200014c16565b80620000a9575060005460ff16155b620000e65760405162461bcd60e51b815260040180806020018281038252602e815260200180620012e4602e913960400191505060405180910390fd5b600054610100900460ff1615801562000112576000805460ff1961ff0019909116610100171660011790555b6033546001600160a01b03166200013657620001366001600160e01b036200015216565b801562000149576000805461ff00191690555b50565b303b1590565b6200017a73d216153c06e857cd7f72665e0af1d7d82172f4946001600160e01b036200017c16565b565b6033546001600160a01b03908116908216620001ca5760405162461bcd60e51b815260040180806020018281038252602e815260200180620012b6602e913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b031614156200021d5760405162461bcd60e51b815260040180806020018281038252602d81526020018062001312602d913960400191505060405180910390fd5b816001600160a01b0316816001600160a01b03167fb9f84b8e65164b14439ae3620df0a4d8786d896996c0282b683f9d8c08f046e860405160405180910390a350603380546001600160a01b0319166001600160a01b0392909216919091179055565b61102680620002906000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638129fc1c116100665780638129fc1c1461021f57806383947ea014610227578063ad61ccd514610394578063b0ba3c5a14610411578063e06e0e22146104cf57610093565b80631220e2ff1461009857806374e861d6146100a257806377f61403146100c657806380274db71461019f575b600080fd5b6100a061054b565b005b6100aa61056a565b604080516001600160a01b039092168252519081900360200190f35b6100a0600480360360a08110156100dc57600080fd5b810190602081018135600160201b8111156100f657600080fd5b82018360208201111561010857600080fd5b803590602001918460018302840111600160201b8311171561012957600080fd5b919390926001600160a01b03833516926020810135926040820135929091608081019060600135600160201b81111561016157600080fd5b82018360208201111561017357600080fd5b803590602001918460018302840111600160201b8311171561019457600080fd5b50909250905061057a565b61020d600480360360208110156101b557600080fd5b810190602081018135600160201b8111156101cf57600080fd5b8201836020820111156101e157600080fd5b803590602001918460018302840111600160201b8311171561020257600080fd5b509092509050610888565b60408051918252519081900360200190f35b6100a0610927565b610315600480360361012081101561023e57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b81111561027157600080fd5b82018360208201111561028357600080fd5b803590602001918460018302840111600160201b831117156102a457600080fd5b9193909282359260208101359260408201359260608301359260a081019060800135600160201b8111156102d757600080fd5b8201836020820111156102e957600080fd5b803590602001918460018302840111600160201b8311171561030a57600080fd5b9193509150356109e1565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610358578181015183820152602001610340565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61039c610a01565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d65781810151838201526020016103be565b50505050905090810190601f1680156104035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100a06004803603606081101561042757600080fd5b810190602081018135600160201b81111561044157600080fd5b82018360208201111561045357600080fd5b803590602001918460018302840111600160201b8311171561047457600080fd5b919390929091602081019035600160201b81111561049157600080fd5b8201836020820111156104a357600080fd5b803590602001918460018302840111600160201b831117156104c457600080fd5b919350915035610a20565b6100a0600480360360808110156104e557600080fd5b810190602081018135600160201b8111156104ff57600080fd5b82018360208201111561051157600080fd5b803590602001918460018302840111600160201b8311171561053257600080fd5b9193509150803515159060208101359060400135610cef565b61056873d216153c06e857cd7f72665e0af1d7d82172f494610d91565b565b6033546001600160a01b03165b90565b60008787876040516020018080602001836001600160a01b03166001600160a01b031681526020018281038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509450505050506040516020818303038152906040528051906020012090506000603460009054906101000a90046001600160a01b03166001600160a01b03166364936b1e8a8a6040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561067157600080fd5b505afa158015610685573d6000803e3d6000fd5b505050506040513d602081101561069b57600080fd5b505160405163159ab14d60e01b8152600481018481526024820189905260448201889052608060648301908152608483018790526001600160a01b039093169263159ab14d9286928b928b928b928b92909160a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b15801561072f57600080fd5b505af1158015610743573d6000803e3d6000fd5b505050506040513d602081101561075957600080fd5b505160345460405163efa74f1f60e01b8152602060048201908152602482018c90529293506001600160a01b039091169163efa74f1f918c918c918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b1580156107d257600080fd5b505afa1580156107e6573d6000803e3d6000fd5b505050506040513d60208110156107fc57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b038a81166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561085157600080fd5b505af1158015610865573d6000803e3d6000fd5b505050506040513d602081101561087b57600080fd5b5050505050505050505050565b600061089261056a565b6001600160a01b0316336001600160a01b0316146108e15760405162461bcd60e51b8152600401808060200182810382526024815260200180610fce6024913960400191505060405180910390fd5b61092083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e9192505050565b9392505050565b600054610100900460ff16806109405750610940610e97565b8061094e575060005460ff16155b6109895760405162461bcd60e51b815260040180806020018281038252602e815260200180610f73602e913960400191505060405180910390fd5b600054610100900460ff161580156109b4576000805460ff1961ff0019909116610100171660011790555b6033546001600160a01b03166109cc576109cc61054b565b80156109de576000805461ff00191690555b50565b600060606109ed610e9d565b915091509b509b9950505050505050505050565b6040805180820190915260058152640312e302e360dc1b602082015290565b60345460405163efa74f1f60e01b8152602060048201908152602482018790526001600160a01b039092169163efa74f1f91889188918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b158015610a9457600080fd5b505afa158015610aa8573d6000803e3d6000fd5b505050506040513d6020811015610abe57600080fd5b50516001600160a01b03166323b872dd610ad6610ec1565b604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152306024830152604482018590525160648083019260209291908290030181600087803b158015610b2a57600080fd5b505af1158015610b3e573d6000803e3d6000fd5b505050506040513d6020811015610b5457600080fd5b5051610b9f576040805162461bcd60e51b81526020600482015260156024820152741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b604482015290519081900360640190fd5b603454604051633249b58f60e11b8152602060048201908152602482018790526001600160a01b03909216916364936b1e91889188918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b158015610c1357600080fd5b505afa158015610c27573d6000803e3d6000fd5b505050506040513d6020811015610c3d57600080fd5b5051604080516338463cff60e01b81526024810184905260048101918252604481018590526001600160a01b03909216916338463cff918691869186918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b158015610cbc57600080fd5b505af1158015610cd0573d6000803e3d6000fd5b505050506040513d6020811015610ce657600080fd5b50505050505050565b610cf761056a565b6001600160a01b0316336001600160a01b031614610d465760405162461bcd60e51b8152600401808060200182810382526024815260200180610fce6024913960400191505060405180910390fd5b610d8a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250869150859050610eec565b5050505050565b6033546001600160a01b03908116908216610ddd5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f45602e913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b03161415610e2e5760405162461bcd60e51b815260040180806020018281038252602d815260200180610fa1602d913960400191505060405180910390fd5b816001600160a01b0316816001600160a01b03167fb9f84b8e65164b14439ae3620df0a4d8786d896996c0282b683f9d8c08f046e860405160405180910390a350603380546001600160a01b0319166001600160a01b0392909216919091179055565b50600090565b303b1590565b60006060610eb960405180602001604052806000815250610ef2565b915091509091565b6033546000906001600160a01b03163314610edd575033610577565b610ee5610ef7565b9050610577565b50505050565b600091565b600060606000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169291505056fe47534e526563697069656e743a206e65772052656c617948756220697320746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656447534e526563697069656e743a206e65772052656c6179487562206973207468652063757272656e74206f6e6547534e526563697069656e743a2063616c6c6572206973206e6f742052656c6179487562a265627a7a7231582081296e46a2c4dfca2940f6726ec640b9ef1921d80714c55ae081aa24162bd27164736f6c6343000510003247534e526563697069656e743a206e65772052656c617948756220697320746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656447534e526563697069656e743a206e65772052656c6179487562206973207468652063757272656e74206f6e65000000000000000000000000e80d347df1209a76dd9d2319d62912ba98c54ddd
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c80638129fc1c116100665780638129fc1c1461021f57806383947ea014610227578063ad61ccd514610394578063b0ba3c5a14610411578063e06e0e22146104cf57610093565b80631220e2ff1461009857806374e861d6146100a257806377f61403146100c657806380274db71461019f575b600080fd5b6100a061054b565b005b6100aa61056a565b604080516001600160a01b039092168252519081900360200190f35b6100a0600480360360a08110156100dc57600080fd5b810190602081018135600160201b8111156100f657600080fd5b82018360208201111561010857600080fd5b803590602001918460018302840111600160201b8311171561012957600080fd5b919390926001600160a01b03833516926020810135926040820135929091608081019060600135600160201b81111561016157600080fd5b82018360208201111561017357600080fd5b803590602001918460018302840111600160201b8311171561019457600080fd5b50909250905061057a565b61020d600480360360208110156101b557600080fd5b810190602081018135600160201b8111156101cf57600080fd5b8201836020820111156101e157600080fd5b803590602001918460018302840111600160201b8311171561020257600080fd5b509092509050610888565b60408051918252519081900360200190f35b6100a0610927565b610315600480360361012081101561023e57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b81111561027157600080fd5b82018360208201111561028357600080fd5b803590602001918460018302840111600160201b831117156102a457600080fd5b9193909282359260208101359260408201359260608301359260a081019060800135600160201b8111156102d757600080fd5b8201836020820111156102e957600080fd5b803590602001918460018302840111600160201b8311171561030a57600080fd5b9193509150356109e1565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610358578181015183820152602001610340565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61039c610a01565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d65781810151838201526020016103be565b50505050905090810190601f1680156104035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100a06004803603606081101561042757600080fd5b810190602081018135600160201b81111561044157600080fd5b82018360208201111561045357600080fd5b803590602001918460018302840111600160201b8311171561047457600080fd5b919390929091602081019035600160201b81111561049157600080fd5b8201836020820111156104a357600080fd5b803590602001918460018302840111600160201b831117156104c457600080fd5b919350915035610a20565b6100a0600480360360808110156104e557600080fd5b810190602081018135600160201b8111156104ff57600080fd5b82018360208201111561051157600080fd5b803590602001918460018302840111600160201b8311171561053257600080fd5b9193509150803515159060208101359060400135610cef565b61056873d216153c06e857cd7f72665e0af1d7d82172f494610d91565b565b6033546001600160a01b03165b90565b60008787876040516020018080602001836001600160a01b03166001600160a01b031681526020018281038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509450505050506040516020818303038152906040528051906020012090506000603460009054906101000a90046001600160a01b03166001600160a01b03166364936b1e8a8a6040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b15801561067157600080fd5b505afa158015610685573d6000803e3d6000fd5b505050506040513d602081101561069b57600080fd5b505160405163159ab14d60e01b8152600481018481526024820189905260448201889052608060648301908152608483018790526001600160a01b039093169263159ab14d9286928b928b928b928b92909160a401848480828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b15801561072f57600080fd5b505af1158015610743573d6000803e3d6000fd5b505050506040513d602081101561075957600080fd5b505160345460405163efa74f1f60e01b8152602060048201908152602482018c90529293506001600160a01b039091169163efa74f1f918c918c918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b1580156107d257600080fd5b505afa1580156107e6573d6000803e3d6000fd5b505050506040513d60208110156107fc57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b038a81166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561085157600080fd5b505af1158015610865573d6000803e3d6000fd5b505050506040513d602081101561087b57600080fd5b5050505050505050505050565b600061089261056a565b6001600160a01b0316336001600160a01b0316146108e15760405162461bcd60e51b8152600401808060200182810382526024815260200180610fce6024913960400191505060405180910390fd5b61092083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e9192505050565b9392505050565b600054610100900460ff16806109405750610940610e97565b8061094e575060005460ff16155b6109895760405162461bcd60e51b815260040180806020018281038252602e815260200180610f73602e913960400191505060405180910390fd5b600054610100900460ff161580156109b4576000805460ff1961ff0019909116610100171660011790555b6033546001600160a01b03166109cc576109cc61054b565b80156109de576000805461ff00191690555b50565b600060606109ed610e9d565b915091509b509b9950505050505050505050565b6040805180820190915260058152640312e302e360dc1b602082015290565b60345460405163efa74f1f60e01b8152602060048201908152602482018790526001600160a01b039092169163efa74f1f91889188918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b158015610a9457600080fd5b505afa158015610aa8573d6000803e3d6000fd5b505050506040513d6020811015610abe57600080fd5b50516001600160a01b03166323b872dd610ad6610ec1565b604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152306024830152604482018590525160648083019260209291908290030181600087803b158015610b2a57600080fd5b505af1158015610b3e573d6000803e3d6000fd5b505050506040513d6020811015610b5457600080fd5b5051610b9f576040805162461bcd60e51b81526020600482015260156024820152741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b604482015290519081900360640190fd5b603454604051633249b58f60e11b8152602060048201908152602482018790526001600160a01b03909216916364936b1e91889188918190604401848480828437600083820152604051601f909101601f191690920195506020945090925050508083038186803b158015610c1357600080fd5b505afa158015610c27573d6000803e3d6000fd5b505050506040513d6020811015610c3d57600080fd5b5051604080516338463cff60e01b81526024810184905260048101918252604481018590526001600160a01b03909216916338463cff918691869186918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b158015610cbc57600080fd5b505af1158015610cd0573d6000803e3d6000fd5b505050506040513d6020811015610ce657600080fd5b50505050505050565b610cf761056a565b6001600160a01b0316336001600160a01b031614610d465760405162461bcd60e51b8152600401808060200182810382526024815260200180610fce6024913960400191505060405180910390fd5b610d8a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250869150859050610eec565b5050505050565b6033546001600160a01b03908116908216610ddd5760405162461bcd60e51b815260040180806020018281038252602e815260200180610f45602e913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b03161415610e2e5760405162461bcd60e51b815260040180806020018281038252602d815260200180610fa1602d913960400191505060405180910390fd5b816001600160a01b0316816001600160a01b03167fb9f84b8e65164b14439ae3620df0a4d8786d896996c0282b683f9d8c08f046e860405160405180910390a350603380546001600160a01b0319166001600160a01b0392909216919091179055565b50600090565b303b1590565b60006060610eb960405180602001604052806000815250610ef2565b915091509091565b6033546000906001600160a01b03163314610edd575033610577565b610ee5610ef7565b9050610577565b50505050565b600091565b600060606000368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169291505056fe47534e526563697069656e743a206e65772052656c617948756220697320746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656447534e526563697069656e743a206e65772052656c6179487562206973207468652063757272656e74206f6e6547534e526563697069656e743a2063616c6c6572206973206e6f742052656c6179487562a265627a7a7231582081296e46a2c4dfca2940f6726ec640b9ef1921d80714c55ae081aa24162bd27164736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e80d347df1209a76dd9d2319d62912ba98c54ddd
-----Decoded View---------------
Arg [0] : _registry (address): 0xe80d347DF1209a76DD9d2319d62912ba98C54DDD
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e80d347df1209a76dd9d2319d62912ba98c54ddd
Loading...
Loading
Loading...
Loading
OVERVIEW
Bringing cross-chain assets to Ethereum.Net Worth in USD
$56.29
Net Worth in ETH
0.028534
Token Allocations
USDT
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $0.999613 | 56.3105 | $56.29 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.