Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/held fee unlocking #71

Closed
wants to merge 621 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
621 commits
Select commit Hold shift + click to select a range
0870bd3
Update contracts/JBPrices.sol
mejango Nov 22, 2023
db3d6ae
accept funds
mejango Nov 22, 2023
9bf18c5
JBPermissions
filipviz Nov 22, 2023
38a26c8
JBPrices
filipviz Nov 22, 2023
6f33308
feat: added ERC2771 support to multiTerminal
xBA5ED Nov 22, 2023
6d512d1
feat: added ERC2771 support to controller and deployment scripts
xBA5ED Nov 22, 2023
ea217a1
feat: added ERC2771 support to splitStore
xBA5ED Nov 22, 2023
e67274f
feat: added ERC2771 support to JBProjects
xBA5ED Nov 22, 2023
a265ce7
touchups
mejango Nov 22, 2023
e642054
formated
mejango Nov 22, 2023
209b297
long errors
mejango Nov 22, 2023
769bc5b
import nit
mejango Nov 22, 2023
7d9785b
splitstore basic cases
simplemachine92 Nov 22, 2023
4718b72
feat: remove ERC2771 from immutable contracts, changed some modifiers…
xBA5ED Nov 22, 2023
453dee9
use where possible
mejango Nov 22, 2023
faf7080
format
mejango Nov 22, 2023
fbb2a78
Merge branch 'feat/multiple-terminal-interfaces' into feat/ERC2771
mejango Nov 22, 2023
b9fa6ce
dependencies for redemption delegate tests and separate the tests
simplemachine92 Nov 23, 2023
443c721
wip redemption delegate tests
simplemachine92 Nov 23, 2023
3945d9f
wip operator store tests
simplemachine92 Nov 23, 2023
3817c74
fix: max supply tokenStore.mintFor (uint208 in OZ)
simon-something Nov 23, 2023
170f4c6
launchproject tests compare entire funding cycle to match
simplemachine92 Nov 23, 2023
db958ec
launchprojects fuzz correction
simplemachine92 Nov 23, 2023
da236ca
testoperator nits correction
simplemachine92 Nov 23, 2023
eddb459
refactor: terminal revert logic
xBA5ED Nov 23, 2023
79610ed
fix: added missing sender check
xBA5ED Nov 23, 2023
a1a9009
redemption delegate progress...?
simplemachine92 Nov 24, 2023
6e52909
failing at burn now..
simplemachine92 Nov 25, 2023
ce548d4
permit2 wip
simplemachine92 Nov 25, 2023
8c6e360
JBFundAccessLimits
filipviz Nov 25, 2023
2077106
dunno
simplemachine92 Nov 25, 2023
feceb68
endlessly looping until block limit
simplemachine92 Nov 25, 2023
0d4fcb2
fix: added recordAddedBalanceFor on distribute fail and found cause o…
xBA5ED Nov 25, 2023
4b10a84
refactor: pick option A
xBA5ED Nov 25, 2023
caec873
fix: infinite loop
xBA5ED Nov 25, 2023
8d34253
permit2 addToBalance fuzzed and cleaned
simplemachine92 Nov 25, 2023
419fa99
some test cleanups
simplemachine92 Nov 26, 2023
a626f3d
more fuzz params and test comment standards from dr.GO
simplemachine92 Nov 26, 2023
52fc9f1
fuzzed terminal pay with permit2
simplemachine92 Nov 26, 2023
b32448b
-
mejango Nov 27, 2023
9fcebd8
file name sync
mejango Nov 27, 2023
6428d3e
Merge branch 'feature/multitoken-terminal-store' into transition/adju…
mejango Nov 27, 2023
9d4fbf4
-
mejango Nov 27, 2023
4302f53
Merge branch 'feature/multitoken-terminal-store' into transition/adju…
mejango Nov 27, 2023
b57f7f4
Merge branch 'transition/adjusted-file-names' into feature/language
mejango Nov 27, 2023
224185d
merged
mejango Nov 27, 2023
2be1a6c
accept funds w/o specifying payer
mejango Nov 27, 2023
680a91b
Merge branch 'feature/multitoken-terminal-store' into feature/multi-t…
mejango Nov 27, 2023
a4e256c
Merge branch 'feature/multitoken-terminal-store' into transition/adju…
mejango Nov 27, 2023
1882050
merged small
mejango Nov 27, 2023
12a309b
Merge branch 'feature/multitoken-terminal-store' into feat/multiple-t…
mejango Nov 27, 2023
09206e0
merged small
mejango Nov 27, 2023
e243496
Merge branch 'feat/ERC2771' into refactor/terminal-revert-logic
mejango Nov 27, 2023
4651881
JBDirectory
filipviz Nov 27, 2023
557a58c
refactor: minor change in permit2 flow
xBA5ED Nov 27, 2023
ead7cbb
refactor: modified arguments
xBA5ED Nov 27, 2023
de35930
Merge branch 'refactor/terminal-revert-logic' of github.com:Bananapus…
xBA5ED Nov 27, 2023
9896947
Pay/redeem hooks. Some of JBTerminalStore.
filipviz Nov 27, 2023
f293c2c
test syntax fix
mejango Nov 27, 2023
728c675
feat: improved support for fees in multiple tokens
xBA5ED Nov 27, 2023
a24a10c
natspec
mejango Nov 27, 2023
dbec05e
removed draft
mejango Nov 27, 2023
7fe3993
ci: update openzeppelin-contracts git module commit
xBA5ED Nov 27, 2023
9cfcf1c
gitmodules works
mejango Nov 27, 2023
2c429da
Merge pull request #40 from Bananapus/feature/multi-terminal-delegate…
mejango Nov 27, 2023
366e445
Merge pull request #32 from Bananapus/feature/multitoken-terminal-store
mejango Nov 27, 2023
9a9b5ae
Merge branch 'main' into feat/multiple-terminal-interfaces
mejango Nov 27, 2023
8391ea3
Merge branch 'feat/multiple-terminal-interfaces' into feat/ERC2771
mejango Nov 27, 2023
697d4c7
Merge branch 'feat/ERC2771' into refactor/terminal-revert-logic
mejango Nov 27, 2023
8264418
Merge branch 'refactor/terminal-revert-logic' into feat/multi-token-fees
mejango Nov 27, 2023
d8bd2c6
Merge branch 'main' into transition/adjusted-file-names
mejango Nov 27, 2023
b26f186
merged
mejango Nov 27, 2023
6e75b4d
tests pass
simplemachine92 Nov 27, 2023
3c2e362
fix: duplicate import
simplemachine92 Nov 27, 2023
f551eb3
feat: JBMetadataResolver as an internal lib
simon-something Nov 27, 2023
22b1abc
test: parsing lib
simon-something Nov 27, 2023
4d0da60
test: adapt other tests
simon-something Nov 27, 2023
7471f12
Revert "test: adapt other tests"
simon-something Nov 27, 2023
a811736
Revert "test: parsing lib"
simon-something Nov 27, 2023
b50a87a
Revert "feat: JBMetadataResolver as an internal lib"
simon-something Nov 27, 2023
bf3f49e
feat: metadata parsing lib
simon-something Nov 27, 2023
8170903
test: parsing lib
simon-something Nov 27, 2023
f224765
fix: other tests
simon-something Nov 27, 2023
f970ce4
using local metadata lib
mejango Nov 27, 2023
6cbb142
fix: remappings
simon-something Nov 28, 2023
a501a77
forge install: forge-std
simon-something Nov 28, 2023
85a739f
forge install: ds-test
simon-something Nov 28, 2023
348b1db
Update contracts/JBMultiTerminal.sol
mejango Nov 28, 2023
42c71f2
Merge pull request #46 from Bananapus/feat/multi-token-fees
mejango Nov 28, 2023
cc90b58
fix: yarn lock update
simon-something Nov 28, 2023
9dc44d2
fmt
mejango Nov 28, 2023
6fb65fd
fix: fmt
simon-something Nov 28, 2023
5477124
Merge pull request #47 from Bananapus/feat/internal-parsing-lib
mejango Nov 28, 2023
dad9d90
Merge branch 'main' into feat/multiple-terminal-interfaces
mejango Nov 28, 2023
82e9f27
fmt
mejango Nov 28, 2023
84ab165
Merge pull request #41 from Bananapus/feat/multiple-terminal-interfaces
mejango Nov 28, 2023
dde2b93
merged
mejango Nov 28, 2023
8676888
Merge branch 'feat/ERC2771' into refactor/terminal-revert-logic
mejango Nov 28, 2023
35ca8fd
Merge branch 'main' into transition/adjusted-file-names
mejango Nov 28, 2023
98c82b6
merged
mejango Nov 28, 2023
3484bde
fix merge errors; tests passing; misc changes
filipviz Nov 28, 2023
6c414a7
IDs -> Ids
filipviz Nov 28, 2023
d4bb0f3
JBTerminalStore
filipviz Nov 28, 2023
e8d047d
refactor: unchecked -> checked fee math
xBA5ED Nov 29, 2023
93d95dd
feat: make JBSplitStore.set only callable by the controller
xBA5ED Nov 29, 2023
697da0f
feat: make JBProjects.setMetadataOf only callable by the controller
xBA5ED Nov 29, 2023
ccdcdf6
feat: make JBTokenStore only callable by the controller
xBA5ED Nov 29, 2023
6d8f778
merge
xBA5ED Nov 29, 2023
2543f28
moved projectMetadata to controller, removed fcstore dep from tokenstore
mejango Nov 29, 2023
680ead4
moved pauseTokenCreditTransfers out of gloabl metadata. adjusted bitp…
mejango Nov 29, 2023
d2e0d99
fmt
mejango Nov 29, 2023
7ee93b1
seaprate interface for metadata registry
mejango Nov 29, 2023
aee1772
removed fcstore dependency from directory
mejango Nov 29, 2023
8b2f516
cleaned
mejango Nov 29, 2023
0da6e69
natspec
mejango Nov 29, 2023
292767e
removed global fc metadata. decoupled controller set and controller m…
mejango Nov 29, 2023
a07398b
JBController
filipviz Nov 29, 2023
d09bb46
small error update
filipviz Nov 29, 2023
72291a4
event param
mejango Nov 30, 2023
8a0aca5
Terminal interfaces
filipviz Nov 30, 2023
e42d2c9
meta tx tests mock and setup
simplemachine92 Nov 30, 2023
0658757
clean
mejango Nov 30, 2023
be0dea5
JBMultiTerminal + Controller improvements
filipviz Nov 30, 2023
3f1d1c2
catching up my local
simplemachine92 Nov 30, 2023
6fb056c
basic cases / mocks for meta tx tests
simplemachine92 Dec 1, 2023
9aa1c15
readability
simplemachine92 Dec 1, 2023
e6fb7bf
feat: allow recipients to be feeless
xBA5ED Dec 1, 2023
fe992bf
fmt
xBA5ED Dec 1, 2023
3d05d7d
JBMultiTerminal
filipviz Dec 1, 2023
8b212cc
Add redeem meta tx to ensure JBOp is functioning correctly
simplemachine92 Dec 1, 2023
a89a6b0
comment clarity
simplemachine92 Dec 1, 2023
968744b
clarity
simplemachine92 Dec 1, 2023
0c0551b
Small touches
filipviz Dec 1, 2023
7b1d41d
Improvements for misc libs/interfaces, etc.
filipviz Dec 1, 2023
f859626
ETH -> native, misc fixes
filipviz Dec 1, 2023
4486a67
Helpers, small changes
filipviz Dec 1, 2023
a8eaeac
tests progress
filipviz Dec 2, 2023
1d76e97
Finish tests
filipviz Dec 2, 2023
7e916a2
small touches
filipviz Dec 2, 2023
b8dff01
fix: metadata resolver lib naming
simon-something Dec 2, 2023
693cd17
remove JBFeeType (deprecated)
filipviz Dec 2, 2023
7342590
Merge pull request #49 from Bananapus/feat/feeless-recipient
mejango Dec 2, 2023
bdc8476
merged
mejango Dec 2, 2023
aa4af89
merged
mejango Dec 2, 2023
eb8db86
Merge pull request #45 from Bananapus/refactor/terminal-revert-logic
mejango Dec 2, 2023
fac7884
-
mejango Dec 2, 2023
a144a42
inline permt2 check
mejango Dec 3, 2023
aa187b3
rm beneficiary address(0) checks
mejango Dec 3, 2023
f1347b5
rm unchecked
mejango Dec 3, 2023
655f43d
space savoooor
mejango Dec 3, 2023
9993798
more
mejango Dec 3, 2023
892b3ea
fmt
mejango Dec 3, 2023
e8a5bcd
small gain
mejango Dec 3, 2023
bd003d6
-
mejango Dec 3, 2023
4f0e784
-
mejango Dec 3, 2023
963ebd5
unused import
simplemachine92 Dec 3, 2023
c4214ab
save smol space and avoid STD
simplemachine92 Dec 3, 2023
b5ca64a
internal pay/addtobalance
mejango Dec 3, 2023
fecd3e4
optimized
mejango Dec 3, 2023
9895a11
optimized
mejango Dec 3, 2023
ee7d74b
Merge pull request #52 from Bananapus/refactor/fee-var
mejango Dec 4, 2023
ccb5b87
fmt
mejango Dec 4, 2023
5066a87
Merge pull request #44 from Bananapus/feat/ERC2771
mejango Dec 4, 2023
5febd53
Merge branch 'main' into transition/adjusted-file-names
mejango Dec 4, 2023
4160eab
caught up
mejango Dec 4, 2023
37f21db
suggestions from 0xba5ed
filipviz Dec 4, 2023
73a4500
merged
mejango Dec 4, 2023
dab2ffc
small fixes, fmt
filipviz Dec 4, 2023
80dc350
jango multiterminal suggestions
filipviz Dec 4, 2023
26b07b6
Test progress
filipviz Dec 4, 2023
20293ed
Metadata resolver; many small fixes
filipviz Dec 4, 2023
6ead3ab
Controller updates
filipviz Dec 4, 2023
e3a7003
small fixes throughout
filipviz Dec 4, 2023
e49b8a8
deploy script
mejango Dec 4, 2023
a0fc124
JBMultiTerminal improvements
filipviz Dec 4, 2023
fecd23d
deploy script
mejango Dec 4, 2023
839b3ad
Directory fixes
filipviz Dec 4, 2023
d969542
Small nits. Schedule -> queue, remove unused reference
filipviz Dec 4, 2023
97ae9c3
test pass
mejango Dec 4, 2023
0a127e5
standard permissions comments
filipviz Dec 5, 2023
dc5c28e
rm unused
mejango Dec 5, 2023
41a6267
splitHook -> hook; util scripts; configured -> queued
filipviz Dec 5, 2023
11e7c03
several adjustments
filipviz Dec 5, 2023
f7491fa
Surplus payout limit, getRulesetOf, misc fixes
filipviz Dec 5, 2023
e902915
Small simplifications
filipviz Dec 5, 2023
1fa613a
JBTokenList.NATIVE -> JBConstants.NATIVE_TOKEN
filipviz Dec 5, 2023
ba7e925
Revert surplus payout limit
filipviz Dec 5, 2023
a60795d
new names
mejango Dec 5, 2023
7e44bcc
Move TestRulesetQueuing
filipviz Dec 5, 2023
65ac62d
split groups
mejango Dec 5, 2023
87ed59e
split groups
mejango Dec 5, 2023
49c42b9
merged
mejango Dec 5, 2023
970abb6
Remove unused errors
filipviz Dec 5, 2023
02cc938
JBERC20Token -> JBERC20
filipviz Dec 5, 2023
1b83275
allowDiscretionaryMinting -> allowOwnerMinting
filipviz Dec 5, 2023
8a4dd52
Move to TestRulesetQueueing
filipviz Dec 5, 2023
e71a77d
Remove AccessJBLib (unused)
filipviz Dec 5, 2023
8f0ef5b
Merge pull request #37 from Bananapus/feature/language
mejango Dec 6, 2023
846866c
Merge pull request #43 from Bananapus/transition/adjusted-file-names
mejango Dec 6, 2023
9339060
rm CI and remaining unit test
mejango Dec 6, 2023
598ea5e
README updates
filipviz Dec 6, 2023
2ccf6f5
forge install: openzeppelin-contracts
Dec 6, 2023
1b15031
forge install: prb-math
Dec 6, 2023
7314689
forge install: chainlink
Dec 6, 2023
9a9cc9a
chore: add OZ and chainlink to remappings
Dec 6, 2023
914cd3d
chore: get PRBMath imports remapped
Dec 6, 2023
db2cd61
forge install: permit2
Dec 6, 2023
4aaa38c
chore: fix up permit2 imports
Dec 6, 2023
5880ad9
chore: smol hack to fix permit issue
Dec 6, 2023
08b620d
chore: refactor prb-math imports and logic
Dec 6, 2023
7c0d640
wording: make wrap import clearer
Dec 6, 2023
70c715e
Merge pull request #54 from seanmc9/edit/forge-only
mejango Dec 6, 2023
59d4cbf
git mods
mejango Dec 6, 2023
3b291ef
linted
mejango Dec 6, 2023
097d44f
rm duplicate
mejango Dec 6, 2023
7c38a10
rm node
mejango Dec 6, 2023
49ef0ac
200 runs
mejango Dec 6, 2023
c309148
Merge pull request #53 from Bananapus/edit/forge-only
mejango Dec 6, 2023
a832810
setup
mejango Dec 6, 2023
1e757a3
feat: deployment artifact
simon-something Dec 6, 2023
ad922a9
Merge pull request #56 from Bananapus/deploy/first
mejango Dec 6, 2023
293afbf
0.8.23
mejango Dec 6, 2023
bcc5bab
++i
mejango Dec 6, 2023
fece217
hardcode impl version
mejango Dec 6, 2023
f89105d
impl libs to ^0.8.17
mejango Dec 6, 2023
ad7aa02
util script, cleanup, forge defaults
filipviz Dec 6, 2023
c36c727
Merge branch 'main' into cleaning-dirs
filipviz Dec 6, 2023
93f9877
Merge pull request #57 from Bananapus/devops/0.8.23-solc
mejango Dec 6, 2023
a1eb572
Merge branch 'main' into cleaning-dirs
mejango Dec 6, 2023
2f50013
merged
mejango Dec 6, 2023
585f0b4
rm
mejango Dec 6, 2023
14145be
Merge pull request #58 from Bananapus/cleaning-dirs
mejango Dec 6, 2023
35765fb
Name mappings
filipviz Dec 6, 2023
d637b94
Merge pull request #59 from Bananapus/named-mappings
mejango Dec 6, 2023
a3eca42
works
mejango Dec 6, 2023
fb2ce9a
private after public
mejango Dec 6, 2023
6711900
fix: recursive reference/etherscan verification
xBA5ED Dec 6, 2023
e0729be
fix: changed interface back
xBA5ED Dec 6, 2023
db00f94
Merge pull request #61 from Bananapus/fix/etherscan-verification-error
mejango Dec 7, 2023
aef73aa
Merge branch 'main' into style/no-underline-args
mejango Dec 7, 2023
7fea607
verbose function calls when needed
mejango Dec 7, 2023
67929c9
mv
mejango Dec 7, 2023
4fa77ed
Merge pull request #60 from Bananapus/style/no-underline-args
mejango Dec 7, 2023
d4460d1
-
mejango Dec 7, 2023
68b94d3
Merge pull request #63 from Bananapus/touchup/cleanup-more
mejango Dec 7, 2023
8fb7f60
feat: sepolia deploy
simplemachine92 Dec 7, 2023
d3764b7
Merge pull request #64 from Bananapus/feat/sepolia-deploy
mejango Dec 7, 2023
404a2f9
OP testnet deploy and cleaner directory
simplemachine92 Dec 7, 2023
ac1f6c1
Merge pull request #65 from Bananapus/feat/op-sepolia-deploy
mejango Dec 7, 2023
8ba4ea0
held fees unlocked by timestamp. feeless moved.
mejango Dec 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 18 additions & 1 deletion .example.env
Original file line number Diff line number Diff line change
@@ -1,2 +1,19 @@
ETHERSCAN_API_KEY=
INFURA_ID=

# the deployer address, when using a ledger or a seed phrase
SENDER_ETHEREUM_MAINNET=
SENDER_ETHEREUM_GOERLI=
SENDER_ETHEREUM_SEPOLIA=
SENDER_OPTIMISM_MAINNET=
SENDER_OPTIMISM_TESTNET=
SENDER_POLYGON_MAINNET=
SENDER_POLYGON_MUMBAI=

# public rpc:
RPC_ETHEREUM_MAINNET="https://rpc.ankr.com/eth"
RPC_ETHEREUM_GOERLI="https://rpc.ankr.com/eth_goerli"
RPC_ETHEREUM_SEPOLIA="https://rpc.ankr.com/eth_sepolia"
RPC_OPTIMISM_MAINNET="https://rpc.ankr.com/optimism"
RPC_OPTIMISM_TESTNET="https://sepolia.optimism.io"
RPC_POLYGON_MAINNET="https://rpc.ankr.com/polygon"
RPC_POLYGON_MUMBAI="https://rpc.ankr.com/polygon_mumbai"
20 changes: 20 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Description

*What does this PR: do, how, why?*

## Limitations & risks

*Are there any trade-off or new vulnarbility surface based on theses changes?*

# Check-list
- [ ] Tests are covering the new feature
- [ ] Code is [natspec'd](https://docs.soliditylang.org/en/v0.8.17/natspec-format.html)
- [ ] Code is [linted and formatted](https://docs.soliditylang.org/en/v0.8.17/style-guide.html)
- [ ] I have run the test locally (and they pass)
- [ ] I have rebased to the latest main commit (and tests still pass)

# Interactions
These changes will impact the following contracts:
- Directly:

- Indirectly:
21 changes: 11 additions & 10 deletions .github/workflows/unit-test.yml → .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: juice-contracts-tests
name: juice-contracts-template-lint
on:
pull_request:
branches:
Expand All @@ -7,10 +7,12 @@ on:
branches:
- main
jobs:
unit-test:
forge-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: actions/setup-node@v1
with:
node-version: 14
Expand All @@ -35,10 +37,9 @@ jobs:
key: ${{ runner.os }}-${{ steps.nvm.outputs.NVMRC }}-nodemodules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-${{ steps.nvm.outputs.NVMRC }}-nodemodules-
- name: Install JS dependencies
if: |
steps.cache-yarn-cache.outputs.cache-hit != 'true' ||
steps.cache-node-modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile --prefer-offline
- name: Run unit tests
run: node --max-old-space-size=4096 --require esm ./node_modules/.bin/hardhat test --network hardhat
- name: Install Foundry
uses: onbjerg/foundry-toolchain@v1
with:
version: nightly
- name: Check linting
run: forge fmt --check
45 changes: 0 additions & 45 deletions .github/workflows/publish.yml

This file was deleted.

43 changes: 6 additions & 37 deletions .github/workflows/system-test.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,25 @@
name: juice-contracts-system-tests
name: juice-contracts-template-tests
on:
pull_request:
branches:
- main
- test/system-tests
push:
branches:
- main
- test/system-tests
jobs:
forge-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v1
with:
node-version: 14
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Restore cached yarn cache
uses: actions/cache@v2
id: cache-yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Restore cached node_modules
id: cache-node-modules
uses: actions/cache@v2
with:
path: |
./node_modules
./packages/hardhat/node_modules
key: ${{ runner.os }}-${{ steps.nvm.outputs.NVMRC }}-nodemodules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-${{ steps.nvm.outputs.NVMRC }}-nodemodules-
- name: Install Foundry
uses: onbjerg/foundry-toolchain@v1
with:
version: nightly
- name: Install JS dependencies
if: |
steps.cache-yarn-cache.outputs.cache-hit != 'true' ||
steps.cache-node-modules.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile --prefer-offline
- name: install libraries
run: git submodule update --init
- name: Run system tests (JBControllerV3)
run: JBX_CONTROLLER_VERSION=3_0 forge build --sizes && forge test
- name: Run system tests (JBControllerV3_1)
run: JBX_CONTROLLER_VERSION=3_1 forge build --sizes && forge test
- name: Run tests
run: FOUNDRY_PROFILE=default forge snapshot # TODO: Change to fork once fork tests can be run
- name: Check contract sizes
run: forge build --sizes
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@ deployments/localhost/**
# Code coverage reports
coverage/
coverage.json
lcov.info

# VSCode
workspace.code-workspace
.vscode/

backup/
.secret
8 changes: 7 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,17 @@
url = https://github.com/smartcontractkit/chainlink
[submodule "lib/prb-math"]
path = lib/prb-math
url = https://github.com/hifi-finance/prb-math
url = https://github.com/PaulRBerg/prb-math
[submodule "lib/openzeppelin-contracts"]
path = lib/openzeppelin-contracts
url = https://github.com/OpenZeppelin/openzeppelin-contracts
[submodule "lib/permit2"]
path = lib/permit2
url = https://github.com/Uniswap/permit2
[submodule "lib/forge-std"]
path = lib/forge-std
url = https://github.com/foundry-rs/forge-std
branch = v1.3.0
[submodule "lib/ds-test"]
path = lib/ds-test
url = https://github.com/dapphub/ds-test
9 changes: 4 additions & 5 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
!/deployments/sepolia/**

# Allow everything in /contracts ...
!/contracts/**
# ... except tests
/contracts/test/**
/contracts/system_tests/**
/foundry.toml
!/src/**

# Should we be ignoring this?
/foundry.toml
5 changes: 0 additions & 5 deletions .prettierignore

This file was deleted.

20 changes: 0 additions & 20 deletions .prettierrc

This file was deleted.

67 changes: 0 additions & 67 deletions .solcover.js

This file was deleted.

17 changes: 0 additions & 17 deletions .solhint.json

This file was deleted.

1 change: 0 additions & 1 deletion .solhintignore

This file was deleted.

9 changes: 5 additions & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"solidity.compileUsingRemoteVersion": "v0.8.16+commit.07a7930e",
"solidity.compileUsingRemoteVersion": "v0.8.23",
"editor.formatOnSave": true,
"[javascript]": {
"editor.tabSize": 2
}
"[solidity]": {
"editor.defaultFormatter": "JuanBlanco.solidity"
},
"solidity.formatter": "forge"
}
Loading
Loading