Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
299c881
feat: make gas token more flexible
chapati23 Aug 21, 2025
412c3ed
feat: make stability pool upgradable
chapati23 Aug 21, 2025
06912e4
feat: fix tests and remove unneeded files
chapati23 Aug 21, 2025
c5367c1
fix: macOS case-insensitive path
chapati23 Aug 22, 2025
14be9e3
fix: contract creation collision
philbow61 Aug 22, 2025
4c19ade
chore: trigger CI after env var change
chapati23 Aug 25, 2025
7c87877
chore: address PR feedback
chapati23 Sep 3, 2025
e7ba405
docs: remove patched tokens README
chapati23 Sep 3, 2025
d8d77ac
chore: remove leftover Zappers reference
chapati23 Sep 3, 2025
4f29e28
chore: skip invariant tests on CI
chapati23 Sep 4, 2025
3514640
feat: add swap function to sp
baroooo Sep 16, 2025
404a5b1
test: swap function
baroooo Sep 17, 2025
4b30ffa
test: scale change and min deposit amount
baroooo Sep 18, 2025
c9118aa
feat: MIN_BOLD_AFTER_REBALANCE
baroooo Sep 19, 2025
7ec233b
Merge pull request #5 from mento-protocol/feat/stability-pool-integra…
baroooo Sep 30, 2025
b380a59
feat: add system params interface
bayological Sep 2, 2025
7e1ae63
feat: add sys params interface
bayological Sep 9, 2025
3350252
chore: remove comma
bayological Sep 10, 2025
b5f62a0
feat: implement system params
bayological Sep 10, 2025
bbcf228
refactor: remove params from address registry
bayological Sep 10, 2025
d6b3811
refactor: watch it burn 🧑‍🚒
bayological Sep 10, 2025
13fa829
test: add test specific constants
bayological Sep 10, 2025
3882ccb
refactor: replace constants use with sys params
bayological Sep 10, 2025
9558136
refactor: update tests
bayological Sep 16, 2025
51b449d
refactor: update deployment script
bayological Sep 16, 2025
0868e72
refactor: remove unneeded params
bayological Sep 16, 2025
959bba1
refactor: update function visibility
bayological Sep 17, 2025
935305e
refactor: remove unused param
bayological Sep 17, 2025
80c8343
refactor: update deployment script
bayological Sep 23, 2025
becb8d3
test: init params
bayological Sep 23, 2025
4e173ad
chore: set correct BCR
bayological Sep 23, 2025
ba6d180
test: init params
bayological Sep 23, 2025
10a64a2
test: update invariant tests
bayological Sep 23, 2025
8099781
test: init params
bayological Sep 24, 2025
1d7a5d7
chore: remove comment
bayological Sep 24, 2025
26db118
chore: remove unused constants
bayological Sep 24, 2025
a08b498
test: update sp invariant tests
bayological Sep 24, 2025
e7b441c
test: system params contract
bayological Sep 29, 2025
c297ae1
chore: update deployment
bayological Sep 29, 2025
c0ff2a3
chore: update file permissions
bayological Sep 30, 2025
edab127
chore: add compute address overload
bayological Sep 30, 2025
b2888ab
feat: set params via constructor
bayological Oct 1, 2025
85861a9
feat: store sys params addy
bayological Oct 1, 2025
12ab46b
chore: update tests + deploy scripts
bayological Oct 1, 2025
b877c0d
style: fmt
bayological Oct 2, 2025
1a9c936
feat: read variables from sys params directly
bayological Oct 2, 2025
d047722
chore: read scr from sys params
bayological Oct 6, 2025
d3a79af
feat: re-add global params
bayological Oct 8, 2025
de96024
feat: immutable system params
Mouradif Oct 8, 2025
f2aa920
feat: draft price feed contract
nvtaveras Oct 8, 2025
d7bbffd
refactor: rename price feed contract
nvtaveras Oct 8, 2025
7fc695e
feat: test for stability scaling
Mouradif Oct 14, 2025
9133e29
feat: upgradeable system params (#10)
bayological Oct 15, 2025
c95cee0
test: two scaling simulations
baroooo Oct 15, 2025
c5b7672
feat: add test with a big depositor getting only coll gain
Mouradif Oct 15, 2025
d3cdb2a
chore: revert foundry changes
baroooo Oct 16, 2025
60b45c4
Merge pull request #11 from mento-protocol/feat/stability-pool-scaling
baroooo Oct 16, 2025
86fba77
feat: OracleAdapter integration (#9)
nvtaveras Oct 16, 2025
fdb4262
chore: get ci to build
bowd Oct 19, 2025
04a21bc
Separate contract for BatchManager operations (#14)
Mouradif Oct 19, 2025
4e1cf93
chore: format changes
baroooo Oct 20, 2025
e964b6a
Merge pull request #18 from mento-protocol/chore/format-changes
baroooo Oct 20, 2025
a7614e7
test: make liquity tests use stableTokenv3
baroooo Nov 4, 2025
bcd695c
chore: format interface
baroooo Nov 4, 2025
ff84b1a
chore: fix typo
baroooo Nov 4, 2025
de641e7
chore: remove audit tag to make linter happy
baroooo Nov 4, 2025
11a276d
fix: disable rebalances during shutdown
baroooo Nov 18, 2025
c4030fc
fix: missing checks for min_bold_after_rebalance
baroooo Nov 18, 2025
dc7cac4
fix: add setRateFeedID to FXPriceFeed (#22)
nvtaveras Nov 18, 2025
6ab6d8b
fix: delete BM for kicked troves (#20)
baroooo Nov 18, 2025
d41844f
fix: mintAggInterest before rebalance (#19)
baroooo Nov 18, 2025
874f61d
fix: Incorrect IStabilityPool interface
baroooo Nov 18, 2025
c8dea13
chore: add event for rebalance
baroooo Nov 18, 2025
a01b4a8
test: update stabletokenv3
baroooo Nov 18, 2025
dcb86f7
Merge pull request #21 from mento-protocol/test/use-stabletokenv3-in-…
baroooo Nov 19, 2025
1b7378c
Merge branch 'feat/mento-v3-dev' into fix/disable-rebalances-when-shu…
baroooo Nov 19, 2025
a0b77a9
Merge pull request #24 from mento-protocol/fix/disable-rebalances-whe…
baroooo Nov 19, 2025
19e5c6d
fix: min bold in stability pool can not be lower than 1e18 (#25)
baroooo Nov 19, 2025
cfaeebd
fix: add checks for liquidationPenaltyRedistribution (#27)
baroooo Nov 19, 2025
b066fc2
fix: dont check for the upper limit of MIN_DEBT (#28)
baroooo Nov 19, 2025
bc2bebf
Merge branch 'feat/mento-v3-dev' into fix/missing-sanity-check-in-sp
baroooo Nov 20, 2025
2e56b66
Merge pull request #29 from mento-protocol/chore/add-event-for-rebala…
baroooo Nov 20, 2025
fdd14e0
test: fix tests
baroooo Nov 20, 2025
a813768
Merge pull request #26 from mento-protocol/fix/missing-sanity-check-i…
baroooo Nov 20, 2025
d8735b6
feat: chainsecurity audit fixes
nvtaveras Nov 25, 2025
3512e63
feat: add redemption with fixed fee
nvtaveras Jan 17, 2026
7a8b810
feat: add invertRateFeed flag to fxPriceFeed (#32)
philbow61 Jan 18, 2026
c3041c3
fix: disable liquidations when the L2 sequencer is down (#33)
nvtaveras Jan 18, 2026
418b48a
fix: initialize P in SP's initializer
Mouradif Jan 18, 2026
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
47 changes: 0 additions & 47 deletions .github/workflows/contracts-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,52 +55,6 @@ jobs:
run: |
forge test -vvv --match-contract Mainnet

test-e2e:
name: Foundry "E2E" tests
runs-on: ubuntu-latest
env:
SALT: Liquity2-E2E
FORK_URL: ${{ secrets.MAINNET_RPC_URL }}
FORK_CHAIN_ID: 1
FORK_BLOCK_NUMBER: 21571000
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Install pnpm
uses: pnpm/action-setup@v3.0.0
with:
version: 8

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".node-version"
cache: "pnpm"
cache-dependency-path: "pnpm-lock.yaml"

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: ${{ env.FOUNDRY_VERSION }}

- name: Fork mainnet
run: ./fork start && sleep 5

- name: Deploy BOLD
run: ./fork deploy --mode bold-only

- name: Deploy everything else
run: ./fork deploy --mode use-existing-bold

- name: Run E2E tests
run: ./fork e2e -vvv

console-logs:
name: Console imports check
runs-on: ubuntu-latest
Expand Down Expand Up @@ -227,7 +181,6 @@ jobs:
'test/*'
'script/*'
'src/Dependencies/Ownable.sol'
'src/Zappers/Modules/Exchanges/UniswapV3/UniPriceConverter.sol'
'src/NFTMetadata/*'
'src/MultiTroveGetter.sol'
'src/HintHelpers.sol'
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
[submodule "contracts/lib/Solady"]
path = contracts/lib/Solady
url = https://github.com/Vectorized/Solady
[submodule "contracts/lib/openzeppelin-contracts-upgradeable"]
path = contracts/lib/openzeppelin-contracts-upgradeable
url = https://github.com/openzeppelin/openzeppelin-contracts-upgradeable
[submodule "contracts/lib/V2-gov"]
path = contracts/lib/V2-gov
url = https://github.com/liquity/V2-gov
17 changes: 17 additions & 0 deletions contracts/foundry.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"lib/forge-std": {
"rev": "726a6ee5fc8427a0013d6f624e486c9130c0e336"
},
"lib/Solady": {
"rev": "362b2efd20f38aea7252b391e5e016633ff79641"
},
"lib/openzeppelin-contracts-upgradeable": {
"rev": "58fa0f81c4036f1a3b616fdffad2fd27e5d5ce21"
},
"lib/openzeppelin-contracts": {
"rev": "bd325d56b4c62c9c5c1aff048c37c6bb18ac0290"
},
"lib/V2-gov": {
"rev": "e7ed5341f2f54fb9bf89497a7be294c61f21ebe3"
}
}
11 changes: 10 additions & 1 deletion contracts/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ out = "out"
libs = ["lib"]
evm_version = 'cancun'
optimizer = true
optimizer_runs = 200
optimizer_runs = 0
ignored_error_codes = [3860, 5574] # contract-size
fs_permissions = [
{ access = "read", path = "./utils/assets/" },
{ access = "read-write", path = "./utils/assets/test_output" },
{ access = "read-write", path = "./deployment-manifest.json" },
{ access = "read-write", path = "./script/deployment-manifest.json" },
{ access = "read", path = "./addresses/" }
]

Expand All @@ -21,6 +22,10 @@ depth = 50
# failure_persist_dir = "/dev/null" # XXX circumvent this half-baked Foundry feature
shrink_run_limit = 0 # XXX shrinking is super broken, results in completely wrong repro sequence

[profile.ci]
# Exclude invariant tests to save CI credits
no_match_test = "invariant_"

[profile.ci.invariant]
shrink_run_limit = 0 # takes too damn long to shrink, don't waste Github minutes

Expand All @@ -37,3 +42,7 @@ broadcast = 'broadcast-e2e'
no_storage_caching = true

# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options

[lint]
# Excludes info/notes from 'forge build' and 'forge lint' output per default as it's quite noisy
severity = ["high", "med", "low"]
1 change: 1 addition & 0 deletions contracts/remappings.txt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
openzeppelin/=lib/V2-gov/lib/openzeppelin-contracts/
openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/
Loading