Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
**/typechain
**/specification_docs
**/.optyfi-sdk
out

# files
*.env
*.log
Expand Down
18 changes: 15 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "contracts/protocol/earn-protocol-configuration"]
path = contracts/protocol/earn-protocol-configuration
url = git@github.com:Opty-Fi/earn-protocol-configuration.git
[submodule "contracts/protocol/adapters/ethereum/team-defi-adapters"]
path = contracts/protocol/adapters/ethereum/team-defi-adapters
url = git@github.com:Opty-Fi/team-defi-adapters.git
Expand Down Expand Up @@ -43,3 +40,18 @@
[submodule "contracts/protocol/adapters/ethereum/sushiswap-pool-adapter-ethereum"]
path = contracts/protocol/adapters/ethereum/sushiswap-pool-adapter-ethereum
url = git@github.com:Opty-Fi/sushiswap-pool-adapter-ethereum.git
[submodule "lib/ds-test"]
path = lib/ds-test
url = git@github.com:dapphub/ds-test
[submodule "lib/defi-legos"]
path = lib/defi-legos
url = git@github.com:Opty-Fi/defi-legos.git
branch = release-v0.1
[submodule "lib/forge-std"]
path = lib/forge-std
url = git@github.com:foundry-rs/forge-std.git
branch = v0.3
[submodule "contracts/protocol/earn-protocol-configuration"]
path = contracts/protocol/earn-protocol-configuration
url = git@github.com:Opty-Fi/earn-protocol-configuration.git
branch = code-size-fix
15 changes: 15 additions & 0 deletions foundry.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[default]
src = 'contracts'
out = 'out'
libs = ['node_modules','lib']
remappings = [
'@optyfi/defi-legos/=lib/defi-legos/src/',
'forge-std/=lib/forge-std/src/',
'earn-protocol-configuration/=contracts/protocol/earn-protocol-configuration/'
]
optimizer = true
optimizer_runs = 200
test = "test/foundry"
gas_reports = ["*"]

# See more config options https://github.com/gakonst/foundry/tree/master/config
1 change: 1 addition & 0 deletions lib/defi-legos
Submodule defi-legos added at fc557f
1 change: 1 addition & 0 deletions lib/ds-test
Submodule ds-test added at 9310e8
1 change: 1 addition & 0 deletions lib/forge-std
Submodule forge-std added at 9d323e
20 changes: 20 additions & 0 deletions test/foundry/Foo.t.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.12;

import "forge-std/Test.sol";

contract ContractBTest is Test {
uint256 testNumber;

function setUp() public {
testNumber = 42;
}

function testNumberIs42() public {
assertEq(testNumber, 42);
}

function testFailSubtract43() public {
testNumber -= 43;
}
}
33 changes: 33 additions & 0 deletions test/foundry/Vault.t.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.12;

import "forge-std/Test.sol";
import "earn-protocol-configuration/contracts/RegistryProxy.sol";
import "earn-protocol-configuration/contracts/Registry.sol";
import "earn-protocol-configuration/contracts/interfaces/opty/IRegistry.sol";

contract VaultTest is Test {
uint256 testNumber;
RegistryProxy registryProxy;
Registry registry;

function setUp() public {
testNumber = 42;
registryProxy = new RegistryProxy();
registry = new Registry();
registryProxy.setPendingImplementation(address(registry));
registry.become(registryProxy);
}

function testNumberIs42() public {
assertEq(testNumber, 42);
}

function testFailSubtract43() public {
testNumber -= 43;
}

function testGovernanceIsThisAddress() public {
assertEq(IRegistry(address(registryProxy)).getGovernance(), address(this));
}
}