GLMR Price: $0.019055 (-0.01%)

Contract

0xB55f923D09619D9718BF946F66FAFDB7113Fa32b

Overview

GLMR Balance

Moonbeam Chain LogoMoonbeam Chain LogoMoonbeam Chain Logo0.2 GLMR

GLMR Value

Less Than $0.01 (@ $0.02/GLMR)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Submit First Tra...50583672023-12-11 14:05:30781 days ago1702303530IN
0xB55f923D...7113Fa32b
0 GLMR0.01359757130.88691197

Latest 2 internal transactions

Parent Transaction Hash Block From To
50583482023-12-11 14:01:42781 days ago1702303302
0xB55f923D...7113Fa32b
0.2 GLMR
50583482023-12-11 14:01:42781 days ago1702303302  Contract Creation0 GLMR
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ProxyGroupWallet

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *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

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"}]

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

Block Transaction Gas Used Reward
view all blocks collator

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.