Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 5 from a total of 5 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Trait On Mul... | 17891986 | 337 days ago | IN | 0 ETH | 0.10948626 | ||||
Set Trait On Mul... | 17891982 | 337 days ago | IN | 0 ETH | 0.16951044 | ||||
Set Trait On Mul... | 17891977 | 337 days ago | IN | 0 ETH | 0.15334205 | ||||
Set Trait On Mul... | 17877116 | 339 days ago | IN | 0 ETH | 0.00160173 | ||||
Add Trait | 17877063 | 339 days ago | IN | 0 ETH | 0.00354428 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
17870749 | 339 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
TheProxy
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-10 */ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.13; interface IRegistry { function setRegistryAddress(string memory fn, address value) external ; function setRegistryBool(string memory fn, bool value) external ; function setRegistryUINT(string memory key) external view returns (uint256) ; function setRegistryString(string memory fn, string memory value) external ; function setAdmin(address user,bool status ) external; function setAppAdmin(address app, address user, bool state) external; function getRegistryAddress(string memory key) external view returns (address) ; function getRegistryBool(string memory key) external view returns (bool); function getRegistryUINT(string memory key) external view returns (uint256) ; function getRegistryString(string memory key) external view returns (string memory) ; function isAdmin(address user) external view returns (bool) ; function isAppAdmin(address app, address user) external view returns (bool); } contract LookupContract { IRegistry reg = IRegistry(0x1e8150050A7a4715aad42b905C08df76883f396F); mapping(address => address) lookups; error ContractNameNotInitialised(string contract_name); error ContractInfoNotInitialised(); function find_contract(string memory contract_name) external returns (address) { // console.log("find_contract called for:", contract_name); address adr = reg.getRegistryAddress(contract_name); if (adr == address(0)) revert ContractNameNotInitialised(contract_name); lookups[msg.sender] = adr; return adr; } function lookup() external view returns (address) { address adr = lookups[msg.sender]; // console.log("lookup called sender/adr", msg.sender, adr); if (adr == address(0)) revert ContractInfoNotInitialised(); return adr; } } // import "hardhat/console.sol"; contract TheProxy { event ContractInitialised(string contract_name,address dest); address immutable public lookup; constructor(string memory contract_name, address _lookup) { // console.log("TheProxy constructor"); lookup = _lookup; address dest = LookupContract(lookup).find_contract(contract_name); // console.log("proxy installed: dest/ctr_name/lookup", dest, contract_name, lookup); emit ContractInitialised(contract_name,dest); } // fallback(bytes calldata b) external returns (bytes memory) { // For debugging when we want to access "lookup" fallback(bytes calldata b) external payable returns (bytes memory) { // console.log("proxy start sender/lookup:", msg.sender, lookup); address dest = LookupContract(lookup).lookup(); // console.log("proxy delegate:", dest); (bool success, bytes memory returnedData) = dest.delegatecall(b); require(success, string(returnedData)); return returnedData; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"contract_name","type":"string"},{"internalType":"address","name":"_lookup","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"contract_name","type":"string"},{"indexed":false,"internalType":"address","name":"dest","type":"address"}],"name":"ContractInitialised","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"lookup","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a060405234801561001057600080fd5b5060405161051438038061051483398101604081905261002f9161014b565b6001600160a01b0381166080819052604051630ef7010760e01b815260009190630ef7010790610063908690600401610236565b6020604051808303816000875af1158015610082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100a69190610250565b90507fdae89e8aaf1ec707f86c8c99b3c12703e620373ced72c93fa00fa4ffe9534c0f83826040516100d992919061026b565b60405180910390a1505050610295565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561011a578181015183820152602001610102565b83811115610129576000848401525b50505050565b80516001600160a01b038116811461014657600080fd5b919050565b6000806040838503121561015e57600080fd5b82516001600160401b038082111561017557600080fd5b818501915085601f83011261018957600080fd5b81518181111561019b5761019b6100e9565b604051601f8201601f19908116603f011681019083821181831017156101c3576101c36100e9565b816040528281528860208487010111156101dc57600080fd5b6101ed8360208301602088016100ff565b80965050505050506102016020840161012f565b90509250929050565b600081518084526102228160208601602086016100ff565b601f01601f19169290920160200192915050565b602081526000610249602083018461020a565b9392505050565b60006020828403121561026257600080fd5b6102498261012f565b60408152600061027e604083018561020a565b905060018060a01b03831660208301529392505050565b60805161025e6102b66000396000818160270152610155015261025e6000f3fe60806040526004361061001e5760003560e01c8063f5e3542b14610143575b600036606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f5e3542b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610083573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100a79190610193565b9050600080826001600160a01b031686866040516100c69291906101c3565b600060405180830381855af49150503d8060008114610101576040519150601f19603f3d011682016040523d82523d6000602084013e610106565b606091505b50915091508181906101345760405162461bcd60e51b815260040161012b91906101d3565b60405180910390fd5b50805195506020019350505050f35b34801561014f57600080fd5b506101777f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6000602082840312156101a557600080fd5b81516001600160a01b03811681146101bc57600080fd5b9392505050565b8183823760009101908152919050565b600060208083528351808285015260005b81811015610200578581018301518582016040015282016101e4565b81811115610212576000604083870101525b50601f01601f191692909201604001939250505056fea26469706673582212205b6645ac4c3c8cedfd2dd76cb63c03b67e0e65034b22b320b24da4ae06705e4464736f6c634300080d00330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b238de0619c7e9aa155d9a69b9e5b0d9b5b412710000000000000000000000000000000000000000000000000000000000000015474f4c44454e5f54524149545f52454749535452590000000000000000000000
Deployed Bytecode
0x60806040526004361061001e5760003560e01c8063f5e3542b14610143575b600036606060007f000000000000000000000000b238de0619c7e9aa155d9a69b9e5b0d9b5b412716001600160a01b031663f5e3542b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610083573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100a79190610193565b9050600080826001600160a01b031686866040516100c69291906101c3565b600060405180830381855af49150503d8060008114610101576040519150601f19603f3d011682016040523d82523d6000602084013e610106565b606091505b50915091508181906101345760405162461bcd60e51b815260040161012b91906101d3565b60405180910390fd5b50805195506020019350505050f35b34801561014f57600080fd5b506101777f000000000000000000000000b238de0619c7e9aa155d9a69b9e5b0d9b5b4127181565b6040516001600160a01b03909116815260200160405180910390f35b6000602082840312156101a557600080fd5b81516001600160a01b03811681146101bc57600080fd5b9392505050565b8183823760009101908152919050565b600060208083528351808285015260005b81811015610200578581018301518582016040015282016101e4565b81811115610212576000604083870101525b50601f01601f191692909201604001939250505056fea26469706673582212205b6645ac4c3c8cedfd2dd76cb63c03b67e0e65034b22b320b24da4ae06705e4464736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b238de0619c7e9aa155d9a69b9e5b0d9b5b412710000000000000000000000000000000000000000000000000000000000000015474f4c44454e5f54524149545f52454749535452590000000000000000000000
-----Decoded View---------------
Arg [0] : contract_name (string): GOLDEN_TRAIT_REGISTRY
Arg [1] : _lookup (address): 0xb238DE0619C7e9AA155D9a69b9E5b0d9b5b41271
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 000000000000000000000000b238de0619c7e9aa155d9a69b9e5b0d9b5b41271
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000015
Arg [3] : 474f4c44454e5f54524149545f52454749535452590000000000000000000000
Deployed Bytecode Sourcemap
1976:1067:0:-:0;;;;;;;;;;;;;;;;;;;;2674:12;2775;2807:6;-1:-1:-1;;;;;2792:29:0;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2775:48;;2885:12;2899:25;2928:4;-1:-1:-1;;;;;2928:17:0;2946:1;;2928:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:64;;;;2967:7;2983:12;2959:38;;;;;-1:-1:-1;;;2959:38:0;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1976:1067:0;;;-1:-1:-1;1976:1067:0;;;-1:-1:-1;;;;1976:1067:0;2072:31;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1351:32:1;;;1333:51;;1321:2;1306:18;2072:31:0;;;;;;;14:290:1;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:1;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:1:o;309:271::-;492:6;484;479:3;466:33;448:3;518:16;;543:13;;;518:16;309:271;-1:-1:-1;309:271:1:o;585:597::-;697:4;726:2;755;744:9;737:21;787:6;781:13;830:6;825:2;814:9;810:18;803:34;855:1;865:140;879:6;876:1;873:13;865:140;;;974:14;;;970:23;;964:30;940:17;;;959:2;936:26;929:66;894:10;;865:140;;;1023:6;1020:1;1017:13;1014:91;;;1093:1;1088:2;1079:6;1068:9;1064:22;1060:31;1053:42;1014:91;-1:-1:-1;1166:2:1;1145:15;-1:-1:-1;;1141:29:1;1126:45;;;;1173:2;1122:54;;585:597;-1:-1:-1;;;585:597:1:o
Swarm Source
ipfs://5b6645ac4c3c8cedfd2dd76cb63c03b67e0e65034b22b320b24da4ae06705e44
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.