Source Code
Overview
SOPH Balance
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 36 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Create Proxy Wit... | 75894 | 161 days ago | IN | 0 SOPH | 0.34876559 | ||||
Create Proxy Wit... | 75892 | 161 days ago | IN | 0 SOPH | 0.4134004 | ||||
Create Proxy Wit... | 74185 | 167 days ago | IN | 0 SOPH | 0.39319327 | ||||
Create Proxy Wit... | 57808 | 178 days ago | IN | 0 SOPH | 2.01517 | ||||
Create Proxy Wit... | 46114 | 185 days ago | IN | 0 SOPH | 0.61068737 | ||||
Create Proxy Wit... | 39230 | 189 days ago | IN | 0 SOPH | 0.6140707 | ||||
Create Proxy Wit... | 24454 | 203 days ago | IN | 0 SOPH | 0.61434079 | ||||
Create Proxy Wit... | 24350 | 203 days ago | IN | 0 SOPH | 0.61598303 | ||||
Create Proxy Wit... | 19485 | 217 days ago | IN | 0 SOPH | 0.61755791 | ||||
Create Proxy Wit... | 19181 | 217 days ago | IN | 0 SOPH | 0.69133158 | ||||
Create Proxy Wit... | 18685 | 219 days ago | IN | 0 SOPH | 0.61562444 | ||||
Create Proxy Wit... | 18310 | 220 days ago | IN | 0 SOPH | 0.61140952 | ||||
Create Proxy Wit... | 18289 | 220 days ago | IN | 0 SOPH | 0.52821176 | ||||
Create Proxy Wit... | 18283 | 220 days ago | IN | 0 SOPH | 0.61329929 | ||||
Create Proxy Wit... | 17542 | 222 days ago | IN | 0 SOPH | 0.20787484 | ||||
Create Proxy Wit... | 17418 | 222 days ago | IN | 0 SOPH | 0.34870939 | ||||
Create Proxy Wit... | 17412 | 222 days ago | IN | 0 SOPH | 0.45068913 | ||||
Create Proxy Wit... | 17344 | 223 days ago | IN | 0 SOPH | 0.38731997 | ||||
Create Proxy Wit... | 17276 | 223 days ago | IN | 0 SOPH | 0.64147353 | ||||
Create Proxy Wit... | 17037 | 224 days ago | IN | 0 SOPH | 0.5842773 | ||||
Create Proxy Wit... | 16992 | 224 days ago | IN | 0 SOPH | 0.61125863 | ||||
Create Proxy Wit... | 16946 | 224 days ago | IN | 0 SOPH | 0.54727052 | ||||
Create Proxy Wit... | 16943 | 224 days ago | IN | 0 SOPH | 0.5881216 | ||||
Create Proxy Wit... | 16797 | 224 days ago | IN | 0 SOPH | 0.44288192 | ||||
Create Proxy Wit... | 16636 | 225 days ago | IN | 0 SOPH | 0.52775327 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | Age | From | To | Amount | |
---|---|---|---|---|---|---|
75894 | 161 days ago | 0 SOPH | ||||
75894 | 161 days ago | 0 SOPH | ||||
75894 | 161 days ago | 0 SOPH | ||||
75894 | 161 days ago | 0 SOPH | ||||
75894 | 161 days ago | 0 SOPH | ||||
75894 | 161 days ago | 0 SOPH | ||||
75894 | 161 days ago | 0 SOPH | ||||
75894 | 161 days ago | 0 SOPH | ||||
75892 | 161 days ago | 0 SOPH | ||||
75892 | 161 days ago | 0 SOPH | ||||
75892 | 161 days ago | 0 SOPH | ||||
75892 | 161 days ago | 0 SOPH | ||||
75892 | 161 days ago | 0 SOPH | ||||
75892 | 161 days ago | 0 SOPH | ||||
75892 | 161 days ago | 0 SOPH | ||||
75892 | 161 days ago | 0 SOPH | ||||
74185 | 167 days ago | 0 SOPH | ||||
74185 | 167 days ago | 0 SOPH | ||||
74185 | 167 days ago | 0 SOPH | ||||
74185 | 167 days ago | 0 SOPH | ||||
74185 | 167 days ago | 0 SOPH | ||||
74185 | 167 days ago | 0 SOPH | ||||
74185 | 167 days ago | 0 SOPH | ||||
74185 | 167 days ago | 0 SOPH | ||||
57808 | 178 days ago | 0 SOPH |
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:
GnosisSafeProxyFactory
Compiler Version
v0.7.6+commit.7338295f
ZkSolc Version
v1.3.8
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "./GnosisSafeProxy.sol";import "./IProxyCreationCallback.sol";/// @title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction./// @author Stefan George - <stefan@gnosis.pm>contract GnosisSafeProxyFactory {event ProxyCreation(GnosisSafeProxy proxy, address singleton);/// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction./// @param singleton Address of singleton contract./// @param data Payload for message call sent to new proxy contract.function createProxy(address singleton, bytes memory data) public returns (GnosisSafeProxy proxy) {proxy = new GnosisSafeProxy(singleton);if (data.length > 0)// solhint-disable-next-line no-inline-assemblyassembly {if eq(call(gas(), proxy, 0, add(data, 0x20), mload(data), 0, 0), 0) {revert(0, 0)}}emit ProxyCreation(proxy, singleton);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title Create Call - Allows to use the different create opcodes to deploy a contract/// @author Richard Meissner - <richard@gnosis.io>contract CreateCall {event ContractCreation(address newContract);function performCreate2(uint256 value,bytes memory deploymentData,bytes32 salt) public returns (address newContract) {// solhint-disable-next-line no-inline-assemblyassembly {newContract := create2(value, add(0x20, deploymentData), mload(deploymentData), salt)}require(newContract != address(0), "Could not deploy contract");emit ContractCreation(newContract);}function performCreate(uint256 value, bytes memory deploymentData) public returns (address newContract) {// solhint-disable-next-line no-inline-assemblyassembly {newContract := create(value, add(deploymentData, 0x20), mload(deploymentData))}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title Multi Send - Allows to batch multiple transactions into one./// @author Nick Dodson - <nick.dodson@consensys.net>/// @author Gonçalo Sá - <goncalo.sa@consensys.net>/// @author Stefan George - <stefan@gnosis.io>/// @author Richard Meissner - <richard@gnosis.io>contract MultiSend {address private immutable multisendSingleton;constructor() {multisendSingleton = address(this);}/// @dev Sends multiple transactions and reverts all if one fails./// @param transactions Encoded transactions. Each transaction is encoded as a packed bytes of/// operation as a uint8 with 0 for a call or 1 for a delegatecall (=> 1 byte),/// to as a address (=> 20 bytes),/// value as a uint256 (=> 32 bytes),/// data length as a uint256 (=> 32 bytes),/// data as bytes./// see abi.encodePacked for more information on packed encoding/// @notice This method is payable as delegatecalls keep the msg.value from the previous call/// If the calling method (e.g. execTransaction) received ETH this would revert otherwisefunction multiSend(bytes memory transactions) public payable {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title IProxy - Helper interface to access masterCopy of the Proxy on-chain/// @author Richard Meissner - <richard@gnosis.io>interface IProxy {function masterCopy() external view returns (address);}/// @title GnosisSafeProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract./// @author Stefan George - <stefan@gnosis.io>/// @author Richard Meissner - <richard@gnosis.io>contract GnosisSafeProxy {// singleton always needs to be first declared variable, to ensure that it is at the same location in the contracts to which calls are delegated.// To reduce deployment costs this variable is internal and needs to be retrieved via `getStorageAt`address internal singleton;/// @dev Constructor function sets address of singleton contract./// @param _singleton Singleton address.constructor(address _singleton) {require(_singleton != address(0), "Invalid singleton address provided");singleton = _singleton;}/// @dev Fallback function forwards all transactions and returns all received return data.fallback() external payable {
123456789101112// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "./GnosisSafeProxy.sol";interface IProxyCreationCallback {function proxyCreated(GnosisSafeProxy proxy,address _singleton,bytes calldata initializer,uint256 saltNonce) external;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title Multi Send Call Only - Allows to batch multiple transactions into one, but only calls/// @author Stefan George - <stefan@gnosis.io>/// @author Richard Meissner - <richard@gnosis.io>/// @notice The guard logic is not required here as this contract doesn't support nested delegate callscontract MultiSendCallOnly {/// @dev Sends multiple transactions and reverts all if one fails./// @param transactions Encoded transactions. Each transaction is encoded as a packed bytes of/// operation has to be uint8(0) in this version (=> 1 byte),/// to as a address (=> 20 bytes),/// value as a uint256 (=> 32 bytes),/// data length as a uint256 (=> 32 bytes),/// data as bytes./// see abi.encodePacked for more information on packed encoding/// @notice The code is for most part the same as the normal MultiSend (to keep compatibility),/// but reverts if a transaction tries to use a delegatecall./// @notice This method is payable as delegatecalls keep the msg.value from the previous call/// If the calling method (e.g. execTransaction) received ETH this would revert otherwisefunction multiSend(bytes memory transactions) public payable {// solhint-disable-next-line no-inline-assemblyassembly {let length := mload(transactions)let i := 0x20for {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../base/Executor.sol";/// @title Simulate Transaction Accessor - can be used with StorageAccessible to simulate Safe transactions/// @author Richard Meissner - <richard@gnosis.pm>contract SimulateTxAccessor is Executor {address private immutable accessorSingleton;constructor() {accessorSingleton = address(this);}modifier onlyDelegateCall() {require(address(this) != accessorSingleton, "SimulateTxAccessor should only be called via delegatecall");_;}function simulate(address to,uint256 value,bytes calldata data,Enum.Operation operation)external
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../common/Enum.sol";/// @title Executor - A contract that can execute transactions/// @author Richard Meissner - <richard@gnosis.pm>contract Executor {function execute(address to,uint256 value,bytes memory data,Enum.Operation operation,uint256 txGas) internal returns (bool success) {if (operation == Enum.Operation.DelegateCall) {// solhint-disable-next-line no-inline-assemblyassembly {success := delegatecall(txGas, to, add(data, 0x20), mload(data), 0, 0)}} else {// solhint-disable-next-line no-inline-assemblyassembly {success := call(txGas, to, value, add(data, 0x20), mload(data), 0, 0)}}}
12345678// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title Enum - Collection of enums/// @author Richard Meissner - <richard@gnosis.pm>contract Enum {enum Operation {Call, DelegateCall}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../common/Enum.sol";import "../common/SelfAuthorized.sol";import "./Executor.sol";/// @title Module Manager - A contract that manages modules that can execute transactions via this contract/// @author Stefan George - <stefan@gnosis.pm>/// @author Richard Meissner - <richard@gnosis.pm>contract ModuleManager is SelfAuthorized, Executor {event EnabledModule(address module);event DisabledModule(address module);event ExecutionFromModuleSuccess(address indexed module);event ExecutionFromModuleFailure(address indexed module);address internal constant SENTINEL_MODULES = address(0x1);mapping(address => address) internal modules;function setupModules(address to, bytes memory data) internal {require(modules[SENTINEL_MODULES] == address(0), "GS100");modules[SENTINEL_MODULES] = SENTINEL_MODULES;if (to != address(0))// Setup has to complete successfully or transaction fails.require(execute(to, 0, data, Enum.Operation.DelegateCall, gasleft()), "GS000");}
12345678910111213141516// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title SelfAuthorized - authorizes current contract to perform actions/// @author Richard Meissner - <richard@gnosis.pm>contract SelfAuthorized {function requireSelfCall() private view {require(msg.sender == address(this), "GS031");}modifier authorized() {// This is a function call as it minimized the bytecode sizerequireSelfCall();_;}}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "./base/ModuleManager.sol";import "./base/OwnerManager.sol";import "./base/FallbackManager.sol";import "./base/GuardManager.sol";import "./common/EtherPaymentFallback.sol";import "./common/Singleton.sol";import "./common/SignatureDecoder.sol";import "./common/SecuredTokenTransfer.sol";import "./common/StorageAccessible.sol";import "./interfaces/ISignatureValidator.sol";import "./external/GnosisSafeMath.sol";/// @title Gnosis Safe - A multisignature wallet with support for confirmations using signed messages based on ERC191./// @author Stefan George - <stefan@gnosis.io>/// @author Richard Meissner - <richard@gnosis.io>contract GnosisSafe isEtherPaymentFallback,Singleton,ModuleManager,OwnerManager,SignatureDecoder,SecuredTokenTransfer,ISignatureValidatorConstants,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../common/SelfAuthorized.sol";/// @title OwnerManager - Manages a set of owners and a threshold to perform actions./// @author Stefan George - <stefan@gnosis.pm>/// @author Richard Meissner - <richard@gnosis.pm>contract OwnerManager is SelfAuthorized {event AddedOwner(address owner);event RemovedOwner(address owner);event ChangedThreshold(uint256 threshold);address internal constant SENTINEL_OWNERS = address(0x1);mapping(address => address) internal owners;uint256 internal ownerCount;uint256 internal threshold;/// @dev Setup function sets initial storage of contract./// @param _owners List of Safe owners./// @param _threshold Number of required confirmations for a Safe transaction.function setupOwners(address[] memory _owners, uint256 _threshold) internal {// Threshold can only be 0 at initialization.// Check ensures that setup function can only be called once.require(threshold == 0, "GS200");// Validate that threshold is smaller than number of added owners.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../common/SelfAuthorized.sol";/// @title Fallback Manager - A contract that manages fallback calls made to this contract/// @author Richard Meissner - <richard@gnosis.pm>contract FallbackManager is SelfAuthorized {event ChangedFallbackHandler(address handler);// keccak256("fallback_manager.handler.address")bytes32 internal constant FALLBACK_HANDLER_STORAGE_SLOT = 0x6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d5;function internalSetFallbackHandler(address handler) internal {bytes32 slot = FALLBACK_HANDLER_STORAGE_SLOT;// solhint-disable-next-line no-inline-assemblyassembly {sstore(slot, handler)}}/// @dev Allows to add a contract to handle fallback calls./// Only fallback calls without value and with data will be forwarded./// This can only be done via a Safe transaction./// @param handler contract to handle fallbacks calls.function setFallbackHandler(address handler) public authorized {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../common/Enum.sol";import "../common/SelfAuthorized.sol";interface Guard {function checkTransaction(address to,uint256 value,bytes memory data,Enum.Operation operation,uint256 safeTxGas,uint256 baseGas,uint256 gasPrice,address gasToken,address payable refundReceiver,bytes memory signatures,address msgSender) external;function checkAfterExecution(bytes32 txHash, bool success) external;}/// @title Fallback Manager - A contract that manages fallback calls made to this contract/// @author Richard Meissner - <richard@gnosis.pm>
12345678910111213// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title EtherPaymentFallback - A contract that has a fallback to accept ether payments/// @author Richard Meissner - <richard@gnosis.pm>contract EtherPaymentFallback {event SafeReceived(address indexed sender, uint256 value);/// @dev Fallback function accepts Ether transactions.receive() external payable {emit SafeReceived(msg.sender, msg.value);}}
1234567891011// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title Singleton - Base for singleton contracts (should always be first super contract)/// This contract is tightly coupled to our proxy contract (see `proxies/GnosisSafeProxy.sol`)/// @author Richard Meissner - <richard@gnosis.io>contract Singleton {// singleton always needs to be first declared variable, to ensure that it is at the same location as in the Proxy contract.// It should also always be ensured that the address is stored alone (uses a full word)address private singleton;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title SignatureDecoder - Decodes signatures that a encoded as bytes/// @author Richard Meissner - <richard@gnosis.pm>contract SignatureDecoder {/// @dev divides bytes signature into `uint8 v, bytes32 r, bytes32 s`./// @notice Make sure to peform a bounds check for @param pos, to avoid out of bounds access on @param signatures/// @param pos which signature to read. A prior bounds check of this parameter should be performed, to avoid out of bounds access/// @param signatures concatenated rsv signaturesfunction signatureSplit(bytes memory signatures, uint256 pos)internalpurereturns (uint8 v,bytes32 r,bytes32 s){// The signature format is a compact form of:// {bytes32 r}{bytes32 s}{uint8 v}// Compact means, uint8 is not padded to 32 bytes.// solhint-disable-next-line no-inline-assemblyassembly {let signaturePos := mul(0x41, pos)r := mload(add(signatures, add(signaturePos, 0x20)))
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title SecuredTokenTransfer - Secure token transfer/// @author Richard Meissner - <richard@gnosis.pm>contract SecuredTokenTransfer {/// @dev Transfers a token and returns if it was a success/// @param token Token that should be transferred/// @param receiver Receiver to whom the token should be transferred/// @param amount The amount of tokens that should be transferredfunction transferToken(address token,address receiver,uint256 amount) internal returns (bool transferred) {// 0xa9059cbb - keccack("transfer(address,uint256)")bytes memory data = abi.encodeWithSelector(0xa9059cbb, receiver, amount);// solhint-disable-next-line no-inline-assemblyassembly {// We write the return value to scratch space.// See https://docs.soliditylang.org/en/v0.7.6/internals/layout_in_memory.html#layout-in-memorylet success := call(sub(gas(), 10000), token, 0, add(data, 0x20), mload(data), 0, 0x20)switch returndatasize()case 0 {transferred := success}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title StorageAccessible - generic base contract that allows callers to access all internal storage./// @notice See https://github.com/gnosis/util-contracts/blob/bb5fe5fb5df6d8400998094fb1b32a178a47c3a1/contracts/StorageAccessible.solcontract StorageAccessible {/*** @dev Reads `length` bytes of storage in the currents contract* @param offset - the offset in the current contract's storage in words to start reading from* @param length - the number of words (32 bytes) of data to read* @return the bytes that were read.*/function getStorageAt(uint256 offset, uint256 length) public view returns (bytes memory) {bytes memory result = new bytes(length * 32);for (uint256 index = 0; index < length; index++) {// solhint-disable-next-line no-inline-assemblyassembly {let word := sload(add(offset, index))mstore(add(add(result, 0x20), mul(index, 0x20)), word)}}return result;}/*** @dev Performs a delegetecall on a targetContract in the context of self.
1234567891011121314151617181920// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;contract ISignatureValidatorConstants {// bytes4(keccak256("isValidSignature(bytes,bytes)")bytes4 internal constant EIP1271_MAGIC_VALUE = 0x20c13b0b;}abstract contract ISignatureValidator is ISignatureValidatorConstants {/*** @dev Should return whether the signature provided is valid for the provided data* @param _data Arbitrary length data signed on the behalf of address(this)* @param _signature Signature byte array associated with _data** MUST return the bytes4 magic value 0x20c13b0b when function passes.* MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)* MUST allow external calls*/function isValidSignature(bytes memory _data, bytes memory _signature) public view virtual returns (bytes4);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/*** @title GnosisSafeMath* @dev Math operations with safety checks that revert on error* Renamed from SafeMath to GnosisSafeMath to avoid conflicts* TODO: remove once open zeppelin update to solc 0.5.0*/library GnosisSafeMath {/*** @dev Multiplies two numbers, reverts on overflow.*/function mul(uint256 a, uint256 b) internal pure returns (uint256) {// Gas optimization: this is cheaper than requiring 'a' not being zero, but the// benefit is lost if 'b' is also tested.// See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522if (a == 0) {return 0;}uint256 c = a * b;require(c / a == b);return c;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "./GnosisSafeStorage.sol";import "../GnosisSafe.sol";/// @title SignMessageLib - Allows to set an entry in the signedMessages/// @author Richard Meissner - <richard@gnosis.io>contract SignMessageLib is GnosisSafeStorage {//keccak256(// "SafeMessage(bytes message)"//);bytes32 private constant SAFE_MSG_TYPEHASH = 0x60b3cbf8b4a223d68d641b3b6ddf9a298e7f33710cf3d3a9d1146b5a6150fbca;event SignMsg(bytes32 indexed msgHash);/// @dev Marks a message as signed, so that it can be used with EIP-1271/// @notice Marks a message (`_data`) as signed./// @param _data Arbitrary length data that should be marked as signed on the behalf of address(this)function signMessage(bytes calldata _data) external {bytes32 msgHash = getMessageHash(_data);signedMessages[msgHash] = 1;emit SignMsg(msgHash);}/// @dev Returns hash of a message that can be signed by owners.
123456789101112131415161718192021// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @title GnosisSafeStorage - Storage layout of the Safe contracts to be used in libraries/// @author Richard Meissner - <richard@gnosis.io>contract GnosisSafeStorage {// From /common/Singleton.soladdress internal singleton;// From /common/ModuleManager.solmapping(address => address) internal modules;// From /common/OwnerManager.solmapping(address => address) internal owners;uint256 internal ownerCount;uint256 internal threshold;// From /GnosisSafe.soluint256 internal nonce;bytes32 internal _deprecatedDomainSeparator;mapping(bytes32 => uint256) internal signedMessages;mapping(address => mapping(bytes32 => uint256)) internal approvedHashes;}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../../libraries/GnosisSafeStorage.sol";/// @title Migration - migrates a Safe contract from 1.3.0 to 1.2.0/// @author Richard Meissner - <richard@gnosis.io>contract Migration is GnosisSafeStorage {bytes32 private constant DOMAIN_SEPARATOR_TYPEHASH = 0x035aff83d86937d35b32e04f0ddc6ff469290eef2f1b692d8a815c89404d4749;address public immutable migrationSingleton;address public immutable safe120Singleton;constructor(address targetSingleton) {require(targetSingleton != address(0), "Invalid singleton address provided");safe120Singleton = targetSingleton;migrationSingleton = address(this);}event ChangedMasterCopy(address singleton);bytes32 private guard;/// @dev Allows to migrate the contract. This can only be called via a delegatecall.function migrate() public {require(address(this) != migrationSingleton, "Migration should only be called via delegatecall");// Master copy address cannot be null.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "./DefaultCallbackHandler.sol";import "../interfaces/ISignatureValidator.sol";import "../GnosisSafe.sol";/// @title Compatibility Fallback Handler - fallback handler to provider compatibility between pre 1.3.0 and 1.3.0+ Safe contracts/// @author Richard Meissner - <richard@gnosis.pm>contract CompatibilityFallbackHandler is DefaultCallbackHandler, ISignatureValidator {//keccak256(// "SafeMessage(bytes message)"//);bytes32 private constant SAFE_MSG_TYPEHASH = 0x60b3cbf8b4a223d68d641b3b6ddf9a298e7f33710cf3d3a9d1146b5a6150fbca;bytes4 internal constant SIMULATE_SELECTOR = bytes4(keccak256("simulate(address,bytes)"));address internal constant SENTINEL_MODULES = address(0x1);bytes4 internal constant UPDATED_MAGIC_VALUE = 0x1626ba7e;/*** Implementation of ISignatureValidator (see `interfaces/ISignatureValidator.sol`)* @dev Should return whether the signature provided is valid for the provided data.* @param _data Arbitrary length data signed on the behalf of address(msg.sender)* @param _signature Signature byte array associated with _data* @return a bool upon valid or invalid signature with corresponding _data
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../interfaces/ERC1155TokenReceiver.sol";import "../interfaces/ERC721TokenReceiver.sol";import "../interfaces/ERC777TokensRecipient.sol";import "../interfaces/IERC165.sol";/// @title Default Callback Handler - returns true for known token callbacks/// @author Richard Meissner - <richard@gnosis.pm>contract DefaultCallbackHandler is ERC1155TokenReceiver, ERC777TokensRecipient, ERC721TokenReceiver, IERC165 {string public constant NAME = "Default Callback Handler";string public constant VERSION = "1.0.0";function onERC1155Received(address,address,uint256,uint256,bytes calldata) external pure override returns (bytes4) {return 0xf23a6e61;}function onERC1155BatchReceived(address,
123456789101112131415161718192021222324// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/**Note: The ERC-165 identifier for this interface is 0x4e2312e0.*/interface ERC1155TokenReceiver {/**@notice Handle the receipt of a single ERC1155 token type.@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after thebalance has been updated.This function MUST return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` (i.e. 0xf23a6e61) if it accepts thetransfer.This function MUST revert if it rejects the transfer.Return of any other value than the prescribed keccak256 generated value MUST result in the transaction being reverted by the caller.@param _operator The address which initiated the transfer (i.e. msg.sender)@param _from The address which previously owned the token@param _id The ID of the token being transferred@param _value The amount of tokens being transferred@param _data Additional data with no specified format@return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))`*/function onERC1155Received(address _operator,address _from,uint256 _id,
123456789101112131415161718192021222324// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @dev Note: the ERC-165 identifier for this interface is 0x150b7a02.interface ERC721TokenReceiver {/// @notice Handle the receipt of an NFT/// @dev The ERC721 smart contract calls this function on the recipient/// after a `transfer`. This function MAY throw to revert and reject the/// transfer. Return of other than the magic value MUST result in the/// transaction being reverted./// Note: the contract address is always the message sender./// @param _operator The address which called `safeTransferFrom` function/// @param _from The address which previously owned the token/// @param _tokenId The NFT identifier which is being transferred/// @param _data Additional data with no specified format/// @return `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`/// unless throwingfunction onERC721Received(address _operator,address _from,uint256 _tokenId,bytes calldata _data) external returns (bytes4);}
12345678910111213// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;interface ERC777TokensRecipient {function tokensReceived(address operator,address from,address to,uint256 amount,bytes calldata data,bytes calldata operatorData) external;}
123456789101112131415// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;/// @notice More details at https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/introspection/IERC165.solinterface IERC165 {/*** @dev Returns true if this contract implements the interface defined by* `interfaceId`. See the corresponding* https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]* to learn more about how these ids are created.** This function call must use less than 30 000 gas.*/function supportsInterface(bytes4 interfaceId) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../interfaces/ERC1155TokenReceiver.sol";import "../external/GnosisSafeMath.sol";contract ERC1155Token {using GnosisSafeMath for uint256;// Mapping from token ID to owner balancesmapping(uint256 => mapping(address => uint256)) private _balances;// Mapping from owner to operator approvalsmapping(address => mapping(address => bool)) private _operatorApprovals;/**@dev Get the specified address' balance for token with specified ID.@param owner The address of the token holder@param id ID of the token@return The owner's balance of the token type requested*/function balanceOf(address owner, uint256 id) public view returns (uint256) {require(owner != address(0), "ERC1155: balance query for the zero address");return _balances[id][owner];}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "./GnosisSafe.sol";/// @title Gnosis Safe - A multisignature wallet with support for confirmations using signed messages based on ERC191./// @author Stefan George - <stefan@gnosis.io>/// @author Richard Meissner - <richard@gnosis.io>contract GnosisSafeL2 is GnosisSafe {event SafeMultiSigTransaction(address to,uint256 value,bytes data,Enum.Operation operation,uint256 safeTxGas,uint256 baseGas,uint256 gasPrice,address gasToken,address payable refundReceiver,bytes signatures,// We combine nonce, sender and threshold into one to avoid stack too deep// Dev note: additionalInfo should not contain `bytes`, as this complicates decodingbytes additionalInfo);event SafeModuleTransaction(address module, address to, uint256 value, bytes data, Enum.Operation operation);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../../common/Enum.sol";import "../../base/GuardManager.sol";import "../../GnosisSafe.sol";contract ReentrancyTransactionGuard is Guard {bytes32 internal constant GUARD_STORAGE_SLOT = keccak256("reentrancy_guard.guard.struct");struct GuardValue {bool active;}// solhint-disable-next-line payable-fallbackfallback() external {// We don't revert on fallback to avoid issues in case of a Safe upgrade// E.g. The expected check method might change and then the Safe would be locked.}function getGuard() internal pure returns (GuardValue storage guard) {bytes32 slot = GUARD_STORAGE_SLOT;// solhint-disable-next-line no-inline-assemblyassembly {guard.slot := slot}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../../common/Enum.sol";import "../../base/GuardManager.sol";import "../../GnosisSafe.sol";contract DelegateCallTransactionGuard is Guard {address public immutable allowedTarget;constructor(address target) {allowedTarget = target;}// solhint-disable-next-line payable-fallbackfallback() external {// We don't revert on fallback to avoid issues in case of a Safe upgrade// E.g. The expected check method might change and then the Safe would be locked.}function checkTransaction(address to,uint256,bytes memory,Enum.Operation operation,uint256,
1234567891011121314151617181920212223242526// SPDX-License-Identifier: LGPL-3.0-onlypragma solidity >=0.7.0 <0.9.0;import "../../common/Enum.sol";import "../../base/GuardManager.sol";import "../../GnosisSafe.sol";/// @title Debug Transaction Guard - A guard that will emit events with extended information./// @notice This guard is only meant as a development tool and example/// @author Richard Meissner - <richard@gnosis.pm>contract DebugTransactionGuard is Guard {// solhint-disable-next-line payable-fallbackfallback() external {// We don't revert on fallback to avoid issues in case of a Safe upgrade// E.g. The expected check method might change and then the Safe would be locked.}event TransactionDetails(address indexed safe,bytes32 indexed txHash,address to,uint256 value,bytes data,Enum.Operation operation,uint256 safeTxGas,bool usesRefund,
12345678910111213{"optimizer": {"enabled": true,"mode": "3"},"outputSelection": {"*": {"*": ["abi"]}}}
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"},{"indexed":false,"internalType":"address","name":"singleton","type":"address"}],"name":"ProxyCreation","type":"event"},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"name":"calculateCreateProxyWithNonceAddress","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"singleton","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"createProxy","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"},{"internalType":"contract IProxyCreationCallback","name":"callback","type":"address"}],"name":"createProxyWithCallback","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"name":"createProxyWithNonce","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proxyCreationCode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"}]
Contract Creation Code
00000000000000000000000000000000000000000000000000000000000000009c4d535b00000000000000000000000000000000000000000000000000000000000000000100015fe4009f7e2a13fb9b98db95dfbf439cd5b1436aa27e64f380f3380e0900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x00040000000000020009000000000002000000000301001900000060033002700000014b04300197000300000041035500020000000103550000014b0030019d000100000000001f0000008006000039000000400060043f000000000100041600000001022001900000011a0000c13d000000000110004c0000051a0000c13d0000000001000031000000040210008c0000051a0000413d0000000202000367000000000302043b000000e0033002700000014d0430009c000001210000c13d000000640310008a000000600400008a000000000343004b0000051a0000813d0000000403200370000000000303043b00000152093001970000002403200370000000000303043b000001530430009c0000051a0000213d0000002404300039000000000514004b0000051a0000213d0000000403300039000000000232034f000000000202043b000001530320009c0000051a0000213d0000000003420019000000000113004b0000051a0000213d0000003f01200039000000200300008a000700000003001d000000000131016f000000400a00043d00000000011a0019000000400010043f0000001f0320018f00000000012a043600000002044003670000000505200272000000430000613d000000000600001900000005076002100000000008710019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b0000003b0000413d000900000009001d000000000630004c000000530000613d0000000505500210000000000454034f00000000055100190000000303300210000000000605043300000000063601cf000000000636022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000363019f00000000003504350000000002210019000000000002043500000044020000390000000202200367000000000202043b000800000002001d00060000000a001d00000000020a04330000014b0300004100000000040004140000014b0540009c00000000040380190000014b0520009c00000000020380190000014b0510009c000000000103801900000040031002100000006001200210000500000003001d000000000131019f000000c002400210000000000112019f00000154011001c70000801002000039052605210000040f00000001022001900000051a0000613d000000000101043b000000400200043d00000020032000390000000000130435000000400120003900000008030000290000000000310435000000400300043d000000000131004900000000011304360000006002200039000000400020043f0000014b020000410000014b0410009c0000000001028019000000400110021000000000030304330000014b0430009c00000000030280190000006003300210000000000113019f00000000030004140000014b0430009c0000000002034019000000c002200210000000000112019f00000154011001c70000801002000039052605210000040f000000090c00002900000001022001900000051a0000613d000000000101043b000000400300043d00000044023000390000015504000041000000000042043500000084020000390000000005230436000000c3023000390000000704000029000000000242016f000000400020043f00000020022000390000000003030433000000200430008c00000000060300190000000004020019000000a60000413d0000000004020019000000000603001900000000570504340000000004740436000000200660008a000000200760008c000000a10000813d00000100080000390000000107000039000000200960008900000000060404330000000005050433000000010a900190000000000a080019000000010a00603900000000a77a00a9000000010a90027000000000b88800a9000000010990008c00000000090a0019000000ab0000213d0000000008700049000000000585016f000000010770008a000000000667016f000000000556019f000000000054043500000000022300190000000003c20436000000400400043d00000000024200490000000002240436000000400030043f00000084034000390000000005040433000000840650008a0000000007000414000000000063043500000060030000390000006406400039000000000036043500000156030000410000000000320435000000240340003900000000001304350000014b010000410000014b0320009c000000000201801900000040022002100000014b0350009c000000000301001900000000030540190000006003300210000000000223019f0000014b0370009c0000000001074019000000c001100210000000000121019f00000154011001c700008006020000390526051c0000040f00000001022001900000048e0000613d000000000201043b0000015206200198000004910000613d00000006010000290000000001010433000000000310004c0000000905000029000700000006001d000000fd0000613d0000000003000414000000040420008c000000fd0000613d0000014b040000410000014b0510009c000000000104801900000060011002100000000505000029000000000151019f0000014b0530009c0000000003048019000000c003300210000000000113019f0526051c0000040f00000009050000290000000706000029000000000301001900000060033002700001014b0030019d000300000001035500000001012001900000051a0000613d000000400100043d000000200210003900000000005204350000000000610435000000400200043d00000000012100490000014b030000410000014b0420009c0000000002038019000000400220021000000040011000390000014b0410009c00000000010380190000006001100210000000000121019f00000000020004140000014b0420009c0000000002038019000000c002200210000000000121019f00000154011001c70000800d02000039000000010300003900000157040000410526051c0000040f000000070500002900000001012001900000050c0000c13d0000051a0000013d000000000110004c0000051a0000c13d0000002001000039000001000010044300000120000004430000014c01000041000005270001042e0000014e0430009c000002290000c13d000000640310008a000000600400008a000000000343004b0000051a0000813d0000000403200370000000000303043b000001520a3001970000002403200370000000000303043b000001530430009c0000051a0000213d0000002405300039000000000415004b0000051a0000213d0000000403300039000000000332034f000000000303043b000001530430009c0000051a0000213d0000000004530019000000000114004b0000051a0000213d0000003f01300039000000200400008a000700000004001d000000000441016f000000400100043d00000000044100190000004402200370000000000202043b000800000002001d000000400040043f0000001f0430018f000000000231043600000002055003670000000506300272000001510000613d000000000700001900000005087002100000000009820019000000000885034f000000000808043b00000000008904350000000107700039000000000867004b000001490000413d00090000000a001d000000000740004c000001610000613d0000000506600210000000000565034f00000000066200190000000304400210000000000706043300000000074701cf000000000747022f000000000505043b0000010004400089000000000545022f00000000044501cf000000000474019f0000000000460435000000000332001900000000000304350000014b030000410000014b0420009c0000000002038019000000400220021000000000010104330000014b0410009c00000000010380190000006001100210000000000121019f00000000020004140000014b0420009c0000000002038019000000c002200210000000000112019f00000154011001c70000801002000039052605210000040f00000001022001900000051a0000613d000000000101043b000000400200043d00000020032000390000000000130435000000400120003900000008030000290000000000310435000000400300043d000000000131004900000000011304360000006002200039000000400020043f0000014b020000410000014b0410009c0000000001028019000000400110021000000000030304330000014b0430009c00000000030280190000006003300210000000000113019f00000000030004140000014b0430009c0000000002034019000000c002200210000000000112019f00000154011001c70000801002000039052605210000040f000000090c00002900000001022001900000051a0000613d000000000101043b000000400300043d00000044023000390000015504000041000000000042043500000084020000390000000005230436000000c3023000390000000704000029000000000242016f000000400020043f00000020022000390000000003030433000000200430008c00000000060300190000000004020019000001ae0000413d0000000004020019000000000603001900000000570504340000000004740436000000200660008a000000200760008c000001a90000813d00000100080000390000000107000039000000200960008900000000060404330000000005050433000000010a900190000000000a080019000000010a00603900000000a77a00a9000000010a90027000000000b88800a9000000010990008c00000000090a0019000001b30000213d0000000008700049000000000585016f000000010770008a000000000667016f000000000556019f000000000054043500000000022300190000000003c20436000000400400043d00000000024200490000000002240436000000400030043f00000084034000390000000005040433000000840650008a0000000007000414000000000063043500000060030000390000006406400039000000000036043500000156030000410000000000320435000000240340003900000000001304350000014b010000410000014b0320009c000000000201801900000040022002100000014b0350009c000000000301001900000000030540190000006003300210000000000223019f0000014b0370009c0000000001074019000000c001100210000000000121019f00000154011001c700008006020000390526051c0000040f00000001022001900000048e0000613d000000000101043b0000015202100198000004910000613d0000006001100210000000400300043d00000020023000390000000000120435000000400200043d0000000001230049000000140110003900000000001204350000003401300039000000400010043f0000015c04000041000000000041043500000038043000390000002001000039000000000014043500000058043000390000000005020433000000000054043500000078043000390000000005020433000000000350004c00000000030000190000021d0000613d000000000300001900000000064300190000002003300039000000000723001900000000070704330000000000760435000000000653004b000002010000413d00000000034500190000001f055001900000021e0000613d0000010004000039000000010200003900000000035300490000002006500089000000000503043300000001076001900000000007040019000000010700603900000000722700a9000000010760027000000000844400a9000000010660008c0000000006070019000002100000213d0000000002200049000000000225016f000000000023043500000000040100190000000003430019000000400100043d00000000021300490000014b030000410000014b0420009c00000000020380190000014b0410009c000000000103801900000040011002100000006002200210000000000112019f00000528000104300000014f0430009c000002670000c13d000000400200043d00000044012000390000015503000041000000000031043500000084010000390000000000120435000000c301200039000000200300008a000000000331016f000000400030043f000000200100003900000000041304360000000005020433000000000054043500000040043000390000000005020433000000000350004c00000000030000190000025b0000613d000000000300001900000000064300190000002003300039000000000723001900000000070704330000000000760435000000000653004b0000023f0000413d00000000034500190000001f055001900000025c0000613d0000010004000039000000010200003900000000035300490000002006500089000000000503043300000001076001900000000007040019000000010700603900000000722700a9000000010760027000000000844400a9000000010660008c00000000060700190000024e0000213d0000000002200049000000000225016f000000000023043500000000040100190000000003430019000000400100043d00000000021300490000014b030000410000014b0420009c00000000020380190000014b0410009c000000000103801900000040011002100000006002200210000000000112019f000005270001042e000001500430009c000002d20000c13d000000440310008a000000400400008a000000000343004b0000051a0000813d0000000403200370000000000303043b00000152083001970000002403200370000000000403043b000001530340009c0000051a0000213d0000002403400039000000000513004b0000051a0000213d0000000404400039000000000242034f000000000202043b000001530420009c0000051a0000213d0000000004320019000000000114004b0000051a0000213d0000003f01200039000000200400008a000000000141016f000000400400043d0000000001140019000000400010043f0000001f0120018f000800000004001d000000000924043600000002033003670000000504200272000002940000613d000000000500001900000005065002100000000007690019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b0000028c0000413d000000000510004c000002a30000613d0000000504400210000000000343034f00000000044900190000000301100210000000000504043300000000051501cf000000000515022f000000000303043b0000010001100089000000000313022f00000000011301cf000000000151019f0000000000140435000700000009001d00000000012900190000000000010435000000400100043d0000002402100039000001550300004100000000003204350000008401100039000900000008001d00000000008104350000006002000039000000400300043d0000004404300039000000000500041400000000002404350000000001310049000000640210008a000000640430003900000000002404350000015b020000410000000000230435000000040230003900000000000204350000014b020000410000014b0430009c0000000003028019000000400330021000000020011000390000014b0410009c00000000010280190000006001100210000000000131019f0000014b0350009c0000000002054019000000c002200210000000000121019f00000154011001c700008006020000390526051c0000040f0000000102200190000004a90000613d000000000601043b000000000160004c000004cd0000c13d00000003010003670000000102000031000004ae0000013d000001510330009c0000051a0000c13d000000840310008a000000800400008a000000000343004b0000051a0000813d0000000403200370000000000303043b00000152073001970000002403200370000000000403043b000001530340009c0000051a0000213d0000002403400039000000000513004b0000051a0000213d0000000404400039000000000242034f000000000202043b000001530420009c0000051a0000213d0000000004320019000000000114004b0000051a0000213d000500000007001d000400000006001d0000003f01200039000000200400008a000700000004001d000000000141016f000000400400043d0000000001140019000000400010043f0000001f0120018f000600000004001d000000000824043600000002033003670000000504200272000003020000613d000000000500001900000005065002100000000007680019000000000663034f000000000606043b00000000006704350000000105500039000000000645004b000002fa0000413d000000000510004c000003110000613d0000000504400210000000000343034f00000000044800190000000301100210000000000504043300000000051501cf000000000515022f000000000303043b0000010001100089000000000313022f00000000011301cf000000000151019f00000000001404350000000001280019000000000001043500000002010003670000004402100370000000000402043b0000006401100370000000000301043b000900000003001d000000400100043d0000004002100039000000600330021000000000003204350000002002100039000300000004001d0000000000420435000000400200043d0000000003210049000000340330003900000000033204360000005401100039000000400010043f0000014b010000410000014b0430009c0000000003018019000000400330021000000000020204330000014b0420009c00000000020180190000006002200210000000000232019f00000000030004140000014b0430009c0000000001034019000000c001100210000000000121019f00000154011001c70000801002000039000800000008001d052605210000040f00000009030000290000015203300197000900000003001d00000001022001900000051a0000613d000000000101043b000200000001001d000000060100002900000000010104330000014b0200004100000000030004140000014b0430009c00000000030280190000014b0410009c000000000102801900000008050000290000014b0450009c000000000205401900000040022002100000006001100210000100000002001d000000000121019f000000c002300210000000000112019f00000154011001c70000801002000039052605210000040f00000001022001900000051a0000613d000000000101043b000000400200043d00000020032000390000000000130435000000400120003900000002030000290000000000310435000000400300043d000000000131004900000000011304360000006002200039000000400020043f0000014b020000410000014b0410009c0000000001028019000000400110021000000000030304330000014b0430009c00000000030280190000006003300210000000000113019f00000000030004140000014b0430009c0000000002034019000000c002200210000000000112019f00000154011001c70000801002000039052605210000040f00000001022001900000051a0000613d0000000802000029000000000101043b000000400300043d00000044023000390000015504000041000000000042043500000084020000390000000005230436000000c3023000390000000704000029000000000242016f000000400020043f00000020022000390000000003030433000000200430008c000000000603001900000000040200190000038d0000413d0000000004020019000000000603001900000000570504340000000004740436000000200660008a000000200760008c000003880000813d00000100080000390000000107000039000000200960008900000000060404330000000005050433000000010a900190000000000a080019000000010a00603900000000a77a00a9000000010a90027000000000b88800a9000000010990008c00000000090a0019000003920000213d0000000008700049000000000585016f000000010770008a000000000667016f000000000556019f0000000000540435000000000223001900000005030000290000000003320436000000400400043d00000000024200490000000002240436000000400030043f00000084034000390000000005040433000000840650008a0000000007000414000000000063043500000060030000390000006406400039000000000036043500000156030000410000000000320435000000240340003900000000001304350000014b010000410000014b0320009c000000000201801900000040022002100000014b0350009c000000000301001900000000030540190000006003300210000000000223019f0000014b0370009c0000000001074019000000c001100210000000000121019f00000154011001c700008006020000390526051c0000040f00000001022001900000048e0000613d000000000201043b0000015206200198000004910000613d00000006010000290000000001010433000000000310004c0000000505000029000700000006001d000003e50000613d0000000003000414000000040420008c000003e50000613d0000014b040000410000014b0510009c000000000104801900000060011002100000000105000029000000000151019f0000014b0530009c0000000003048019000000c003300210000000000113019f0526051c0000040f00000007060000290000000505000029000000000301001900000060033002700001014b0030019d000300000001035500000001012001900000051a0000613d000000400100043d000000200210003900000000005204350000000000610435000000400200043d00000000012100490000014b030000410000014b0420009c0000000002038019000000400220021000000040011000390000014b0410009c00000000010380190000006001100210000000000121019f00000000020004140000014b0420009c0000000002038019000000c002200210000000000121019f00000154011001c70000800d0200003900000001030000390000015704000041000200000003001d0526051c0000040f00000007050000290000000504000029000000040300002900000001012001900000051a0000613d0000000901000029000000000110004c0000050c0000613d000000400100043d000000640210003900000003060000290000000000620435000000240210003900000000004204350000015802000041000000000021043500000004021000390000000000520435000000440210003900000000003204350000008402100039000000060400002900000000030404330000000000320435000000a401100039000500000001001d0000000001040433000000000210004c0000043d0000613d00000000020000190000000805000029000000050600002900000000036200190000000004520019000000000404043300000000004304350000002002200039000000000312004b0000041f0000413d0000000006610019000500000006001d0000001f031001900000043d0000613d00000100020000390000000501000029000000000131004900000020043000890000000053010434000500000005001d000000020700002900000001054001900000000005020019000000010500603900000000577500a9000000010540027000000000622200a9000000010440008c0000000004050019000004310000213d0000000002700049000000000223016f0000000000210435000000400100043d000800000001001d00000159010000410000000000100439000000090100002900000004001004430000014b0100004100000000020004140000014b0320009c0000000001024019000000c0011002100000015a011001c70000800202000039052605210000040f000000010220019000000007050000290000051a0000613d000000000101043b000000000110004c0000051a0000613d00000000010004140000000902000029000000040220008c0000050c0000613d0000000502000029000000080500002900000000025200490000014b030000410000014b0450009c0000000004030019000000000405401900000040044002100000014b0520009c00000000020380190000006002200210000000000242019f0000014b0410009c0000000001038019000000c001100210000000000121019f00000009020000290526051c0000040f0000000705000029000000000301001900000060033002700001014b0030019d0000014b04300197000300000001035500000001022001900000050c0000c13d0000001f0340018f00000005024002720000047a0000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000004730000413d000000000430004c000004880000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f00000000001204350000014b0100004100000001020000310000014b0320009c000000000102401900000060011002100000052800010430000300000001035500000060011002700001014b0010019d000000400100043d00000044021000390000015d0300004100000000003204350000002402100039000000130300003900000000003204350000015c020000410000000000210435000000040210003900000020030000390000000000320435000000400200043d000000000121004900000064011000390000014b030000410000014b0410009c00000000010380190000014b0420009c000000000203801900000040022002100000006001100210000000000121019f00000528000104300003000000010355000000000201001900000060022002700001014b0020019d0000014b022001970000001f0320018f0000000502200272000004b90000613d00000000040000190000000505400210000000000651034f000000000606043b00000000006504350000000104400039000000000524004b000004b20000413d000000000430004c000004c70000613d00000003033002100000000502200210000000000402043300000000043401cf000000000434022f000000000121034f000000000101043b0000010003300089000000000131022f00000000013101cf000000000141019f00000000001204350000014b0100004100000001020000310000014b0320009c00000000010240190000006001100210000005280001043000000008010000290000000001010433000000000210004c0000000904000029000004ee0000613d0000000002000414000000040360008c000004ee0000613d0000014b0300004100000007050000290000014b0450009c0000000004030019000000000405401900000040044002100000014b0510009c00000000010380190000006001100210000000000141019f0000014b0420009c0000000002038019000000c002200210000000000112019f0000000002060019000800000006001d0526051c0000040f00000008060000290000000904000029000000000301001900000060033002700001014b0030019d000300000001035500000001012001900000051a0000613d000000400100043d000000200210003900000000004204350000015202600197000700000002001d0000000000210435000000400200043d00000000012100490000014b030000410000014b0420009c0000000002038019000000400220021000000040011000390000014b0410009c00000000010380190000006001100210000000000121019f00000000020004140000014b0420009c0000000002038019000000c002200210000000000121019f00000154011001c70000800d02000039000000010300003900000157040000410526051c0000040f000000070500002900000001012001900000051a0000613d000000400100043d0000000000510435000000400200043d000000000121004900000020011000390000014b030000410000014b0410009c00000000010380190000014b0420009c000000000203801900000040022002100000006001100210000000000121019f000005270001042e000000000100001900000528000104300000051f002104210000000102000039000000000001042d0000000002000019000000000001042d00000524002104230000000102000039000000000001042d0000000002000019000000000001042d0000052600000432000005270001042e000005280001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000200000000000000000000000000000040000001000000000000000000000000000000000000000000000000000000000000000000000000001688f0b9000000000000000000000000000000000000000000000000000000002500510e0000000000000000000000000000000000000000000000000000000053e5d9350000000000000000000000000000000000000000000000000000000061b69abd00000000000000000000000000000000000000000000000000000000d18af54d000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000010000000002000000000000000000000000000000000000000000000000000000000000000100004124426fb9ebb25e27d670c068e52f9ba631bd383279a188be47e3f86d3cda33511d41a8a5431b1770c5bc0ddd62e1cd30555d16659b89c0d60f4f9f574f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2351e52b518000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000009c4d535bdea7cd8a978f128b93471df48c7dbab89d703809115bdc118c235bfd08c379a000000000000000000000000000000000000000000000000000000000437265617465322063616c6c206661696c656400000000000000000000000000f911f904144b899a7cf9447d5215b8b5030d705f985625ee5d89baa99092b88a
Loading...
Loading
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.