Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 10 from a total of 10 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Multi Addres... | 12697921 | 1237 days ago | IN | 0 ETH | 0.00079363 | ||||
Set Address | 11730540 | 1386 days ago | IN | 0 ETH | 0.00274359 | ||||
Set Address | 11267648 | 1457 days ago | IN | 0 ETH | 0.00171426 | ||||
Set Address | 11264051 | 1458 days ago | IN | 0 ETH | 0.00146937 | ||||
Set Address | 11242904 | 1461 days ago | IN | 0 ETH | 0.00319175 | ||||
Set Address | 11242681 | 1461 days ago | IN | 0 ETH | 0.00341593 | ||||
Set Address | 11242442 | 1461 days ago | IN | 0 ETH | 0.00319895 | ||||
Set Multi Addres... | 11242314 | 1461 days ago | IN | 0 ETH | 0.02632915 | ||||
Set Address | 11242054 | 1461 days ago | IN | 0 ETH | 0.00175645 | ||||
0x60806040 | 11241269 | 1461 days ago | IN | 0 ETH | 0.01132978 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
AddressResolver
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-12 */ // File: node_modules\@openzeppelin\contracts\GSN\Context.sol // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { 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; } } // File: @openzeppelin\contracts\access\Ownable.sol pragma solidity ^0.6.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: contracts\interface\IAddressResolver.sol pragma solidity ^0.6.12; interface IAddressResolver { function key2address(bytes32 key) external view returns(address); function address2key(address addr) external view returns(bytes32); function requireAndKey2Address(bytes32 name, string calldata reason) external view returns(address); function setAddress(bytes32 key, address addr) external; function setMultiAddress(bytes32[] memory keys, address[] memory addrs) external; } // File: contracts\AddressResolver.sol pragma solidity ^0.6.12; /** @notice Obtain different contract addresses based on different bytes32(name) */ contract AddressResolver is Ownable, IAddressResolver { mapping(bytes32 => address) public override key2address; mapping(address => bytes32) public override address2key; function setAddress(bytes32 key, address addr) public override onlyOwner { key2address[key] = addr; address2key[addr] = key; } function setMultiAddress(bytes32[] memory keys, address[] memory addrs) public override onlyOwner { require(keys.length == addrs.length, "AddressResolver::setMultiAddress:parameter number not match"); for (uint i=0; i < keys.length; i++) { key2address[keys[i]] = addrs[i]; address2key[addrs[i]] = keys[i]; } } function requireAndKey2Address(bytes32 name, string calldata reason) external view override returns(address) { address addr = key2address[name]; require(addr != address(0), reason); return addr; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"address2key","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"key2address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"reason","type":"string"}],"name":"requireAndKey2Address","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"setAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"keys","type":"bytes32[]"},{"internalType":"address[]","name":"addrs","type":"address[]"}],"name":"setMultiAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50600061001b61006a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6107ed8061007d6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b1461022f578063bb444a3a14610237578063ca446dd9146102ae578063f2fde38b146102da57610088565b80631b4153f01461008d5780632610a566146100c5578063632bad0d146100fe578063715018a614610227575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b0316610300565b60408051918252519081900360200190f35b6100e2600480360360208110156100db57600080fd5b5035610312565b604080516001600160a01b039092168252519081900360200190f35b6102256004803603604081101561011457600080fd5b81019060208101813564010000000081111561012f57600080fd5b82018360208201111561014157600080fd5b8035906020019184602083028401116401000000008311171561016357600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101b357600080fd5b8201836020820111156101c557600080fd5b803590602001918460208302840111640100000000831117156101e757600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061032d945050505050565b005b610225610484565b6100e2610526565b6100e26004803603604081101561024d57600080fd5b8135919081019060408101602082013564010000000081111561026f57600080fd5b82018360208201111561028157600080fd5b803590602001918460018302840111640100000000831117156102a357600080fd5b509092509050610535565b610225600480360360408110156102c457600080fd5b50803590602001356001600160a01b03166105a9565b610225600480360360208110156102f057600080fd5b50356001600160a01b031661063a565b60026020526000908152604090205481565b6001602052600090815260409020546001600160a01b031681565b610335610732565b6000546001600160a01b03908116911614610385576040805162461bcd60e51b81526020600482018190526024820152600080516020610798833981519152604482015290519081900360640190fd5b80518251146103c55760405162461bcd60e51b815260040180806020018281038252603b81526020018061075d603b913960400191505060405180910390fd5b60005b825181101561047f578181815181106103dd57fe5b6020026020010151600160008584815181106103f557fe5b6020026020010151815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082818151811061043b57fe5b60200260200101516002600084848151811061045357fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020556001016103c8565b505050565b61048c610732565b6000546001600160a01b039081169116146104dc576040805162461bcd60e51b81526020600482018190526024820152600080516020610798833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000838152600160205260408120546001600160a01b031683838261059e5760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6105b1610732565b6000546001600160a01b03908116911614610601576040805162461bcd60e51b81526020600482018190526024820152600080516020610798833981519152604482015290519081900360640190fd5b600082815260016020908152604080832080546001600160a01b039095166001600160a01b031990951685179055928252600290522055565b610642610732565b6000546001600160a01b03908116911614610692576040805162461bcd60e51b81526020600482018190526024820152600080516020610798833981519152604482015290519081900360640190fd5b6001600160a01b0381166106d75760405162461bcd60e51b81526004018080602001828103825260268152602001806107376026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573735265736f6c7665723a3a7365744d756c7469416464726573733a706172616d65746572206e756d626572206e6f74206d617463684f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220ed7a792f6214182c0b2d62514788e5b9479607abb6f7774f3ebe5e71d5c3bdfe64736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638da5cb5b1161005b5780638da5cb5b1461022f578063bb444a3a14610237578063ca446dd9146102ae578063f2fde38b146102da57610088565b80631b4153f01461008d5780632610a566146100c5578063632bad0d146100fe578063715018a614610227575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b0316610300565b60408051918252519081900360200190f35b6100e2600480360360208110156100db57600080fd5b5035610312565b604080516001600160a01b039092168252519081900360200190f35b6102256004803603604081101561011457600080fd5b81019060208101813564010000000081111561012f57600080fd5b82018360208201111561014157600080fd5b8035906020019184602083028401116401000000008311171561016357600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156101b357600080fd5b8201836020820111156101c557600080fd5b803590602001918460208302840111640100000000831117156101e757600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061032d945050505050565b005b610225610484565b6100e2610526565b6100e26004803603604081101561024d57600080fd5b8135919081019060408101602082013564010000000081111561026f57600080fd5b82018360208201111561028157600080fd5b803590602001918460018302840111640100000000831117156102a357600080fd5b509092509050610535565b610225600480360360408110156102c457600080fd5b50803590602001356001600160a01b03166105a9565b610225600480360360208110156102f057600080fd5b50356001600160a01b031661063a565b60026020526000908152604090205481565b6001602052600090815260409020546001600160a01b031681565b610335610732565b6000546001600160a01b03908116911614610385576040805162461bcd60e51b81526020600482018190526024820152600080516020610798833981519152604482015290519081900360640190fd5b80518251146103c55760405162461bcd60e51b815260040180806020018281038252603b81526020018061075d603b913960400191505060405180910390fd5b60005b825181101561047f578181815181106103dd57fe5b6020026020010151600160008584815181106103f557fe5b6020026020010151815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082818151811061043b57fe5b60200260200101516002600084848151811061045357fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020556001016103c8565b505050565b61048c610732565b6000546001600160a01b039081169116146104dc576040805162461bcd60e51b81526020600482018190526024820152600080516020610798833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000838152600160205260408120546001600160a01b031683838261059e5760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6105b1610732565b6000546001600160a01b03908116911614610601576040805162461bcd60e51b81526020600482018190526024820152600080516020610798833981519152604482015290519081900360640190fd5b600082815260016020908152604080832080546001600160a01b039095166001600160a01b031990951685179055928252600290522055565b610642610732565b6000546001600160a01b03908116911614610692576040805162461bcd60e51b81526020600482018190526024820152600080516020610798833981519152604482015290519081900360640190fd5b6001600160a01b0381166106d75760405162461bcd60e51b81526004018080602001828103825260268152602001806107376026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573735265736f6c7665723a3a7365744d756c7469416464726573733a706172616d65746572206e756d626572206e6f74206d617463684f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220ed7a792f6214182c0b2d62514788e5b9479607abb6f7774f3ebe5e71d5c3bdfe64736f6c634300060c0033
Deployed Bytecode Sourcemap
4000:950:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4123:55;;;;;;;;;;;;;;;;-1:-1:-1;4123:55:0;-1:-1:-1;;;;;4123:55:0;;:::i;:::-;;;;;;;;;;;;;;;;4061;;;;;;;;;;;;;;;;-1:-1:-1;4061:55:0;;:::i;:::-;;;;-1:-1:-1;;;;;4061:55:0;;;;;;;;;;;;;;4344:367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4344:367:0;;;;;;;;-1:-1:-1;4344:367:0;;-1:-1:-1;;4344:367:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4344:367:0;;-1:-1:-1;4344:367:0;;-1:-1:-1;;;;;4344:367:0:i;:::-;;2758:148;;;:::i;2116:79::-;;;:::i;4719:228::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4719:228:0;;-1:-1:-1;4719:228:0;-1:-1:-1;4719:228:0;:::i;4187:149::-;;;;;;;;;;;;;;;;-1:-1:-1;4187:149:0;;;;;;-1:-1:-1;;;;;4187:149:0;;:::i;3061:244::-;;;;;;;;;;;;;;;;-1:-1:-1;3061:244:0;-1:-1:-1;;;;;3061:244:0;;:::i;4123:55::-;;;;;;;;;;;;;:::o;4061:::-;;;;;;;;;;;;-1:-1:-1;;;;;4061:55:0;;:::o;4344:367::-;2338:12;:10;:12::i;:::-;2328:6;;-1:-1:-1;;;;;2328:6:0;;;:22;;;2320:67;;;;;-1:-1:-1;;;2320:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2320:67:0;;;;;;;;;;;;;;;4476:5:::1;:12;4461:4;:11;:27;4453:99;;;;-1:-1:-1::0;;;4453:99:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4568:6;4563:141;4582:4;:11;4578:1;:15;4563:141;;;4638:5;4644:1;4638:8;;;;;;;;;;;;;;4615:11;:20;4627:4;4632:1;4627:7;;;;;;;;;;;;;;4615:20;;;;;;;;;;;;:31;;;;;-1:-1:-1::0;;;;;4615:31:0::1;;;;;-1:-1:-1::0;;;;;4615:31:0::1;;;;;;4685:4;4690:1;4685:7;;;;;;;;;;;;;;4661:11;:21;4673:5;4679:1;4673:8;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;4661:21:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;4661:21:0;:31;4595:3:::1;;4563:141;;;;4344:367:::0;;:::o;2758:148::-;2338:12;:10;:12::i;:::-;2328:6;;-1:-1:-1;;;;;2328:6:0;;;:22;;;2320:67;;;;;-1:-1:-1;;;2320:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2320:67:0;;;;;;;;;;;;;;;2865:1:::1;2849:6:::0;;2828:40:::1;::::0;-1:-1:-1;;;;;2849:6:0;;::::1;::::0;2828:40:::1;::::0;2865:1;;2828:40:::1;2896:1;2879:19:::0;;-1:-1:-1;;;;;;2879:19:0::1;::::0;;2758:148::o;2116:79::-;2154:7;2181:6;-1:-1:-1;;;;;2181:6:0;2116:79;:::o;4719:228::-;4819:7;4854:17;;;:11;:17;;;;;;-1:-1:-1;;;;;4854:17:0;4910:6;;4890:18;4882:35;;;;-1:-1:-1;;;4882:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4882:35:0;;;;;;;;-1:-1:-1;4882:35:0;;-1:-1:-1;;;;4882:35:0;;-1:-1:-1;4935:4:0;;4719:228;-1:-1:-1;;;;;4719:228:0:o;4187:149::-;2338:12;:10;:12::i;:::-;2328:6;;-1:-1:-1;;;;;2328:6:0;;;:22;;;2320:67;;;;;-1:-1:-1;;;2320:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2320:67:0;;;;;;;;;;;;;;;4271:16:::1;::::0;;;:11:::1;:16;::::0;;;;;;;:23;;-1:-1:-1;;;;;4271:23:0;;::::1;-1:-1:-1::0;;;;;;4271:23:0;;::::1;::::0;::::1;::::0;;4305:17;;;:11:::1;:17:::0;;;:23;4187:149::o;3061:244::-;2338:12;:10;:12::i;:::-;2328:6;;-1:-1:-1;;;;;2328:6:0;;;:22;;;2320:67;;;;;-1:-1:-1;;;2320:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2320:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3150:22:0;::::1;3142:73;;;;-1:-1:-1::0;;;3142:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3252:6;::::0;;3231:38:::1;::::0;-1:-1:-1;;;;;3231:38:0;;::::1;::::0;3252:6;::::1;::::0;3231:38:::1;::::0;::::1;3280:6;:17:::0;;-1:-1:-1;;;;;;3280:17:0::1;-1:-1:-1::0;;;;;3280:17:0;;;::::1;::::0;;;::::1;::::0;;3061:244::o;670:106::-;758:10;670:106;:::o
Swarm Source
ipfs://ed7a792f6214182c0b2d62514788e5b9479607abb6f7774f3ebe5e71d5c3bdfe
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.