Contract 0xddafbb505ad214d7b80b1f830fccc89b60fb7a83 12

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf7f70cc564028a8f3b7074dd107950aef4bc7d692b652316874bb2c2eb71ea4eApprove(pending)2023-06-07 2:06:562 days 11 hrs ago0xa79f7fdde33c23af9286400c61f2b096c51a7382 IN 0xddafbb505ad214d7b80b1f830fccc89b60fb7a830 xDAI(Pending)
0x462b6df1c23341a6ee580f70fdf4456585448ce90837e7fbc75dcad923505175Transfer(pending)2023-06-07 2:06:562 days 11 hrs ago0x86c7c4f6357fd4ca279d46bd88d771c2375bcbf9 IN 0xddafbb505ad214d7b80b1f830fccc89b60fb7a830 xDAI(Pending)
0x82e0300df2e9d4313dbddc1b0ab98dcdd3e2ac4f3afa6c3881919403452aefc1Approve(pending)2023-06-07 2:06:562 days 11 hrs ago0xd4d4cc74baf4359b757b8e23cce45279afc62db1 IN 0xddafbb505ad214d7b80b1f830fccc89b60fb7a830 xDAI(Pending)
0x640f460352da2a33c9809eb07a7d75c0d722fd3f93540e3fe791a180fdb7563aApprove(pending)2023-06-07 2:06:552 days 11 hrs ago0x0de02d0ff7c4be9aa71093322d9e66146a9d1b9e IN 0xddafbb505ad214d7b80b1f830fccc89b60fb7a830 xDAI(Pending)
0x93e8780ac71ce3e6f1a422d38389caf99130aa76beedcf2bfb409e73fe9268f3Transfer(pending)2023-06-07 2:06:552 days 11 hrs ago0xd64943f72797c88af50baaf4372a0175a7f97b74 IN 0xddafbb505ad214d7b80b1f830fccc89b60fb7a830 xDAI(Pending)
0x66dfd4c6f0c7fbc326f967d789699ab10b5864ac2056f2bf02423c07c757a555Transfer(pending)2023-06-03 11:23:176 days 2 hrs ago0x2c9ef4f5882fee70e416f68eabe4d9439ea05f8a IN 0xddafbb505ad214d7b80b1f830fccc89b60fb7a830 xDAI(Pending)
0x5272754cd1eccec6af32c6f6f82f4d93d0d307ec511cf269cf5d76146d4414a8Approve(pending)2023-06-03 11:23:176 days 2 hrs ago0xac2824870eacaf9764266ec96629d4d49573942d IN 0xddafbb505ad214d7b80b1f830fccc89b60fb7a830 xDAI(Pending)
0x3644970a2a1dc1d4ccc7d655bf3019b119d796a74b30d74121436b76be116efaApprove283686862023-06-09 13:55:554 mins ago0x037f4b699d122bb04099727f2c1759680b2139ae IN  Centre: USDC Token0 xDAI0.000089222127
0x167f49735a6d1fcd1fe105fef7be68a0bd9261fb1a57629253dee07557a3bafdApprove283686382023-06-09 13:51:558 mins ago0x179fc94a55a0c1160f61102951ca9d2bcbf5c5cf IN  Centre: USDC Token0 xDAI0.000082110427
0x28df141294e2e128a6dfe3802a912a0bb819e3ec7ff71cbab7c341c956fdb3d9Approve283685952023-06-09 13:48:1012 mins ago0x35b3e2b7e5b8d435648a25ed5cd1f7c4b6a50f35 IN  Centre: USDC Token0 xDAI0.000084758552
0x007534c6baf995b35f72a11632f25fd9fab92e7cdb0c816d597b5566d372618eTransfer283685932023-06-09 13:48:0012 mins ago0x38d23ec9dfe3859f7b20d84edae872f4fd65c4a6 IN  Centre: USDC Token0 xDAI0.000095346886
0xc353ad36bd469dacbe856e7db16a9bc850d707f9678e86b997ebe813e9d8f45aTransfer And Cal...283685582023-06-09 13:45:0015 mins ago0x362354ced9f838e002d8442941a23db474db0a57 IN  Centre: USDC Token0 xDAI0.000390544986
0x5d5e76a93a0751b2507f869780656175659fba195c7b2090062691af85af6b6aApprove283685352023-06-09 13:42:5517 mins ago0x529e6e188adb441bd5815ffd0f46bac2b4352ea3 IN  Centre: USDC Token0 xDAI0.000054829688
0x888be3686e1572567130e40a287ba66adcf1d3cffafd7740b69932d849cd63e6Approve283685302023-06-09 13:42:3017 mins ago0xd70cf2717e3f5d91ce985c7e31c9f5a7396a8155 IN  Centre: USDC Token0 xDAI0.00010842
0x3c0bddec6478fcf0b4f6f9c28ac4b0c6b510b4284f36045562d86652bb090eb4Approve283685222023-06-09 13:41:4518 mins ago0x35b3e2b7e5b8d435648a25ed5cd1f7c4b6a50f35 IN  Centre: USDC Token0 xDAI0.00013495046
0x144527260415b020995cbc500737f1a3028386f694b34df354660fc68d154059Approve283683912023-06-09 13:30:2529 mins ago0x8d8dc7e30407778532052330dbac3d3186411e0d IN  Centre: USDC Token0 xDAI0.00010284
0xb33e4bebdca7f4a80ed1b4dafdb675bce597992effe5aed0fc9acdef3946fc4fApprove283683532023-06-09 13:27:0533 mins ago0xaacdfda938befcdf5d93ff737ca147d9bb32344c IN  Centre: USDC Token0 xDAI0.000140946
0xf3be9c9a2e140d22c6eae945678a2bd3949026d7fc2d12261e841e9568a24cfaApprove283683462023-06-09 13:26:3033 mins ago0x7adb2cfef773aa9422a32d2456bf6fe21f04dad7 IN  Centre: USDC Token0 xDAI0.000140946
0x51f96320fc8e3bcd05fa5b106841cab7bc1a3cd417e9b0df98cac5218ba29ae2Approve283682232023-06-09 13:16:0044 mins ago0x1602e644d80036ee566e7893bce6009fe63db47a IN  Centre: USDC Token0 xDAI0.000157209
0x6a4860b66f54e12c4f748c57637f031f148b74bc7b832dc7693d757a0ae3156fApprove283682182023-06-09 13:15:3044 mins ago0x1602e644d80036ee566e7893bce6009fe63db47a IN  Centre: USDC Token0 xDAI0.000154224
0x8d66758f8dc502efd6e402405bf904bb078f4ed38a4c979e71f7f1e858f7c02aApprove283681942023-06-09 13:13:2046 mins ago0x2c93fadd2bd95cd66b8c33b3636dbaa70c431db4 IN  Centre: USDC Token0 xDAI0.00016263
0x8721ebfcb55e6c9d5e3fca668bfd20d3fdd9bbfe3e57ffa1fb1b4434c9b4f3cfTransfer283681752023-06-09 13:11:3548 mins ago0xa52e494918144fc56d5c91020e0a667c08788ab5 IN  Centre: USDC Token0 xDAI0.000089256712
0x9c7b36876d936d59045207620fa59aab445ed7e2cb9370daeeca2f78edcd0830Approve283681652023-06-09 13:10:4049 mins ago0xf66f7ebefdc72ff71043af49d5e0426bc1b0eb87 IN  Centre: USDC Token0 xDAI0.000076741392
0x13d68f8c2b3c14208e8a014c9f35d75919cc7e65b148cc8c989d443b8579adf2Approve283681582023-06-09 13:10:0050 mins ago0xea173f401253436102da7a77548fc99322bd76b8 IN  Centre: USDC Token0 xDAI0.000168051
0xbf78903506271ec6e8ff40e5689a4a70ef1b46435ebce39a987d9c2cadfa857fApprove283681502023-06-09 13:09:2050 mins ago0x5d1e35cd29c02fc28e94183a4185679945c78418 IN  Centre: USDC Token0 xDAI0.000086137458
[ Download CSV Export 

OVERVIEW

USDC is a fully collateralized US Dollar stablecoin developed by CENTRE, the open source project with Circle being the first of several forthcoming issuers.

Latest 2 internal transactions
Parent Txn Hash Block From To Value
0x989001ec2709585433e078e625377a9585582d0c1e1515ce3ead07f0b9855df7207825902022-02-23 8:06:30471 days 5 hrs ago 0x2ab5283cee27bd8e595c1bcede6448ea6d6af328 Centre: USDC Token0.000000000000001005 xDAI
0x8add438e10e3bad5118bd901347494d739cdfbde0176f8836c69d4b24ffbf5eb115681062020-08-19 21:54:451023 days 16 hrs ago Gnosis: xDai Bridge  Contract Creation0 xDAI
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x4ecaba5870353805a9f068101a40e0f32ed605c6

Contract Name:
TokenProxy

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at gnosisscan.io on 2022-12-27
*/

pragma solidity 0.4.24;

/**
 * @title Proxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
contract Proxy {
    /**
    * @dev Tells the address of the implementation where every call will be delegated.
    * @return address of the implementation to which it will be delegated
    */
    /* solcov ignore next */
    function implementation() public view returns (address);

    /**
    * @dev Fallback function allowing to perform a delegatecall to the given implementation.
    * This function will return whatever the implementation call returns
    */
    function() public payable {
        // solhint-disable-previous-line no-complex-fallback
        address _impl = implementation();
        require(_impl != address(0));
        assembly {
            /*
                0x40 is the "free memory slot", meaning a pointer to next slot of empty memory. mload(0x40)
                loads the data in the free memory slot, so `ptr` is a pointer to the next slot of empty
                memory. It's needed because we're going to write the return data of delegatecall to the
                free memory slot.
            */
            let ptr := mload(0x40)
            /*
                `calldatacopy` is copy calldatasize bytes from calldata
                First argument is the destination to which data is copied(ptr)
                Second argument specifies the start position of the copied data.
                    Since calldata is sort of its own unique location in memory,
                    0 doesn't refer to 0 in memory or 0 in storage - it just refers to the zeroth byte of calldata.
                    That's always going to be the zeroth byte of the function selector.
                Third argument, calldatasize, specifies how much data will be copied.
                    calldata is naturally calldatasize bytes long (same thing as msg.data.length)
            */
            calldatacopy(ptr, 0, calldatasize)
            /*
                delegatecall params explained:
                gas: the amount of gas to provide for the call. `gas` is an Opcode that gives
                    us the amount of gas still available to execution

                _impl: address of the contract to delegate to

                ptr: to pass copied data

                calldatasize: loads the size of `bytes memory data`, same as msg.data.length

                0, 0: These are for the `out` and `outsize` params. Because the output could be dynamic,
                        these are set to 0, 0 so the output data will not be written to memory. The output
                        data will be read using `returndatasize` and `returdatacopy` instead.

                result: This will be 0 if the call fails and 1 if it succeeds
            */
            let result := delegatecall(gas, _impl, ptr, calldatasize, 0, 0)
            /*

            */
            /*
                ptr current points to the value stored at 0x40,
                because we assigned it like ptr := mload(0x40).
                Because we use 0x40 as a free memory pointer,
                we want to make sure that the next time we want to allocate memory,
                we aren't overwriting anything important.
                So, by adding ptr and returndatasize,
                we get a memory location beyond the end of the data we will be copying to ptr.
                We place this in at 0x40, and any reads from 0x40 will now read from free memory
            */
            mstore(0x40, add(ptr, returndatasize))
            /*
                `returndatacopy` is an Opcode that copies the last return data to a slot. `ptr` is the
                    slot it will copy to, 0 means copy from the beginning of the return data, and size is
                    the amount of data to copy.
                `returndatasize` is an Opcode that gives us the size of the last return data. In this case, that is the size of the data returned from delegatecall
            */
            returndatacopy(ptr, 0, returndatasize)

            /*
                if `result` is 0, revert.
                if `result` is 1, return `size` amount of data from `ptr`. This is the data that was
                copied to `ptr` from the delegatecall return data
            */
            switch result
                case 0 {
                    revert(ptr, returndatasize)
                }
                default {
                    return(ptr, returndatasize)
                }
        }
    }
}

interface IPermittableTokenVersion {
    function version() external pure returns (string);
}

/**
* @title TokenProxy
* @dev Helps to reduces the size of the deployed bytecode for automatically created tokens, by using a proxy contract.
*/
contract TokenProxy is Proxy {
    // storage layout is copied from PermittableToken.sol
    string internal name;
    string internal symbol;
    uint8 internal decimals;
    mapping(address => uint256) internal balances;
    uint256 internal totalSupply;
    mapping(address => mapping(address => uint256)) internal allowed;
    address internal owner;
    bool internal mintingFinished;
    address internal bridgeContractAddr;
    // string public constant version = "1";
    bytes32 internal DOMAIN_SEPARATOR;
    // bytes32 public constant PERMIT_TYPEHASH = 0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb;
    mapping(address => uint256) internal nonces;
    mapping(address => mapping(address => uint256)) internal expirations;

    /**
    * @dev Creates a non-upgradeable token proxy for PermitableToken.sol, initializes its eternalStorage.
    * @param _tokenImage address of the token image used for mirrowing all functions.
    * @param _name token name.
    * @param _symbol token symbol.
    * @param _decimals token decimals.
    * @param _chainId chain id for current network.
    */
    constructor(address _tokenImage, string memory _name, string memory _symbol, uint8 _decimals, uint256 _chainId)
        public
    {
        string memory version = IPermittableTokenVersion(_tokenImage).version();

        assembly {
            // EIP 1967
            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
            sstore(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, _tokenImage)
        }
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        owner = msg.sender; // msg.sender == HomeMultiAMBErc20ToErc677 mediator
        bridgeContractAddr = msg.sender;
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                keccak256(bytes(_name)),
                keccak256(bytes(version)),
                _chainId,
                address(this)
            )
        );
    }

    /**
    * @dev Retrieves the implementation contract address, mirrowed token image.
    * @return token image address.
    */
    function implementation() public view returns (address impl) {
        assembly {
            impl := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)
        }
    }
}

Contract ABI

[{"constant":true,"inputs":[],"name":"implementation","outputs":[{"name":"impl","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenImage","type":"address"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_chainId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

608060405234801561001057600080fd5b50604051610548380380610548833981016040818152825160208401518285015160608087015160808801517f54fd4d500000000000000000000000000000000000000000000000000000000088529551949793840196929093019492939091600160a060020a038816916354fd4d509160048082019260009290919082900301818387803b1580156100a257600080fd5b505af11580156100b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156100df57600080fd5b8101908080516401000000008111156100f757600080fd5b8201602081018481111561010a57600080fd5b815164010000000081118282018710171561012457600080fd5b50507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8a90558851909450610163935060009250602089019150610380565b508351610177906001906020870190610380565b506002805460ff851660ff1990911617905560068054600160a060020a031990811633908117909255600780549091169091179055604080517f454950373132446f6d61696e28737472696e67206e616d652c737472696e672081527f76657273696f6e2c75696e7432353620636861696e49642c61646472657373206020808301919091527f766572696679696e67436f6e74726163742900000000000000000000000000008284015291519081900360520181208751909288929182918401908083835b6020831061025c5780518252601f19909201916020918201910161023d565b51815160209384036101000a6000190180199092169116179052604051919093018190038120875190955087945090928392508401908083835b602083106102b55780518252601f199092019160209182019101610296565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208282019890985281840196909652606081019690965250608085018790523060a0808701919091528151808703909101815260c09095019081905284519093849350850191508083835b602083106103455780518252601f199092019160209182019101610326565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091206008555061041b975050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106103c157805160ff19168380011785556103ee565b828001600101855582156103ee579182015b828111156103ee5782518255916020019190600101906103d3565b506103fa9291506103fe565b5090565b61041891905b808211156103fa5760008155600101610404565b90565b61011e8061042a6000396000f300608060405260043610603e5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416635c60da1b81146092575b6000604660cd565b905073ffffffffffffffffffffffffffffffffffffffff81161515606957600080fd5b60405136600082376000803683855af43d82016040523d6000833e808015608e573d83f35b3d83fd5b348015609d57600080fd5b5060a460cd565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905600a165627a7a723058205d442d0b224de4b205ca61128d615099ba3021d9d5d21bc18d96bc5e201685800029000000000000000000000000f8d1677c8a0c961938bf2f9adc3f3cfda759a9d900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000001254657468657220555344206f6e2078446169000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553445400000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

4887:2504:0:-;;;;;;;;;;;;;;;;;;;;715:13;731:16;:14;:16::i;:::-;715:32;-1:-1:-1;766:19:0;;;;;758:28;;;;;;1224:4;1218:11;2005:12;2002:1;1997:3;1984:34;2936:1;2933;2919:12;2914:3;2907:5;2902:3;2889:49;3626:14;3621:3;3617:24;3611:4;3604:38;4136:14;4133:1;4128:3;4113:38;4418:6;4442:76;;;;4579:14;4574:3;4567:27;4442:76;4484:14;4479:3;4472:27;7193:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7193:195:0;;;;;;;;;;;;;;;;;;;;;;;;7303:66;7297:73;;7274:107::o

Swarm Source

bzzr://5d442d0b224de4b205ca61128d615099ba3021d9d5d21bc18d96bc5e20168580
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.