Contract 0x9809fB94eED086F9529df00d6f125Bf25Ee84A93 3

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xf5768b0319d148f177a55734cb3f45a5d0c9888ca2bbbff85ef706159a5a265fRedeem WEVE428774792022-07-16 8:39:4480 days 20 hrs ago0x3e48b26dd0725746f9cdc023c96f518eab7bcda9 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9310 FTM0.000300213442
0x4a812549a385104a2394a52286721594b0993519000102fdf427e5ae4c38f16bRedeem WEVE428771762022-07-16 8:34:1880 days 20 hrs ago0x3e48b26dd0725746f9cdc023c96f518eab7bcda9 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a934 FTM0.000283512
0x1083e5204a3bdee136af7fd9561778e22c6f75dad6fa4572630f5713cff2ab54Redeem WEVE428767052022-07-16 8:25:5480 days 21 hrs ago0x3e48b26dd0725746f9cdc023c96f518eab7bcda9 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9320 FTM0.000199998024
0xb40960475e67a4418eb7bafacd95c31464985ef14bd6da7e30d455d3cc6b25bfRedeem WEVE428763422022-07-16 8:19:3180 days 21 hrs ago0x3e48b26dd0725746f9cdc023c96f518eab7bcda9 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9320 FTM0.000209949504
0x83c096b4a9a3bb553a31e0d51c5137caec5a1125d0e2010b2831607383e66841Redeem WEVE428759272022-07-16 8:11:4480 days 21 hrs ago0x3e48b26dd0725746f9cdc023c96f518eab7bcda9 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9320 FTM0.000425268
0x991936c8a193da1bdbff77432a62fc9a317b2e2b59d7cdc32cf61250c20cac4dRedeem WEVE428755962022-07-16 8:04:2380 days 21 hrs ago0x3e48b26dd0725746f9cdc023c96f518eab7bcda9 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9320 FTM0.00051756
0x0a7a0ed3933bdbf882ad3987565952422dc86b64b432b832d3b3427fe61b62c5Redeem WEVE428553632022-07-16 1:46:4181 days 3 hrs ago0x0ce2f37534583abe28d328f09bd0b938ccac976d IN  0x9809fb94eed086f9529df00d6f125bf25ee84a934 FTM0.001026811124
0x63440e288ff5c49ca9233f42bc5ac513775c59ec7df0bfa9e6cc5f1759c8c767Redeem WEVE428214112022-07-15 14:18:4881 days 15 hrs ago0xfda5a361f3c67ebfed328f3a9e95bd275734e675 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9320 FTM0.109674879379
0x1a9e8e1ee16f0c7aaf8d6b05a5bbd6c5e2ec8cf120d22471fd6102f231590250Redeem WEVE417107342022-06-30 18:59:0596 days 10 hrs ago0xe4da8809f9a6d8ffc92f303d2c30bb7a4a788e5d IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9312.959088856938822 FTM0.0130354
0x8ba373a40a330e501f1b8f9864d047d4c691a6c47531c9b3631f0b1638f40371Redeem WEVE417013732022-06-30 16:04:3096 days 13 hrs ago0x71d999c9f5e653760f7bc450f23cd0520eb62836 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9319.101283278359706 FTM0.0242237
0xe805047f8f996d426332e25d6b190598e48b5312d12a51e79c668a608960d7dbRedeem WEVE417011142022-06-30 16:00:0196 days 13 hrs ago0x71d999c9f5e653760f7bc450f23cd0520eb62836 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9316.351709933022084 FTM0.0130354
0xdf51b1f9dfe353ebe4c3d4b8509ea73e6a7e267968c95fdf5999bceab764dd53Redeem WEVE417009622022-06-30 15:57:3096 days 13 hrs ago0x71d999c9f5e653760f7bc450f23cd0520eb62836 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9312.48445648316528 FTM0.0130354
0xf773c2fc64329ad42db160b8cc9bf3e25980aabd8885f35d24efe813bb046044Redeem WEVE417009062022-06-30 15:56:3396 days 13 hrs ago0x71d999c9f5e653760f7bc450f23cd0520eb62836 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9312.48445648316528 FTM0.0130354
0x150637b623adb80e15cb08d209d88ec82a0b4aaa6efb7f7d591d007b18bcb43eRedeem WEVE416869382022-06-30 11:32:1996 days 17 hrs ago0x69794735ca88de2ec2426fb20f416fa00f64ad37 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9310.109612532617883 FTM0.0130354
0xad40020a0c1bc9d15b0aec209fcea3023d70c05abb591ddb655d458dbfbedf4eRedeem WEVE416482322022-06-29 23:20:1897 days 6 hrs ago0x69794735ca88de2ec2426fb20f416fa00f64ad37 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9315.251852715117174 FTM0.0130354
0x6de73a8a6dd5dc59c1f4877e7ccbde64570c9a56067db0c630957b773ac87024Redeem WEVE416482132022-06-29 23:19:5997 days 6 hrs ago0x69794735ca88de2ec2426fb20f416fa00f64ad37 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9315.251852715117174 FTM0.0130354
0x79130a1094072f417c8760cd21200a151e623fa5a453a11e369bd9b6ec460a49Redeem WEVE416479062022-06-29 23:14:4897 days 6 hrs ago0x69794735ca88de2ec2426fb20f416fa00f64ad37 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9310.00626241771544 FTM0.0130354
0x23132466a8f7f44ed542d8ae1688ec3f3d8fbf14f84ff8c2f0a6eea1c0c3ccbaRedeem WEVE416360262022-06-29 19:24:5297 days 10 hrs ago0x363c6afd7138b12b676dbce98508da8faf6b68ca IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9333.020550807399363 FTM0.0130354
0xe279adc33fc302f430adfb1c49b6c96bf41e102a8f1c45f1d54608e8a5ffa688Redeem WEVE416359252022-06-29 19:22:5997 days 10 hrs ago0x363c6afd7138b12b676dbce98508da8faf6b68ca IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9337.292604695099898 FTM0.0130354
0xfb6c7722fbf6d969a338dc6a738bd5dd74caf87652a6604cdcedc5e694be9ce6Redeem WEVE416358882022-06-29 19:22:0997 days 10 hrs ago0x363c6afd7138b12b676dbce98508da8faf6b68ca IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9337.292604695099898 FTM0.0130354
0xd52344506a27bc1ffff6e24aa7b5110034b818a07c49e702a45a8a2e92551d80Redeem WEVE416358302022-06-29 19:21:0497 days 10 hrs ago0x363c6afd7138b12b676dbce98508da8faf6b68ca IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9337.292604695099898 FTM0.0130354
0x71f80e1d508946aa53ffbb3d89780641c1bb9781a90b1d0f3406f83c05b15fc0Redeem WEVE415580422022-06-28 18:54:4698 days 10 hrs ago0x67c155669ac3e11e1e19a4756fdf6a05164e9226 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9310.796133021846815 FTM0.0247037
0xa9cedc459302914e70514ceb53f276c5511be9a588f4af7889fa64dd59551ba3Redeem WEVE415568962022-06-28 18:33:1298 days 10 hrs ago0x67c155669ac3e11e1e19a4756fdf6a05164e9226 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9312.224167786233818 FTM0.003207661081
0x6f34d14fd622ace4a1fd094be2c8d6430f9c3d6944b6fa4505f096a51ea58476Redeem WEVE415563132022-06-28 18:22:5098 days 11 hrs ago0x67c155669ac3e11e1e19a4756fdf6a05164e9226 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9313.74040571054315 FTM0.021408230638
0x051147ca533b53c28c4dd0bf80b225a41805cfa2bccb76a409a3594903262f81Redeem WEVE415561462022-06-28 18:18:4698 days 11 hrs ago0x67c155669ac3e11e1e19a4756fdf6a05164e9226 IN  0x9809fb94eed086f9529df00d6f125bf25ee84a9313.74040571054315 FTM0.0130354
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xf5768b0319d148f177a55734cb3f45a5d0c9888ca2bbbff85ef706159a5a265f428774792022-07-16 8:39:4480 days 20 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint10 FTM
0x0a7a0ed3933bdbf882ad3987565952422dc86b64b432b832d3b3427fe61b62c5428553632022-07-16 1:46:4181 days 3 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint4 FTM
0x63440e288ff5c49ca9233f42bc5ac513775c59ec7df0bfa9e6cc5f1759c8c767428214112022-07-15 14:18:4881 days 15 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint20 FTM
0x8ba373a40a330e501f1b8f9864d047d4c691a6c47531c9b3631f0b1638f40371417013732022-06-30 16:04:3096 days 13 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint19.10128327835970648 FTM
0x71f80e1d508946aa53ffbb3d89780641c1bb9781a90b1d0f3406f83c05b15fc0415580422022-06-28 18:54:4698 days 10 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint10.796133021846815055 FTM
0x3532f85d071c7cd297dd751404fd27b441ad5254cf98051556b6ea6083374fb6415479692022-06-28 15:51:3198 days 13 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint14.475045638719293462 FTM
0xaf895ab7ad0ea111f9819b6faae453f69d8b6cfc24abef9ba67f08e17a8a271a415454002022-06-28 15:03:1298 days 14 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint9.583707738510732315 FTM
0xbf8ee3a7a8b17182887c9526189f5030c55a3a661a4086ce2fbb721545912cd1415297422022-06-28 10:09:5398 days 19 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint8.479520942553877864 FTM
0xb1989ff52ad51a110f9ba34e977f78a5fc1ab49a1c9465522813b2cd3b9faacd414148212022-06-26 22:47:26100 days 6 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint12.552175117137907731 FTM
0xb2e4a1fbdfc829348def7fef00f812df472341b369fee94f4374c968222c5b88414124502022-06-26 21:58:17100 days 7 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint6.882180098444254457 FTM
0x8ec38d3ba7ee8d08d043638531dde19e5068a970792a9381e8ffae8e65eaf27c414056072022-06-26 19:57:40100 days 9 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint15.332994246481528796 FTM
0xe8ed4a59cb9389f66ea044b967d8621b977d7b4650e280386246e238a3967934413058722022-06-25 13:34:18101 days 15 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint9.848313744698758529 FTM
0xeabb13f2884928c3f78ed3079199f3abed633b6c7fe9910f028346be06ece844412501842022-06-24 20:05:03102 days 9 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint17.561722061117674569 FTM
0x8abd8913df635f2c0dcffa82d842d60e04381974dc1500b4a453b649d511380c410348582022-06-21 21:55:15105 days 7 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint15 FTM
0xdbe1b885f4418e5d9e5cb79d9ea1d369d5f0262f35986b1d7d828f77bb6db1ae410239722022-06-21 18:18:28105 days 11 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint15.849978082877715136 FTM
0x2ffd4fe6a00931860be02672c1e152e8e194913924c9e5614045cdc8fdeefe6f410138542022-06-21 15:00:37105 days 14 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint18.761082715737896593 FTM
0x7db7d2bac69f3c1ad0cb9f4075d3bd0e030176295f69cfba5b6d14fb1bb449c3409534512022-06-20 18:49:53106 days 10 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint30 FTM
0xade8712ed9c912c147eecf82d0451ad2edd9550827a804dde09f319973836b1b409389542022-06-20 14:01:49106 days 15 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint10.030162993132986695 FTM
0xffee8c1205f9395d2a18cc9e891f79f0c6c5b8b2cc26a1a444d345e749b831a1408778342022-06-19 17:48:07107 days 11 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint6.807438120678779636 FTM
0x9bdbe15676543468563333e63d565856e121c99fb241d49af4ca17de0f59f041408066152022-06-18 18:58:16108 days 10 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint26.153433553455926708 FTM
0xef13fa870c4395cb2a6a9cebca1573ea7a3c70572189ae7105f2f45343e39e2c407982192022-06-18 15:53:05108 days 13 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint11.725761098219717623 FTM
0x720121db11417523a66ac31dc9674df369f8cd75a899f00310f7261ba157d6d2407818452022-06-18 10:30:56108 days 18 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint10.651401535589036345 FTM
0x047317995c33107074ec753e43feed93653340f318db5c36300aa1dc4701b922407243512022-06-17 15:06:55109 days 14 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint30 FTM
0x8686eb74d3630cce705dc824d8565a49aa08ec7bd2c091577ad0e612ab1ef61b406840432022-06-17 1:50:53110 days 3 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint17.333340732299003488 FTM
0xa746a7e9014a89e844bdec3448ff0ff0fc54df62ea1db94003f63f01d8214637406376982022-06-16 9:48:29110 days 19 hrs ago 0x9809fb94eed086f9529df00d6f125bf25ee84a93 LayerZero: Fantom Endpoint14.50815594084630589 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RedemptionSender

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at FtmScan.com on 2022-06-01
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

interface ILayerZeroUserApplicationConfig {
    // @notice set the configuration of the LayerZero messaging library of the specified version
    // @param _version - messaging library version
    // @param _chainId - the chainId for the pending config change
    // @param _configType - type of configuration. every messaging library has its own convention.
    // @param _config - configuration in the bytes. can encode arbitrary content.
    function setConfig(uint16 _version, uint16 _chainId, uint _configType, bytes calldata _config) external;

    // @notice set the send() LayerZero messaging library version to _version
    // @param _version - new messaging library version
    function setSendVersion(uint16 _version) external;

    // @notice set the lzReceive() LayerZero messaging library version to _version
    // @param _version - new messaging library version
    function setReceiveVersion(uint16 _version) external;

    // @notice Only when the UA needs to resume the message flow in blocking mode and clear the stored payload
    // @param _srcChainId - the chainId of the source chain
    // @param _srcAddress - the contract address of the source contract at the source chain
    function forceResumeReceive(uint16 _srcChainId, bytes calldata _srcAddress) external;
}

interface ILayerZeroEndpoint is ILayerZeroUserApplicationConfig {
    // @notice send a LayerZero message to the specified address at a LayerZero endpoint.
    // @param _dstChainId - the destination chain identifier
    // @param _destination - the address on destination chain (in bytes). address length/format may vary by chains
    // @param _payload - a custom bytes payload to send to the destination contract
    // @param _refundAddress - if the source transaction is cheaper than the amount of value passed, refund the additional amount to this address
    // @param _zroPaymentAddress - the address of the ZRO token holder who would pay for the transaction
    // @param _adapterParams - parameters for custom functionality. e.g. receive airdropped native gas from the relayer on destination
    function send(uint16 _dstChainId, bytes calldata _destination, bytes calldata _payload, address payable _refundAddress, address _zroPaymentAddress, bytes calldata _adapterParams) external payable;

    // @notice used by the messaging library to publish verified payload
    // @param _srcChainId - the source chain identifier
    // @param _srcAddress - the source contract (as bytes) at the source chain
    // @param _dstAddress - the address on destination chain
    // @param _nonce - the unbound message ordering nonce
    // @param _gasLimit - the gas limit for external contract execution
    // @param _payload - verified payload to send to the destination contract
    function receivePayload(uint16 _srcChainId, bytes calldata _srcAddress, address _dstAddress, uint64 _nonce, uint _gasLimit, bytes calldata _payload) external;

    // @notice get the inboundNonce of a receiver from a source chain which could be EVM or non-EVM chain
    // @param _srcChainId - the source chain identifier
    // @param _srcAddress - the source chain contract address
    function getInboundNonce(uint16 _srcChainId, bytes calldata _srcAddress) external view returns (uint64);

    // @notice get the outboundNonce from this source chain which, consequently, is always an EVM
    // @param _srcAddress - the source chain contract address
    function getOutboundNonce(uint16 _dstChainId, address _srcAddress) external view returns (uint64);

    // @notice gets a quote in source native gas, for the amount that send() requires to pay for message delivery
    // @param _dstChainId - the destination chain identifier
    // @param _userApplication - the user app address on this EVM chain
    // @param _payload - the custom message to send over LayerZero
    // @param _payInZRO - if false, user app pays the protocol fee in native token
    // @param _adapterParam - parameters for the adapter service, e.g. send some dust native token to dstChain
    function estimateFees(uint16 _dstChainId, address _userApplication, bytes calldata _payload, bool _payInZRO, bytes calldata _adapterParam) external view returns (uint nativeFee, uint zroFee);

    // @notice get this Endpoint's immutable source identifier
    function getChainId() external view returns (uint16);

    // @notice the interface to retry failed message on this Endpoint destination
    // @param _srcChainId - the source chain identifier
    // @param _srcAddress - the source chain contract address
    // @param _payload - the payload to be retried
    function retryPayload(uint16 _srcChainId, bytes calldata _srcAddress, bytes calldata _payload) external;

    // @notice query if any STORED payload (message blocking) at the endpoint.
    // @param _srcChainId - the source chain identifier
    // @param _srcAddress - the source chain contract address
    function hasStoredPayload(uint16 _srcChainId, bytes calldata _srcAddress) external view returns (bool);

    // @notice query if the _libraryAddress is valid for sending msgs.
    // @param _userApplication - the user app address on this EVM chain
    function getSendLibraryAddress(address _userApplication) external view returns (address);

    // @notice query if the _libraryAddress is valid for receiving msgs.
    // @param _userApplication - the user app address on this EVM chain
    function getReceiveLibraryAddress(address _userApplication) external view returns (address);

    // @notice query if the non-reentrancy guard for send() is on
    // @return true if the guard is on. false otherwise
    function isSendingPayload() external view returns (bool);

    // @notice query if the non-reentrancy guard for receive() is on
    // @return true if the guard is on. false otherwise
    function isReceivingPayload() external view returns (bool);

    // @notice get the configuration of the LayerZero messaging library of the specified version
    // @param _version - messaging library version
    // @param _chainId - the chainId for the pending config change
    // @param _userApplication - the contract address of the user application
    // @param _configType - type of configuration. every messaging library has its own convention.
    function getConfig(uint16 _version, uint16 _chainId, address _userApplication, uint _configType) external view returns (bytes memory);

    // @notice get the send() LayerZero messaging library version
    // @param _userApplication - the contract address of the user application
    function getSendVersion(address _userApplication) external view returns (uint16);

    // @notice get the lzReceive() LayerZero messaging library version
    // @param _userApplication - the contract address of the user application
    function getReceiveVersion(address _userApplication) external view returns (uint16);
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function transfer(address recipient, uint amount) external returns (bool);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function balanceOf(address) external view returns (uint);
    function transferFrom(address sender, address recipient, uint amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

/// @notice Part 1 of 2 in the WeVE (FTM) -> USDC + VELO (OP) redemption process
/// This contract is responsible for burning WeVE and sending the LZ message
contract RedemptionSender {
    address public immutable weve;
    uint256 public constant ELIGIBLE_WEVE = 375112540 * 1e18;
    uint256 public redeemedWEVE;
    uint16 public immutable optimismChainId; // 11 for OP, 10011 for OP Kovan
    address public immutable endpoint;
    address public immutable optimismReceiver;

    event SubmittedClaim(uint256 amount, uint64 indexed lzeNonce);

    constructor(
        address _weve,
        uint16 _optimismChainId,
        address _endpoint,
        address _optimismReceiver
    ) {
        require(_optimismChainId == 11 || _optimismChainId == 10011, "CHAIN_ID_NOT_OP");
        weve = _weve;
        optimismChainId = _optimismChainId;
        endpoint = _endpoint;
        optimismReceiver = _optimismReceiver;
    }

    function estimateLayerZeroFee() public view returns (uint256 ftm, uint256 lzo) {
        (ftm, lzo) = ILayerZeroEndpoint(endpoint).estimateFees(
            optimismChainId,
            address(this),
            abi.encode(msg.sender, 42690),
            false,
            bytes("")
        );
    }

    function redeemWEVE(
        uint256 amount,
        address zroPaymentAddress,
        bytes memory zroTransactionParams
    ) public payable {
        require(amount != 0, "AMOUNT_ZERO");
        require(
            (redeemedWEVE += amount) <= ELIGIBLE_WEVE,
            "cannot redeem more than eligible"
        );
        require(
            IERC20(weve).transferFrom(
                msg.sender,
                0x000000000000000000000000000000000000dEaD,
                amount
            ),
            "WEVE: TRANSFER_FAILED"
        );

        ILayerZeroEndpoint(endpoint).send{value: msg.value}(
            optimismChainId,
            abi.encodePacked(optimismReceiver),
            abi.encode(msg.sender, amount),
            payable(msg.sender),
            zroPaymentAddress,
            zroTransactionParams
        );

        uint64 nonce = ILayerZeroEndpoint(endpoint).getOutboundNonce(
            optimismChainId,
            address(this)
        );

        emit SubmittedClaim(amount, nonce);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_weve","type":"address"},{"internalType":"uint16","name":"_optimismChainId","type":"uint16"},{"internalType":"address","name":"_endpoint","type":"address"},{"internalType":"address","name":"_optimismReceiver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint64","name":"lzeNonce","type":"uint64"}],"name":"SubmittedClaim","type":"event"},{"inputs":[],"name":"ELIGIBLE_WEVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endpoint","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"estimateLayerZeroFee","outputs":[{"internalType":"uint256","name":"ftm","type":"uint256"},{"internalType":"uint256","name":"lzo","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"optimismChainId","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"optimismReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"zroPaymentAddress","type":"address"},{"internalType":"bytes","name":"zroTransactionParams","type":"bytes"}],"name":"redeemWEVE","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"redeemedWEVE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weve","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

61010060405234801561001157600080fd5b50604051610af2380380610af2833981016040819052610030916100cb565b8261ffff16600b148061004857508261ffff1661271b145b61008a5760405162461bcd60e51b815260206004820152600f60248201526e0434841494e5f49445f4e4f545f4f5608c1b604482015260640160405180910390fd5b6001600160a01b0393841660805261ffff90921660a052821660c0521660e052610128565b80516001600160a01b03811681146100c657600080fd5b919050565b600080600080608085870312156100e157600080fd5b6100ea856100af565b9350602085015161ffff8116811461010157600080fd5b925061010f604086016100af565b915061011d606086016100af565b905092959194509250565b60805160a05160c05160e05161095a61019860003960008181610107015261039b01526000818160920152818161040f015281816104e601526105e30152600081816101ce01528181610446015281816104b5015261061801526000818161013b01526102dc015261095a6000f3fe60806040526004361061007b5760003560e01c806397a9674e1161004e57806397a9674e1461015d578063aaa8f2ef14610172578063dadc481414610192578063dcf8ed7f146101bc57600080fd5b80635e280f11146100805780636bfd23a7146100d15780637322525b146100f557806377bc0e3114610129575b600080fd5b34801561008c57600080fd5b506100b47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100dd57600080fd5b506100e760005481565b6040519081526020016100c8565b34801561010157600080fd5b506100b47f000000000000000000000000000000000000000000000000000000000000000081565b34801561013557600080fd5b506100b47f000000000000000000000000000000000000000000000000000000000000000081565b61017061016b3660046106a6565b610203565b005b34801561017e57600080fd5b506100e76b0136492b8a2b999d53f0000081565b34801561019e57600080fd5b506101a76105a7565b604080519283526020830191909152016100c8565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff90911681526020016100c8565b826000036102465760405162461bcd60e51b815260206004820152600b60248201526a414d4f554e545f5a45524f60a81b60448201526064015b60405180910390fd5b6b0136492b8a2b999d53f0000083600080828254610264919061077f565b92505081905511156102b85760405162461bcd60e51b815260206004820181905260248201527f63616e6e6f742072656465656d206d6f7265207468616e20656c696769626c65604482015260640161023d565b6040516323b872dd60e01b815233600482015261dead6024820152604481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af115801561032d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035191906107a5565b6103955760405162461bcd60e51b815260206004820152601560248201527415d155914e881514905394d1915497d19052531151605a1b604482015260640161023d565b604080517f000000000000000000000000000000000000000000000000000000000000000060601b6bffffffffffffffffffffffff19166020820152815160148183030181526034820183523360548301819052607480840188905284518085039091018152609484019485905262c5803160e81b9094527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169363c5803100933493610474937f00000000000000000000000000000000000000000000000000000000000000009391928a908a9060980161081b565b6000604051808303818588803b15801561048d57600080fd5b505af11580156104a1573d6000803e3d6000fd5b5050604051630f428ae960e31b815261ffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152306024820152600093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169250637a1457489150604401602060405180830381865afa158015610537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055b9190610882565b90508067ffffffffffffffff167fef87f81e0f9eaa24bcc7f257d0b383a52ff9cbaf82655895cdc2ebe575f7bf318560405161059991815260200190565b60405180910390a250505050565b6040805133602082015261a6c28183015281518082038301815260808201835260006060909201828152925163040a7bb160e41b8152919283927f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316926340a7bb1092610647927f000000000000000000000000000000000000000000000000000000000000000092309290918891906004016108ac565b6040805180830381865afa158015610663573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106879190610900565b90939092509050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156106bb57600080fd5b8335925060208401356001600160a01b03811681146106d957600080fd5b9150604084013567ffffffffffffffff808211156106f657600080fd5b818601915086601f83011261070a57600080fd5b81358181111561071c5761071c610690565b604051601f8201601f19908116603f0116810190838211818310171561074457610744610690565b8160405282815289602084870101111561075d57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600082198211156107a057634e487b7160e01b600052601160045260246000fd5b500190565b6000602082840312156107b757600080fd5b815180151581146107c757600080fd5b9392505050565b6000815180845260005b818110156107f4576020818501810151868301820152016107d8565b81811115610806576000602083870101525b50601f01601f19169290920160200192915050565b61ffff8716815260c06020820152600061083860c08301886107ce565b828103604084015261084a81886107ce565b6001600160a01b0387811660608601528616608085015283810360a0850152905061087581856107ce565b9998505050505050505050565b60006020828403121561089457600080fd5b815167ffffffffffffffff811681146107c757600080fd5b61ffff861681526001600160a01b038516602082015260a0604082018190526000906108da908301866107ce565b841515606084015282810360808401526108f481856107ce565b98975050505050505050565b6000806040838503121561091357600080fd5b50508051602090910151909290915056fea2646970667358221220d9b2b0eb857bdcbcfb07557b78a5d46ca758ab650fc65fefc87cd058c41a2a8b64736f6c634300080d0033000000000000000000000000911da02c1232a3c3e1418b834a311921143b04d7000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7000000000000000000000000846e822e9a00669dcc647079d7d625d2cd25a951

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000911da02c1232a3c3e1418b834a311921143b04d7000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7000000000000000000000000846e822e9a00669dcc647079d7d625d2cd25a951

-----Decoded View---------------
Arg [0] : _weve (address): 0x911da02c1232a3c3e1418b834a311921143b04d7
Arg [1] : _optimismChainId (uint16): 11
Arg [2] : _endpoint (address): 0xb6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7
Arg [3] : _optimismReceiver (address): 0x846e822e9a00669dcc647079d7d625d2cd25a951

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000911da02c1232a3c3e1418b834a311921143b04d7
Arg [1] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [2] : 000000000000000000000000b6319cc6c8c27a8f5daf0dd3df91ea35c4720dd7
Arg [3] : 000000000000000000000000846e822e9a00669dcc647079d7d625d2cd25a951


Deployed ByteCode Sourcemap

7980:2179:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8225:33;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;8225:33:0;;;;;;;;8112:27;;;;;;;;;;;;;;;;;;;368:25:1;;;356:2;341:18;8112:27:0;222:177:1;8265:41:0;;;;;;;;;;;;;;;8013:29;;;;;;;;;;;;;;;9095:1061;;;;;;:::i;:::-;;:::i;:::-;;8049:56;;;;;;;;;;;;8089:16;8049:56;;8778:309;;;;;;;;;;;;;:::i;:::-;;;;1878:25:1;;;1934:2;1919:18;;1912:34;;;;1851:18;8778:309:0;1704:248:1;8146:39:0;;;;;;;;;;;;;;;;;;2131:6:1;2119:19;;;2101:38;;2089:2;2074:18;8146:39:0;1957:188:1;9095:1061:0;9261:6;9271:1;9261:11;9253:35;;;;-1:-1:-1;;;9253:35:0;;2352:2:1;9253:35:0;;;2334:21:1;2391:2;2371:18;;;2364:30;-1:-1:-1;;;2410:18:1;;;2403:41;2461:18;;9253:35:0;;;;;;;;;8089:16;9338:6;9322:12;;:22;;;;;;;:::i;:::-;;;;;;;9321:41;;9299:123;;;;-1:-1:-1;;;9299:123:0;;2922:2:1;9299:123:0;;;2904:21:1;;;2941:18;;;2934:30;3000:34;2980:18;;;2973:62;3052:18;;9299:123:0;2720:356:1;9299:123:0;9455:155;;-1:-1:-1;;;9455:155:0;;9499:10;9455:155;;;3321:34:1;9528:42:0;3371:18:1;;;3364:43;3423:18;;;3416:34;;;9462:4:0;-1:-1:-1;;;;;9455:25:0;;;;3256:18:1;;9455:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9433:226;;;;-1:-1:-1;;;9433:226:0;;3945:2:1;9433:226:0;;;3927:21:1;3984:2;3964:18;;;3957:30;-1:-1:-1;;;4003:18:1;;;3996:51;4064:18;;9433:226:0;3743:345:1;9433:226:0;9768:34;;;9785:16;4242:2:1;4238:15;-1:-1:-1;;4234:53:1;9768:34:0;;;4222:66:1;9768:34:0;;;;;;;;;4304:12:1;;;9768:34:0;;9828:10;9817:30;;;4501:51:1;;;4568:18;;;;4561:34;;;9817:30:0;;;;;;;;;;4474:18:1;;;9817:30:0;;;;-1:-1:-1;;;9672:287:0;;;9691:8;-1:-1:-1;;;;;9672:33:0;;;;9713:9;;9672:287;;9738:15;;9768:34;;9896:17;;9928:20;;9672:287;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9987:114:0;;-1:-1:-1;;;9987:114:0;;6126:6:1;10047:15:0;6114:19:1;9987:114:0;;;6096:38:1;10085:4:0;6150:18:1;;;6143:60;9972:12:0;;-1:-1:-1;10006:8:0;-1:-1:-1;;;;;9987:45:0;;-1:-1:-1;9987:45:0;;-1:-1:-1;6069:18:1;;9987:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9972:129;;10142:5;10119:29;;;10134:6;10119:29;;;;368:25:1;;356:2;341:18;;222:177;10119:29:0;;;;;;;;9242:914;9095:1061;;;:::o;8778:309::-;8995:29;;;9006:10;8995:29;;;6692:51:1;9018:5:0;6759:18:1;;;6752:47;8995:29:0;;;;;;;;;9059:9;;;;;-1:-1:-1;6665:18:1;;;;9059:9:0;;;8881:198;;-1:-1:-1;;;8881:198:0;;-1:-1:-1;;;;8900:8:0;-1:-1:-1;;;;;8881:41:0;;;;:198;;8937:15;;8975:4;;8995:29;;-1:-1:-1;;6665:18:1;8881:198:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8868:211;;;;-1:-1:-1;8778:309:0;-1:-1:-1;8778:309:0:o;404:127:1:-;465:10;460:3;456:20;453:1;446:31;496:4;493:1;486:15;520:4;517:1;510:15;536:1163;622:6;630;638;691:2;679:9;670:7;666:23;662:32;659:52;;;707:1;704;697:12;659:52;730:23;;;-1:-1:-1;803:2:1;788:18;;775:32;-1:-1:-1;;;;;836:31:1;;826:42;;816:70;;882:1;879;872:12;816:70;905:5;-1:-1:-1;961:2:1;946:18;;933:32;984:18;1014:14;;;1011:34;;;1041:1;1038;1031:12;1011:34;1079:6;1068:9;1064:22;1054:32;;1124:7;1117:4;1113:2;1109:13;1105:27;1095:55;;1146:1;1143;1136:12;1095:55;1182:2;1169:16;1204:2;1200;1197:10;1194:36;;;1210:18;;:::i;:::-;1285:2;1279:9;1253:2;1339:13;;-1:-1:-1;;1335:22:1;;;1359:2;1331:31;1327:40;1315:53;;;1383:18;;;1403:22;;;1380:46;1377:72;;;1429:18;;:::i;:::-;1469:10;1465:2;1458:22;1504:2;1496:6;1489:18;1544:7;1539:2;1534;1530;1526:11;1522:20;1519:33;1516:53;;;1565:1;1562;1555:12;1516:53;1621:2;1616;1612;1608:11;1603:2;1595:6;1591:15;1578:46;1666:1;1661:2;1656;1648:6;1644:15;1640:24;1633:35;1687:6;1677:16;;;;;;;536:1163;;;;;:::o;2490:225::-;2530:3;2561:1;2557:6;2554:1;2551:13;2548:136;;;2606:10;2601:3;2597:20;2594:1;2587:31;2641:4;2638:1;2631:15;2669:4;2666:1;2659:15;2548:136;-1:-1:-1;2700:9:1;;2490:225::o;3461:277::-;3528:6;3581:2;3569:9;3560:7;3556:23;3552:32;3549:52;;;3597:1;3594;3587:12;3549:52;3629:9;3623:16;3682:5;3675:13;3668:21;3661:5;3658:32;3648:60;;3704:1;3701;3694:12;3648:60;3727:5;3461:277;-1:-1:-1;;;3461:277:1:o;4606:471::-;4647:3;4685:5;4679:12;4712:6;4707:3;4700:19;4737:1;4747:162;4761:6;4758:1;4755:13;4747:162;;;4823:4;4879:13;;;4875:22;;4869:29;4851:11;;;4847:20;;4840:59;4776:12;4747:162;;;4927:6;4924:1;4921:13;4918:87;;;4993:1;4986:4;4977:6;4972:3;4968:16;4964:27;4957:38;4918:87;-1:-1:-1;5059:2:1;5038:15;-1:-1:-1;;5034:29:1;5025:39;;;;5066:4;5021:50;;4606:471;-1:-1:-1;;4606:471:1:o;5082:837::-;5431:6;5423;5419:19;5408:9;5401:38;5475:3;5470:2;5459:9;5455:18;5448:31;5382:4;5502:45;5542:3;5531:9;5527:19;5519:6;5502:45;:::i;:::-;5595:9;5587:6;5583:22;5578:2;5567:9;5563:18;5556:50;5629:32;5654:6;5646;5629:32;:::i;:::-;-1:-1:-1;;;;;5735:15:1;;;5730:2;5715:18;;5708:43;5788:15;;5782:3;5767:19;;5760:44;5841:22;;;5688:3;5820:19;;5813:51;5615:46;-1:-1:-1;5881:32:1;5615:46;5898:6;5881:32;:::i;:::-;5873:40;5082:837;-1:-1:-1;;;;;;;;;5082:837:1:o;6214:288::-;6283:6;6336:2;6324:9;6315:7;6311:23;6307:32;6304:52;;;6352:1;6349;6342:12;6304:52;6384:9;6378:16;6434:18;6427:5;6423:30;6416:5;6413:41;6403:69;;6468:1;6465;6458:12;6810:640;7091:6;7079:19;;7061:38;;-1:-1:-1;;;;;7135:32:1;;7130:2;7115:18;;7108:60;7155:3;7199:2;7184:18;;7177:31;;;-1:-1:-1;;7231:45:1;;7256:19;;7248:6;7231:45;:::i;:::-;7326:6;7319:14;7312:22;7307:2;7296:9;7292:18;7285:50;7384:9;7376:6;7372:22;7366:3;7355:9;7351:19;7344:51;7412:32;7437:6;7429;7412:32;:::i;:::-;7404:40;6810:640;-1:-1:-1;;;;;;;;6810:640:1:o;7455:245::-;7534:6;7542;7595:2;7583:9;7574:7;7570:23;7566:32;7563:52;;;7611:1;7608;7601:12;7563:52;-1:-1:-1;;7634:16:1;;7690:2;7675:18;;;7669:25;7634:16;;7669:25;;-1:-1:-1;7455:245:1:o

Swarm Source

ipfs://d9b2b0eb857bdcbcfb07557b78a5d46ca758ab650fc65fefc87cd058c41a2a8b
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.