Skip to content

Commit c246cf0

Browse files
committed
WIP on feature/implement-foreign-reserve
1 parent 8cbf1fe commit c246cf0

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

src/ForeignReserveV1.sol

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,21 @@ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Ini
99
import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
1010
import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
1111

12-
contract ForeignReserveV1 is Initializable, OwnableUpgradeable, UUPSUpgradeable, ReentrancyGuardTransientUpgradeable {
12+
import {IForeignReserve} from "./interfaces/IForeignReserve.sol";
13+
14+
contract ForeignReserveV1 is
15+
IForeignReserve,
16+
Initializable,
17+
OwnableUpgradeable,
18+
UUPSUpgradeable,
19+
ReentrancyGuardTransientUpgradeable
20+
{
1321
using Address for address;
1422

15-
event Received(address sender, uint256 amount);
23+
/// @notice Emitted when the contract received native tokens.
24+
/// @param sender The sender of the native token.
25+
/// @param value The native token value.
26+
event NativeTokenReceived(address sender, uint256 value);
1627

1728
/// @custom:oz-upgrades-unsafe-allow constructor
1829
constructor() {
@@ -35,6 +46,7 @@ contract ForeignReserveV1 is Initializable, OwnableUpgradeable, UUPSUpgradeable,
3546
function execute(address target, uint256 value, bytes calldata data)
3647
external
3748
payable
49+
override
3850
onlyOwner
3951
nonReentrant
4052
returns (bytes memory result)
@@ -46,8 +58,8 @@ contract ForeignReserveV1 is Initializable, OwnableUpgradeable, UUPSUpgradeable,
4658
/// @param newImplementation The new implementation.
4759
function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
4860

49-
/// @notice Emits an event if native tokens are deposited.
61+
/// @notice Emits an event if native tokens are received.
5062
receive() external payable {
51-
emit Received(msg.sender, msg.value);
63+
emit NativeTokenReceived(msg.sender, msg.value);
5264
}
5365
}

src/interfaces/IForeignReserve.sol

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// SPDX-License-Identifier: AGPL-3.0-or-later
2+
pragma solidity ^0.8.30;
3+
4+
interface IForeignReserve {
5+
function execute(address target, uint256 value, bytes calldata data)
6+
external
7+
payable
8+
returns (bytes memory result);
9+
}

0 commit comments

Comments
 (0)