false
false
0

Contract Address Details

0x349B75386544F6eCb20475ef4a7adb31F033306A

Contract Name
LocalToBridge
Creator
0xc7d98c–7f3521 at 0x0a5cdd–880020
Balance
0 CLO
Tokens
Fetching tokens...
Transactions
22 Transactions
Transfers
48 Transfers
Gas Used
2,305,748
Last Balance Update
16286015
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
Contract name:
LocalToBridge




Optimization enabled
true
Compiler version
v0.8.7+commit.e28d00a7




Optimization runs
200
EVM Version
default




Verified at
2024-09-26T15:32:24.624177Z

Constructor Arguments

0x000000000000000000000000346984a5a13241daf2587571ce7d86cea77bfb7e000000000000000000000000000000000000000000000000000000000000003d

Arg [0] (address) : 0x346984a5a13241daf2587571ce7d86cea77bfb7e
Arg [1] (uint256) : 61

              

Contract source code

// SPDX-License-Identifier: No License (None)
pragma solidity ^0.8.0;

interface IBridge{
    function depositTokens(
        address receiver,   // address of token receiver on destination chain
        address token,      // token that user send (if token address < 32, then send native coin)
        uint256 value,      // tokens value
        uint256 toChainId   // destination chain Id where will be claimed tokens
    ) external;
}

interface IERC20 {
    // initialize cloned token just for BEP20TokenCloned
    function balanceOf(address account) external view returns (uint256);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
}

interface ISimplifiedGlobalFarm {
    function mintFarmingReward(address _localFarm) external;
    function getAllocationX1000(address _farm) external view returns (uint256);
    function getRewardPerSecond() external view returns (uint256);
    function rewardMintingAvailable(address _farm) external view returns (bool);
    function farmExists(address _farmAddress) external view returns (bool);
    function owner() external view returns (address);
}


contract LocalToBridge {

    address public soy = address(0x9FaE2529863bD691B4A7171bDfCf33C7ebB10a65);
    address public bridge = address(0x9a1fc8C0369D49f3040bF49c1490E7006657ea56);
    address public globalFarm = address(0x64Fa36ACD0d13472FD786B03afC9C52aD5FCf023);
    address public foreignGlobalFarm;
    uint256 public foreignGlobalFarmChainId;
    uint256 public lastRewardTimestamp;  // Last block number that SOY distribution occurs.
    
    event RewardAdded(uint256 reward);

    constructor (address _foreignGlobalFarm, uint256 _foreignGlobalFarmChainId) {
        foreignGlobalFarm = _foreignGlobalFarm;
        foreignGlobalFarmChainId = _foreignGlobalFarmChainId;
        IERC20(soy).approve(bridge, type(uint256).max);
    }

    function tokenReceived(address _from, uint256 _amount, bytes memory _data) external
    {
        require(msg.sender == soy && _from == globalFarm, "sender is not allowed");
    }

    function notifyRewardAmount(uint256 reward) external
    {
        require (msg.sender == globalFarm, "Only globalFarm");
        IBridge(bridge).depositTokens(foreignGlobalFarm, soy, reward, foreignGlobalFarmChainId);
        emit RewardAdded(reward);
    }

    function claim() external {
        require(ISimplifiedGlobalFarm(globalFarm).rewardMintingAvailable(address(this)), "Reward not available");
        ISimplifiedGlobalFarm(globalFarm).mintFarmingReward(address(this));
    }
}
        

Contract ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_foreignGlobalFarm","internalType":"address"},{"type":"uint256","name":"_foreignGlobalFarmChainId","internalType":"uint256"}]},{"type":"event","name":"RewardAdded","inputs":[{"type":"uint256","name":"reward","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"bridge","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"claim","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"foreignGlobalFarm","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"foreignGlobalFarmChainId","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"globalFarm","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"lastRewardTimestamp","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"notifyRewardAmount","inputs":[{"type":"uint256","name":"reward","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"soy","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"tokenReceived","inputs":[{"type":"address","name":"_from","internalType":"address"},{"type":"uint256","name":"_amount","internalType":"uint256"},{"type":"bytes","name":"_data","internalType":"bytes"}]}]
              

Contract Creation Code

Verify & Publish
0x6080604052600080546001600160a01b0319908116739fae2529863bd691b4a7171bdfcf33c7ebb10a6517909155600180548216739a1fc8c0369d49f3040bf49c1490e7006657ea56179055600280549091167364fa36acd0d13472fd786b03afc9c52ad5fcf02317905534801561007657600080fd5b5060405161070b38038061070b83398101604081905261009591610146565b600380546001600160a01b0319166001600160a01b0384811691909117909155600482815560005460015460405163095ea7b360e01b81529084169281019290925260001960248301529091169063095ea7b390604401602060405180830381600087803b15801561010657600080fd5b505af115801561011a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061013e9190610180565b5050506101a9565b6000806040838503121561015957600080fd5b82516001600160a01b038116811461017057600080fd5b6020939093015192949293505050565b60006020828403121561019257600080fd5b815180151581146101a257600080fd5b9392505050565b610553806101b86000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80634f3a1ff8116100665780634f3a1ff8146100fc5780638943ec021461010f578063daa3a33114610122578063e78cea9214610135578063f8077fae1461014857600080fd5b806339e1be0e146100985780633c6b16ab146100c8578063424de00d146100dd5780634e71d92d146100f4575b600080fd5b6000546100ab906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100db6100d63660046104ee565b610151565b005b6100e660045481565b6040519081526020016100bf565b6100db61025f565b6002546100ab906001600160a01b031681565b6100db61011d3660046103ec565b61037c565b6003546100ab906001600160a01b031681565b6001546100ab906001600160a01b031681565b6100e660055481565b6002546001600160a01b031633146101a25760405162461bcd60e51b815260206004820152600f60248201526e4f6e6c7920676c6f62616c4661726d60881b60448201526064015b60405180910390fd5b6001546003546000546004805460405163487cda0d60e01b81526001600160a01b0394851692810192909252918316602482015260448101859052606481019190915291169063487cda0d90608401600060405180830381600087803b15801561020b57600080fd5b505af115801561021f573d6000803e3d6000fd5b505050507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d8160405161025491815260200190565b60405180910390a150565b60025460405163445c92c560e01b81523060048201526001600160a01b039091169063445c92c59060240160206040518083038186803b1580156102a257600080fd5b505afa1580156102b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102da91906104c5565b61031d5760405162461bcd60e51b8152602060048201526014602482015273526577617264206e6f7420617661696c61626c6560601b6044820152606401610199565b60025460405163032453f160e51b81523060048201526001600160a01b039091169063648a7e2090602401600060405180830381600087803b15801561036257600080fd5b505af1158015610376573d6000803e3d6000fd5b50505050565b6000546001600160a01b0316331480156103a357506002546001600160a01b038481169116145b6103e75760405162461bcd60e51b81526020600482015260156024820152741cd95b99195c881a5cc81b9bdd08185b1b1bddd959605a1b6044820152606401610199565b505050565b60008060006060848603121561040157600080fd5b83356001600160a01b038116811461041857600080fd5b925060208401359150604084013567ffffffffffffffff8082111561043c57600080fd5b818601915086601f83011261045057600080fd5b81358181111561046257610462610507565b604051601f8201601f19908116603f0116810190838211818310171561048a5761048a610507565b816040528281528960208487010111156104a357600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156104d757600080fd5b815180151581146104e757600080fd5b9392505050565b60006020828403121561050057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fdfea26469706673582212205aa30ceba3b803754e9efbd852ed05b9a89092efa4d23cee89288031897f522464736f6c63430008070033000000000000000000000000346984a5a13241daf2587571ce7d86cea77bfb7e000000000000000000000000000000000000000000000000000000000000003d

Deployed ByteCode

0x608060405234801561001057600080fd5b50600436106100935760003560e01c80634f3a1ff8116100665780634f3a1ff8146100fc5780638943ec021461010f578063daa3a33114610122578063e78cea9214610135578063f8077fae1461014857600080fd5b806339e1be0e146100985780633c6b16ab146100c8578063424de00d146100dd5780634e71d92d146100f4575b600080fd5b6000546100ab906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100db6100d63660046104ee565b610151565b005b6100e660045481565b6040519081526020016100bf565b6100db61025f565b6002546100ab906001600160a01b031681565b6100db61011d3660046103ec565b61037c565b6003546100ab906001600160a01b031681565b6001546100ab906001600160a01b031681565b6100e660055481565b6002546001600160a01b031633146101a25760405162461bcd60e51b815260206004820152600f60248201526e4f6e6c7920676c6f62616c4661726d60881b60448201526064015b60405180910390fd5b6001546003546000546004805460405163487cda0d60e01b81526001600160a01b0394851692810192909252918316602482015260448101859052606481019190915291169063487cda0d90608401600060405180830381600087803b15801561020b57600080fd5b505af115801561021f573d6000803e3d6000fd5b505050507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d8160405161025491815260200190565b60405180910390a150565b60025460405163445c92c560e01b81523060048201526001600160a01b039091169063445c92c59060240160206040518083038186803b1580156102a257600080fd5b505afa1580156102b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102da91906104c5565b61031d5760405162461bcd60e51b8152602060048201526014602482015273526577617264206e6f7420617661696c61626c6560601b6044820152606401610199565b60025460405163032453f160e51b81523060048201526001600160a01b039091169063648a7e2090602401600060405180830381600087803b15801561036257600080fd5b505af1158015610376573d6000803e3d6000fd5b50505050565b6000546001600160a01b0316331480156103a357506002546001600160a01b038481169116145b6103e75760405162461bcd60e51b81526020600482015260156024820152741cd95b99195c881a5cc81b9bdd08185b1b1bddd959605a1b6044820152606401610199565b505050565b60008060006060848603121561040157600080fd5b83356001600160a01b038116811461041857600080fd5b925060208401359150604084013567ffffffffffffffff8082111561043c57600080fd5b818601915086601f83011261045057600080fd5b81358181111561046257610462610507565b604051601f8201601f19908116603f0116810190838211818310171561048a5761048a610507565b816040528281528960208487010111156104a357600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156104d757600080fd5b815180151581146104e757600080fd5b9392505050565b60006020828403121561050057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fdfea26469706673582212205aa30ceba3b803754e9efbd852ed05b9a89092efa4d23cee89288031897f522464736f6c63430008070033