Contract 0xE2e73A1c69ecF83F464EFCE6A5be353a37cA09b2 3

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf33f3dd30f50ef23b886ccced97850ee71d032b56b52bb7c485c3acf0d06248cTransfer271163532023-03-25 13:57:4532 mins ago0xb3aaaf830beb060584d5097b464cc4b9e0f04dd4 IN  ChainLink: LINK Token0 xDAI0.000155166641
0x30fa646e65e3659b4c9952d47cbb27837e77a5e18e5ca552863d3c0c9d8d924aApprove271092242023-03-25 3:23:1511 hrs 6 mins ago0x86a8d5d0f363de5afb73573d386511b18d87d992 IN  ChainLink: LINK Token0 xDAI0.00014984172
0x01f35d9f0ba45bf4db2e563db1d9e3e42ff8da5f67dfd9c22cc40763aef3aa1dTransfer And Cal...270811932023-03-23 9:35:252 days 4 hrs ago0x16d5ea048d1b1746a2a44e99ada2a0efdc99a18f IN  ChainLink: LINK Token0 xDAI0.000779135767
0x972f81b6d6068ddd836f30e78106713027c113ab444f09dd943f1a8227af4c51Transfer And Cal...270557522023-03-21 19:39:153 days 18 hrs ago0xfae26207ab74ee528214ee92f94427f8cdbb6a32 IN  ChainLink: LINK Token0 xDAI0.00080323275
0x5a50bd2ecb344cb91f1e3c0af78246e66976e738bb7a7a1729cfe3b49d080944Approve270550612023-03-21 18:37:453 days 19 hrs ago0xf164e9da0db1710e295e7e6d0a72b0d46f152a30 IN  ChainLink: LINK Token0 xDAI0.000083392452
0xbaa461e3d8868e30099f57a18b185ec7e2c5d02156f2f4e77219179f74c83d25Approve270550412023-03-21 18:36:003 days 19 hrs ago0xf164e9da0db1710e295e7e6d0a72b0d46f152a30 IN  ChainLink: LINK Token0 xDAI0.000078463958
0x798d6f6619a2aaef3adb29f67b1a872056b2ae042ecdcc9c8227f4c79353ac8eApprove270506712023-03-21 12:05:054 days 2 hrs ago0x9dc990af9c2f23d026b2d18ad626ffa3129c0227 IN  ChainLink: LINK Token0 xDAI0.000081323131
0x76e7c35ee0cd374ca83d098091d4a6e8f8efc672ee7b5b053094132eb519d5bfApprove270491592023-03-21 9:49:254 days 4 hrs ago0x97a6b2f935b8f0bd61675a0d1e90afd39651c205 IN  ChainLink: LINK Token0 xDAI0.000113841
0xb94911ac1b50751aba4b5df88104761fb72ddf3a31546becf925f6a30d8c7a26Approve270402722023-03-20 20:30:304 days 17 hrs ago0xb8c6e43f37e04a2411562a13c1c48b3ad5975cf4 IN  ChainLink: LINK Token0 xDAI0.000136807263
0x8a018d44e39c88608bd01ab106798366831b0366290bae0ea4511fccdd2a0b2fApprove270182172023-03-19 11:18:106 days 3 hrs ago0x116ceb3d8d258e2a97a1f05c901ef508809f55ec IN  ChainLink: LINK Token0 xDAI0.000077238
0x0290dec8ff5610590406f7a31190b8cb49972c121df11a23584883c5bd74af05Approve269908242023-03-17 17:51:357 days 20 hrs ago0x4a5e200e870fa788321e3ecc776860a587f5cf23 IN  ChainLink: LINK Token0 xDAI0.000058686042
0xdd76e95bdd1b5d4a42885a11ba71db43c64372f539f0eb551cbf11e223de4fd9Approve269908242023-03-17 17:51:357 days 20 hrs ago0x4a5e200e870fa788321e3ecc776860a587f5cf23 IN  ChainLink: LINK Token0 xDAI0.000058686042
0xb2260f0f4635d88e5d3080be893fd893eac00ea8b21bd947594f208d99f9dc4fApprove269505892023-03-15 5:42:4010 days 8 hrs ago0xd578172dae2ea99186320edf13f2e6922a8b8f85 IN  ChainLink: LINK Token0 xDAI0.000103236
0xe2d0b57961efc98e69a4ddd864ee70f01e2a6f5849d9c84ac924ef3045f231abApprove269342602023-03-14 5:57:3011 days 8 hrs ago0xb8c6e43f37e04a2411562a13c1c48b3ad5975cf4 IN  ChainLink: LINK Token0 xDAI0.00015479883
0x390cdfcfee559a0e0bf652468803243366c987975ecdbbe8581782e6dec114c4Approve269219392023-03-13 12:07:1512 days 2 hrs ago0xe9aa44a55318bd3c54934c2b317f4dd1af25d7ee IN  ChainLink: LINK Token0 xDAI0.000051500016
0xdb8a1147009de770ed47fda2525992e36356cdebc698e2165e8c236670cfcd08Approve269219312023-03-13 12:06:3012 days 2 hrs ago0xe9aa44a55318bd3c54934c2b317f4dd1af25d7ee IN  ChainLink: LINK Token0 xDAI0.000052730294
0xa16d77b23fac9f0e24af06858f6ea74c2071600c1f416e0efb5625139c9afacaApprove269219272023-03-13 12:06:0512 days 2 hrs ago0xe9aa44a55318bd3c54934c2b317f4dd1af25d7ee IN  ChainLink: LINK Token0 xDAI0.000054361128
0x498c504c32b4174d78a9079448e28467a32035824e2109b7ca0fa9b6da45efe6Transfer And Cal...269216972023-03-13 11:46:1012 days 2 hrs ago0x41caa3369c80a8fba8cfd94b457da68f6e91c3e6 IN  ChainLink: LINK Token0 xDAI0.000586501787
0x729556d290b9e3415ddad83931f3f61263ac0dbfd4c0a508e793919a979a91e6Transfer269216842023-03-13 11:44:5512 days 2 hrs ago0x0d7d868f80e9cb25cb6669c7d76ba5e712cb1d52 IN  ChainLink: LINK Token0 xDAI0.0000824385
0x29902599e056d84bf662533b7dc42894258c421ac056405850f65e2fe3c042a1Transfer269166872023-03-13 4:30:2012 days 9 hrs ago0x9fd8e3163f7a65f4cb3466b936be9af2beff61b5 IN  ChainLink: LINK Token0 xDAI0.0002090725
0xa3cbe52c4e843d1a8f8213f52b6e718950a8468ffa6aa2515f4dacdd8d5edf64Approve269161982023-03-13 3:47:5012 days 10 hrs ago0x2dad8b40e56cf3355bbd20a8bd0f470810bb451b IN  ChainLink: LINK Token0 xDAI0.0001577511
0xa47945e9564c1c707dbda9e35a7be5c53e972bbfc0a87c1ccdeb830a2469b5f3Approve268660252023-03-10 2:10:2515 days 12 hrs ago0x4d67c5beeb6f864e8612073f53a0829d1ee16393 IN  ChainLink: LINK Token0 xDAI0.000189735
0xacc7ea3c3628d32ec141637fcb7654e882df489a8f6c260b92cfc94d465dd65dApprove268425072023-03-08 16:07:3516 days 22 hrs ago0x3d9fefe6135a532565fe39e7dcc91d7407ff3615 IN  ChainLink: LINK Token0 xDAI0.000124683
0x276b435177c0588a952909e4f092fe7bba4fd4835ead1f1731b0a8ba8d338596Approve268138742023-03-06 22:41:1518 days 15 hrs ago0x9e0ec41ec68a8221b3b6564e8a582b4c0a421633 IN  ChainLink: LINK Token0 xDAI0.00017878458
0x51fd3efc9facd2b89928f1b0400eba1f3edf4920dda1f759c2674ed6a2d37114Approve268119772023-03-06 19:57:3018 days 18 hrs ago0x45d8d5637aa6efd81ea42d2689260851d9cb12bf IN  ChainLink: LINK Token0 xDAI0.0001935297
[ Download CSV Export 

OVERVIEW

A blockchain-based middleware, acting as a bridge between cryptocurrency smart contracts, data feeds, APIs and traditional bank account payments.

Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xb7b6c9cc58ded302e5c0a7d5343af35ea260c315fbe03ca7305f02cd8ea342f0115667522020-08-19 19:44:40947 days 18 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.