Source Code
Latest 1 from a total of 1 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Submit First Tra... | 5058367 | 781 days ago | IN | 0 GLMR | 0.01359757 |
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
ProxyGroupWallet
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at moonbeam.moonscan.io on 2023-12-20 */ // SPDX-License-Identifier: GPL-3.0 /// @title Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract. /// @author Stefan George - <[email protected]> /// ProxyGroupWallet adapted and applied for GroupWallet by pepihasenfuss.eth pragma solidity ^0.8.18 <0.8.20; interface Abstract_GWPC { function getMasterCopy() external view returns (address); } abstract contract AbstractGWF_ENS { event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner); event Transfer(bytes32 indexed node, address owner); event NewResolver(bytes32 indexed node, address resolver); event NewTTL(bytes32 indexed node, uint64 ttl); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); function setRecord(bytes32 node, address owner, address resolver, uint64 ttl) external virtual; function setSubnodeRecord(bytes32 node, bytes32 label, address owner, address resolver, uint64 ttl) external virtual; function setSubnodeOwner(bytes32 node, bytes32 label, address owner) external virtual returns(bytes32); function setResolver(bytes32 node, address resolver) external virtual; function setOwner(bytes32 node, address owner) external virtual; function owner(bytes32 node) public view virtual returns (address); function recordExists(bytes32 node) external virtual view returns (bool); function isApprovedForAll(address ensowner, address operator) external virtual view returns (bool); } abstract contract AbstractGWF_ReverseRegistrar { function claim(address owner) external virtual returns (bytes32); function claimWithResolver(address owner, address resolver) external virtual returns (bytes32); function setName(string memory name) external virtual returns (bytes32); function node(address addr) external virtual pure returns (bytes32); } contract ProxyGroupWallet { address internal masterCopy; mapping(uint256 => uint256) private tArr; address[] private owners; address internal GWF; // GWF - GroupWalletFactory contract mapping(uint256 => bytes) private structures; // ************************************************************************* event Deposit(address dep_from, uint256 dep_value); constructor(address _masterCopy, string memory _domain, AbstractGWF_ReverseRegistrar _reverse) payable { masterCopy = _masterCopy; if (block.chainid!=5) _reverse.setName(_domain); } fallback () external payable { // solium-disable-next-line security/no-inline-assembly assembly { let master := and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff) if eq(calldataload(0), 0xa619486e00000000000000000000000000000000000000000000000000000000) { mstore(0, master) return(0, 0x20) } let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize()) let success := delegatecall(gas(), master, ptr, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) if eq(success, 0) { if eq(returndatasize(),0) { revert(0, 0x504) } revert(0, returndatasize()) } return(0, returndatasize()) } } function upgrade(address master) external payable { require(Abstract_GWPC(masterCopy).getMasterCopy()==Abstract_GWPC(master).getMasterCopy()," gwp gwpc owner!"); masterCopy = master; } receive() external payable { emit Deposit(msg.sender, msg.value); } // *** GWP can sell common shares to TokenProxy, thus reveiving payment *** }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_masterCopy","type":"address"},{"internalType":"string","name":"_domain","type":"string"},{"internalType":"contract AbstractGWF_ReverseRegistrar","name":"_reverse","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dep_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"dep_value","type":"uint256"}],"name":"Deposit","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"master","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526040516104f33803806104f383398101604081905261002291610120565b600080546001600160a01b0319166001600160a01b038516179055466005146100b65760405163c47f002760e01b81526001600160a01b0382169063c47f0027906100719085906004016101f2565b6020604051808303816000875af1158015610090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100b49190610225565b505b50505061023e565b6001600160a01b03811681146100d357600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101075781810151838201526020016100ef565b50506000910152565b805161011b816100be565b919050565b60008060006060848603121561013557600080fd5b8351610140816100be565b60208501519093506001600160401b038082111561015d57600080fd5b818601915086601f83011261017157600080fd5b815181811115610183576101836100d6565b604051601f8201601f19908116603f011681019083821181831017156101ab576101ab6100d6565b816040528281528960208487010111156101c457600080fd5b6101d58360208301602088016100ec565b80965050505050506101e960408501610110565b90509250925092565b60208152600082518060208401526102118160408501602087016100ec565b601f01601f19169190910160400192915050565b60006020828403121561023757600080fd5b5051919050565b6102a68061024d6000396000f3fe6080604052600436106100225760003560e01c80630900f010146100b357610061565b3661006157604080513381523460208201527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c910160405180910390a1005b600080546001600160a01b0316632cf35bc960e11b82350161008557808252602082f35b6040513683823782833683855af49150503d82833e806100ae573d6100aa5761050482fd5b3d82fd5b503d81f35b6100c66100c136600461022f565b6100c8565b005b806001600160a01b03166304e80e906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012a9190610253565b6001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b03166304e80e906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a89190610253565b6001600160a01b0316146101f55760405162461bcd60e51b815260206004820152601060248201526f206777702067777063206f776e65722160801b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116811461022c57600080fd5b50565b60006020828403121561024157600080fd5b813561024c81610217565b9392505050565b60006020828403121561026557600080fd5b815161024c8161021756fea26469706673582212205775e6c5e9ef753d07c11214b9cc78661edc80f80aa4a5320ece84a06e7b2d1064736f6c63430008130033000000000000000000000000354de8131f59edae5a9d9e8a4e7c5fcaa7c3af5d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000b81bf0bcac426d80bc3c83cb628b563706a67a400000000000000000000000000000000000000000000000000000000000000204261636661636265632e676c6d72000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106100225760003560e01c80630900f010146100b357610061565b3661006157604080513381523460208201527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c910160405180910390a1005b600080546001600160a01b0316632cf35bc960e11b82350161008557808252602082f35b6040513683823782833683855af49150503d82833e806100ae573d6100aa5761050482fd5b3d82fd5b503d81f35b6100c66100c136600461022f565b6100c8565b005b806001600160a01b03166304e80e906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012a9190610253565b6001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b03166304e80e906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a89190610253565b6001600160a01b0316146101f55760405162461bcd60e51b815260206004820152601060248201526f206777702067777063206f776e65722160801b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116811461022c57600080fd5b50565b60006020828403121561024157600080fd5b813561024c81610217565b9392505050565b60006020828403121561026557600080fd5b815161024c8161021756fea26469706673582212205775e6c5e9ef753d07c11214b9cc78661edc80f80aa4a5320ece84a06e7b2d1064736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000354de8131f59edae5a9d9e8a4e7c5fcaa7c3af5d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000b81bf0bcac426d80bc3c83cb628b563706a67a400000000000000000000000000000000000000000000000000000000000000204261636661636265632e676c6d72000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _masterCopy (address): 0x354de8131F59EDAe5a9D9e8A4E7c5FcAa7C3af5d
Arg [1] : _domain (string): Bacfacbec.glmr
Arg [2] : _reverse (address): 0x0B81bF0BcAC426d80bC3c83cB628b563706a67A4
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000354de8131f59edae5a9d9e8a4e7c5fcaa7c3af5d
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 0000000000000000000000000b81bf0bcac426d80bc3c83cb628b563706a67a4
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [4] : 4261636661636265632e676c6d72000000000000000000000000000000000000
Deployed Bytecode Sourcemap
1886:1923:0:-:0;;;;;;;;;;;;;;;;;;;;;;;3689:30;;;3697:10;188:51:1;;3709:9:0;270:2:1;255:18;;248:34;3689:30:0;;161:18:1;3689:30:0;;;;;;;1886:1923;;2756:1;2750:8;;-1:-1:-1;;;;;2746:57:0;-1:-1:-1;;;2823:15:0;;2820:87;2817:175;;2937:6;2756:1;2927:17;2972:4;2756:1;2962:15;2817:175;3025:4;3019:11;3065:14;2756:1;3057:3;3044:36;2756:1;;3065:14;3137:3;3129:6;3122:5;3109:54;3094:69;;;3198:16;2756:1;;3177:38;3235:7;3229:140;;3271:16;3265:46;;3303:5;2756:1;3293:16;3265:46;3337:16;2756:1;3327:27;3229:140;;3393:16;2756:1;3383:27;3440:203;;;;;;:::i;:::-;;:::i;:::-;;;3564:6;-1:-1:-1;;;;;3550:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3507:80:0;3521:10;;;;;;;;-1:-1:-1;;;;;3521:10:0;-1:-1:-1;;;;;3507:39:0;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3507:80:0;;3499:108;;;;-1:-1:-1;;;3499:108:0;;1139:2:1;3499:108:0;;;1121:21:1;1178:2;1158:18;;;1151:30;-1:-1:-1;;;1197:18:1;;;1190:46;1253:18;;3499:108:0;;;;;;;;3616:10;:19;;-1:-1:-1;;;;;;3616:19:0;-1:-1:-1;;;;;3616:19:0;;;;;;;;;;3440:203::o;293:131:1:-;-1:-1:-1;;;;;368:31:1;;358:42;;348:70;;414:1;411;404:12;348:70;293:131;:::o;429:247::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;615:31;640:5;615:31;:::i;:::-;665:5;429:247;-1:-1:-1;;;429:247:1:o;681:251::-;751:6;804:2;792:9;783:7;779:23;775:32;772:52;;;820:1;817;810:12;772:52;852:9;846:16;871:31;896:5;871:31;:::i
Swarm Source
ipfs://5775e6c5e9ef753d07c11214b9cc78661edc80f80aa4a5320ece84a06e7b2d10
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in GLMR
Token Allocations
GLMR
100.00%
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| GLMR | 100.00% | $0.019055 | 0.2 | $0.003811 |
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.