Gitcoin Grants Round 11 has begun! You can help support block explorer diversity and transparency. Fund BlockScout Now.

Address Details
contract

0x2171a0dc12a9E5b1659feF2BB20E54c84Fa7dB0C

lockForREQBurn Last Balance Update: Block #18143780
Created by 0x4e64c2–679b93 at 0xa263e4–02ed0c

Balance

481.0185 xDAI

(@ /xDAI)

Fetching tokens...

Contract name:
lockForREQBurn




Optimization enabled
false
Compiler version
v0.6.12+commit.27d51765




EVM Version
default




Verified at
2021-06-14 09:07:13.850458Z

Contract source code

// SPDX-License-Identifier: MIT
/// xDaiLockForREQBurner burn contract
/// @dev xDAI based contract for locking xDAI that are doomed to be sent to a REQ burner contract
/// @author Request Network
/// @notice the author has followed following process of transferring the xDAI tokens : https://www.xdaichain.com/for-users/bridges/converting-xdai-via-bridge/transfer-sai-dai-without-the-ui-using-web3-or-mobile-wallet
/// @notice also while investigation the working of the bridge contract needs at least 10xDAI to be transferred
pragma solidity ^0.6.12;
/// @dev using the interface of the native token bridge
interface IHomeBridgeErcToNative {
function relayTokens(address _receiver) external payable;
}
///@dev a contract locking xDAI for a future bridge to Ethereum-based REQ burning contract.
contract lockForREQBurn {
// Contract locking Dai to be converted into REQ
address public constant ETHEREUM_BURNER_CONTRACT = 0x2CFa65DcB34311293c6a52F1D7BEB8f4E31E5117;
address public constant BRIDGE_CONTRACT = 0x7301CFA0e1756B71869E93d4e4Dca5c7d0eb0AA6;
constructor() public {}
/// @dev Sends all xDai locked on the contract to the Ethereum-based through the bridge contract
///@notice the same EOA needs to execute a mirror transaction on Ethereum
///@notice 1. Execute drainLockedXDaiToBurner
///@notice 2. Use 0x6A92e97A568f5F58590E8b1f56484e6268CdDC51 on xDai to get the parameters
///@notice 3. Use the parameters on this Ethereum-based contract: : 0x4aa42145aa6ebf72e164c9bbc74fbd3788045016
function drainLockedXDaiToBurner() external {
IHomeBridgeErcToNative bridge = IHomeBridgeErcToNative(BRIDGE_CONTRACT);
bridge.relayTokens{value: address(this).balance}(ETHEREUM_BURNER_CONTRACT);
}
receive() external payable {}
}

Contract ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"BRIDGE_CONTRACT","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"ETHEREUM_BURNER_CONTRACT","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"drainLockedXDaiToBurner","inputs":[]},{"type":"receive","stateMutability":"payable"}]
            

Deployed ByteCode

0x6080604052600436106100385760003560e01c80637e1376c214610044578063828b55b71461005b5780638fc9b2041461009c5761003f565b3661003f57005b600080fd5b34801561005057600080fd5b506100596100dd565b005b34801561006757600080fd5b5061007061018f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100a857600080fd5b506100b16101a7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000737301cfa0e1756b71869e93d4e4dca5c7d0eb0aa690508073ffffffffffffffffffffffffffffffffffffffff16635d1e930747732cfa65dcb34311293c6a52f1d7beb8f4e31e51176040518363ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1681526020019150506000604051808303818588803b15801561017357600080fd5b505af1158015610187573d6000803e3d6000fd5b505050505050565b732cfa65dcb34311293c6a52f1d7beb8f4e31e511781565b737301cfa0e1756b71869e93d4e4dca5c7d0eb0aa68156fea2646970667358221220e6227ec6710d4df4e773de390cf40168f56cff89adda98c5de02d867c4655ea764736f6c634300060c0033