Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
870dcfc
introduce initial inient pallet
enthusiastmartin Oct 22, 2025
8d1e4a0
Merge branch 'master' into feat/intent-pallet
enthusiastmartin Oct 27, 2025
42b067a
initial ice pallet
enthusiastmartin Oct 23, 2025
7b38869
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Nov 19, 2025
909581b
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Nov 20, 2025
a636b1b
consolidate
enthusiastmartin Nov 25, 2025
2974f02
ice api
enthusiastmartin Nov 25, 2025
e9f561c
ice api
enthusiastmartin Nov 25, 2025
8611623
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Nov 25, 2025
ed33174
exten solver proivder api
enthusiastmartin Nov 27, 2025
2173607
api call
enthusiastmartin Dec 3, 2025
142d42a
todo
enthusiastmartin Dec 9, 2025
c6255a9
Merge branch 'master' into feat/ice-pallet
martinfridrich Dec 11, 2025
0c90b2b
pallet-ice: impl. solution execution
martinfridrich Dec 18, 2025
0dc949c
ICE: solution execution small fixes
martinfridrich Dec 19, 2025
9a880b4
ICE: add test for solution execution, happy path
martinfridrich Dec 19, 2025
ab0827e
pallet-ice: merge trades with resolved in solution struct, add unit t…
martinfridrich Dec 22, 2025
6334ea9
pallet-ice: rewrite solution exection
martinfridrich Dec 22, 2025
82755dd
pallet-ice: reorder intet executed notif for pallet_intent
martinfridrich Dec 22, 2025
4b693d1
pallet-ice: small refactor
martinfridrich Dec 23, 2025
60cd05f
pallet-ice: add unit tests
martinfridrich Dec 23, 2025
ac94bc3
ICE: submit solution, wip
martinfridrich Jan 1, 2026
0ed7946
ICE: submit solution impl. validate_unsigned()
martinfridrich Jan 2, 2026
354ea46
ICE: small refactor/simplifaction
martinfridrich Jan 2, 2026
844cc02
ICE: validate_unsigned() add unit tests
martinfridrich Jan 2, 2026
da5f306
ICE: pallet-intent, impl validate_resolved(), WIP
martinfridrich Jan 3, 2026
f448a73
ICE: impl pallet_intent intent_resolved(), wip
martinfridrich Jan 5, 2026
16fa228
ICE: add pallet-intent and pallet-ice to runtime
martinfridrich Jan 6, 2026
fd4443b
ICE: add tests for pallet-intent, WIP
martinfridrich Jan 7, 2026
ae5d326
ICE: pallet-intent validate_resolve() add tests
martinfridrich Jan 7, 2026
db9a0fe
ICE: pallet-intent impl tests for intent_resolved()
martinfridrich Jan 8, 2026
306944a
ICE: pallet-intent add reserve/unreserve for intent's funds
martinfridrich Jan 9, 2026
73ba02b
ICE: pallet-intent, impl. cancel_intent and tests
martinfridrich Jan 9, 2026
b9b04b8
ICE: add lazy-executor pallet and update pallet-intent to queue callb…
martinfridrich Jan 14, 2026
a531929
ICE: pallet-intent impl. extrinsic for cleaning up expired intents
martinfridrich Jan 14, 2026
8f8fe65
ICE: pallet-intent impl. offchain worker to automatically cleaning up…
martinfridrich Jan 15, 2026
0e7f384
ICE: pallet-intent add unit tests for add_intent() and submit_intent()
martinfridrich Jan 16, 2026
3e483ff
ICE: add ice-support pallet and refactor rest of the ice pallets to u…
martinfridrich Jan 20, 2026
2fffa19
ICE: pallet-ice add missing import
martinfridrich Jan 20, 2026
482f097
ICE: use BTreeMap for clearing prices instead of BoundedVed in Solution
martinfridrich Jan 20, 2026
fcdeeed
Merge branch 'master' into feat/ice-pallet
martinfridrich Jan 25, 2026
8936161
solver integration
enthusiastmartin Jan 29, 2026
9d35aca
ICE: pallet-ice refactor&docs
martinfridrich Jan 30, 2026
caff45a
ICE: add docs for intent and lazy-exeuctor pallets
martinfridrich Jan 30, 2026
5f78081
Merge branch 'master' into feat/ice-pallet
martinfridrich Feb 3, 2026
438debb
ICE: dummy aave-simulator for testing
martinfridrich Feb 3, 2026
483ccb6
ICE: add aave-simulator to runtime
martinfridrich Feb 3, 2026
90ef83b
ICE: pallet-intent: add NotImplemented error whe creating partial eve…
martinfridrich Feb 4, 2026
5ff3d33
refactor integration tests
enthusiastmartin Feb 4, 2026
21d4c14
ICE: improve aave-simulator, create snapshot and validate asset is re…
martinfridrich Feb 4, 2026
e5772c4
add smarter route discovery, fix spot price calculation
enthusiastmartin Feb 4, 2026
91f1a2a
fix solver amount calcs
enthusiastmartin Feb 5, 2026
463cb52
additional tests and fix price calc
enthusiastmartin Feb 5, 2026
41a97a8
better naming
enthusiastmartin Feb 5, 2026
4195f88
include solver and call from ice directly
enthusiastmartin Feb 5, 2026
c431ef3
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Feb 10, 2026
4283686
remove v0
enthusiastmartin Feb 10, 2026
6c95326
ICE: add benchmarks for intent pallet
martinfridrich Feb 10, 2026
e7ee10f
ICE: fix intent pallet benchmarks
martinfridrich Feb 11, 2026
2372f8a
ICE: add benchmarks and weights for lazy executor pallet
martinfridrich Feb 11, 2026
f2f43bf
ICE: benchmarks for ice pallet
martinfridrich Feb 11, 2026
b10866a
ICE: pallet_intent, don't allow to create intent with amount in or ou…
martinfridrich Feb 13, 2026
824eedf
ICE: add amount_in and amount_out > ED validtion into pallet ice vali…
martinfridrich Feb 13, 2026
7f2048b
ICE: ice ocw impl. early return if no valid intents exists
martinfridrich Feb 18, 2026
846205e
ICE: ice ocw, don't submit solution if solution have no resolved intents
martinfridrich Feb 18, 2026
b6baf3c
ICE: ice sumulators refactor
martinfridrich Feb 20, 2026
a2037a4
ICE: remove old amm simulator impl. and fix aave simulator integratio…
martinfridrich Feb 20, 2026
b527f73
ICE: ice simulators refactor
martinfridrich Feb 20, 2026
3002c19
ICE: fix solver's intengration tests and stableswap simulator spot pr…
martinfridrich Feb 25, 2026
e1b90d1
ICE: pallet ice rewrite validate_price_consistency funtion
martinfridrich Feb 27, 2026
a4306be
Merge branch 'master' into feat/ice-pallet
martinfridrich Mar 3, 2026
c91086f
ICE: impl slip fees for ice omnipool simulator
martinfridrich Mar 3, 2026
fe9ac4e
Merge branch 'feat/ice-price-consistency' into feat/ice-pallet
martinfridrich Mar 3, 2026
b022454
ICE: remove clearing prices from solution, solver and pallet ice
martinfridrich Mar 4, 2026
349b3b3
ICE: fix review comments
martinfridrich Mar 5, 2026
18a6d0c
ICE: make intent deadline optional and fix tests and clippy
martinfridrich Mar 6, 2026
2aed217
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Mar 10, 2026
723df17
ICE: remove on_failure callback, rename on_susuccess -> on_resolved, …
martinfridrich Mar 10, 2026
546ccf7
ICE: add logs to pallet ice and pallet intent
martinfridrich Mar 11, 2026
160871c
ICE: add tolerance 1 block for solution's target block execution
martinfridrich Mar 12, 2026
cf8657b
ICE: remove buy(ExactOut) intent type
martinfridrich Mar 13, 2026
617826f
improve solver
enthusiastmartin Mar 17, 2026
463929a
dust trades - integration test
enthusiastmartin Mar 20, 2026
57b2efe
intial dca intent
enthusiastmartin Mar 25, 2026
cd34cb6
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Mar 25, 2026
0b2c323
Merge branch 'feat/ice-pallet' into feat/ice-dca-intent
enthusiastmartin Mar 25, 2026
fcd0628
remove runtime event
enthusiastmartin Mar 28, 2026
151483a
remove target block from solution submission
enthusiastmartin Mar 28, 2026
dd4d1aa
use system block provider
enthusiastmartin Mar 30, 2026
c5ac121
intent data input separation
enthusiastmartin Mar 31, 2026
2e58a4c
account intent list and count
enthusiastmartin Mar 31, 2026
d1a9320
bump runtime version
enthusiastmartin Mar 31, 2026
cd53e55
runtime version
enthusiastmartin Apr 1, 2026
534b0d9
extract route discover from sell/buy, simulate interface requires route
enthusiastmartin Apr 1, 2026
c162f5a
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Apr 1, 2026
81ebd6c
ice generic route discovery
enthusiastmartin Apr 1, 2026
9910590
initial smart router finder
enthusiastmartin Apr 2, 2026
32fcac3
Merge branch 'master' into feat/ice-smart-router
enthusiastmartin Apr 2, 2026
56cfc66
router findr
enthusiastmartin Apr 2, 2026
5bf6263
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Apr 2, 2026
2205eea
refactor to simplify initial intent filtering
enthusiastmartin Apr 6, 2026
8bb0dfa
move route selection to solver
enthusiastmartin Apr 6, 2026
6296d52
use onchain route
enthusiastmartin Apr 6, 2026
2b20c76
reorganize integration tests
enthusiastmartin Apr 7, 2026
4e04180
adjsut test for new snapshot
enthusiastmartin Apr 7, 2026
e1756af
adjsut test for new snapshot
enthusiastmartin Apr 7, 2026
b18a67a
ice fee
enthusiastmartin Apr 7, 2026
587676e
snpashot
enthusiastmartin Apr 7, 2026
e67d2dd
wanrs
enthusiastmartin Apr 7, 2026
22652d2
Merge branch 'feat/ice-smart-router' into feat/ice-pallet
enthusiastmartin Apr 7, 2026
3b71257
handle dust trades
enthusiastmartin Apr 8, 2026
61aef34
set ice fee via governance
enthusiastmartin Apr 8, 2026
8f1850d
solver adjustment to exlude amoutns of filtered out intent
enthusiastmartin Apr 9, 2026
7affc2a
solver v2 - partial fills
enthusiastmartin Apr 9, 2026
7cd6259
solver helper
enthusiastmartin Apr 10, 2026
2c9611f
runtime verson
enthusiastmartin Apr 10, 2026
dfc9a45
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Apr 10, 2026
54338f8
lock file
enthusiastmartin Apr 10, 2026
bb50c9c
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Apr 11, 2026
71cd321
new partial fills etests
enthusiastmartin Apr 14, 2026
29ad98e
atoken integration tests
enthusiastmartin Apr 15, 2026
4adf488
add test for dca_period_can_be_bypassed_at_resolve_time
dmoka Apr 15, 2026
35093f9
add dca tests
dmoka Apr 16, 2026
ca69e7e
extra gas for solution execution
enthusiastmartin Apr 15, 2026
78dd438
use srtool 1.88
enthusiastmartin Mar 24, 2026
ab6182e
add few additional slip fee tests to cover more scenarios
enthusiastmartin Mar 10, 2026
ee04994
fix: skip budget-based termination for rolling buy DCA
dmoka Apr 1, 2026
7f46a61
chore: remove stale dca-monitor scripts
dmoka Apr 2, 2026
d41eda4
cosmetics
dmoka Apr 13, 2026
e212813
remove redundant check
dmoka Apr 13, 2026
a5d4693
bump versions
dmoka Apr 13, 2026
420e977
removed unused variable
dmoka Apr 13, 2026
04b4d9f
solver cap to max resolved intents
enthusiastmartin Apr 15, 2026
c9e9adc
ensure resolved amounts > ED
enthusiastmartin Apr 15, 2026
6e4a6c3
add test for max reseovled intent cap
enthusiastmartin Apr 16, 2026
5d4a6c5
added script for ddosing intents
dmoka Apr 16, 2026
74500ee
add solver bench
enthusiastmartin Apr 16, 2026
2f5abc9
dont leave partial intents below ED
enthusiastmartin Apr 16, 2026
70e82c6
add enforce intent
dmoka Apr 17, 2026
67de09b
improved solver alg
enthusiastmartin Apr 17, 2026
afad584
exact tests
enthusiastmartin Apr 21, 2026
785905f
add set external oracle functionality
dmoka Feb 17, 2026
e671109
remove comment
dmoka Feb 19, 2026
b44cc48
chore: bump versions, cargo fmt
dmoka Feb 19, 2026
a5a0e66
remove unsed bifrost account declaration as it is not needed anymore,…
dmoka Mar 6, 2026
151d903
fix weights calculation going for worst case
dmoka Mar 6, 2026
2fd8f1d
simplify udpate logic
dmoka Mar 6, 2026
fa4fc7f
merge tests
dmoka Mar 6, 2026
945e813
use compile safe deprecated annotation
dmoka Mar 10, 2026
6c16193
formatting
dmoka Mar 12, 2026
787df76
remove unused imports
dmoka Mar 12, 2026
39c15cc
centralize bifrost oracle declaration
dmoka Mar 12, 2026
10fc412
add script to test bifrost oracle update
dmoka Mar 12, 2026
03761a7
remove verification
dmoka Mar 12, 2026
d3970ce
add bifrost migration for external sources, to the runtime impls
dmoka Mar 12, 2026
b2f5173
make the external oracle call callable by TC too for emergency in cas…
dmoka Apr 8, 2026
0bb402b
add missing ddos test
dmoka Apr 10, 2026
041ddc2
update test script
dmoka Apr 10, 2026
9221445
formatting
dmoka Apr 10, 2026
90e0888
bump versions
dmoka Apr 10, 2026
e7fa07c
add missing tests demonstrating someone can call external oracle upda…
dmoka Apr 10, 2026
d36f1a6
allow external oracle updates only for specific pairs
dmoka Apr 13, 2026
3f7d650
fix: skip budget-based termination for rolling buy DCA
dmoka Apr 1, 2026
c181d65
chore: remove stale dca-monitor scripts
dmoka Apr 2, 2026
775d554
bump versions
dmoka Apr 13, 2026
d9c6c06
Update pallets weights [ignore benchmarks]
dmoka Apr 13, 2026
bdcba56
update weights
dmoka Apr 13, 2026
4afc7e2
invert check so we make calls cheaper
dmoka Apr 13, 2026
4c78dde
Update pallets weights [ignore benchmarks]
dmoka Apr 14, 2026
db8a243
upate weights
dmoka Apr 14, 2026
afc77da
worst case and weignt optimizations
dmoka Apr 14, 2026
8bd19b2
fix failing test due to different weight
dmoka Apr 14, 2026
6a33b50
add set oracle by ids
dmoka Apr 14, 2026
03c8af7
renaming
dmoka Apr 14, 2026
53a1862
Update pallets weights [ignore benchmarks]
dmoka Apr 14, 2026
8888a2c
update weights
dmoka Apr 14, 2026
1f61eb9
add missing oracle removements when we remove resource
dmoka Apr 15, 2026
7687678
fix script
dmoka Apr 16, 2026
42e84a4
make clippy happy
dmoka Apr 17, 2026
6705114
Update pallets weights [ignore benchmarks]
dmoka Apr 17, 2026
9c2fcff
supliy authorized origin for calling admin functions
dmoka Apr 17, 2026
c00bf0d
rebench weights
dmoka Apr 17, 2026
4fc15f4
fix unnecessary vote processing in conviction voting
F3Joule Apr 15, 2026
bb05865
Update pallets weights [ignore benchmarks]
F3Joule Apr 16, 2026
d6347a3
Remove old impl
F3Joule Apr 16, 2026
eaf2955
Bump versions
F3Joule Apr 16, 2026
0a9c48b
moved bound address check to predispatch
mrq1911 Apr 5, 2026
46b5b43
tests fixed
mrq1911 Apr 5, 2026
62f367e
fmt
mrq1911 Apr 5, 2026
b35a131
bumped version
mrq1911 Apr 5, 2026
d1e5186
add scripts/upgrade-runtime for governance-based runtime upgrades on …
mrq1911 Apr 18, 2026
eb79fd5
add circuit-breaker-dashboard
mrq1911 Apr 20, 2026
1ec31e2
bump runtime version
enthusiastmartin Apr 21, 2026
1b856b8
Merge branch 'master' into feat/ice-pallet
enthusiastmartin Apr 21, 2026
4513676
reformat
enthusiastmartin Apr 21, 2026
bdefc2a
fix incorrect dropped intents
enthusiastmartin Apr 22, 2026
721cae6
fix min amounts
enthusiastmartin Apr 23, 2026
46cfd5d
reorganize tests in solver
enthusiastmartin Apr 24, 2026
ff50f85
solver regression
enthusiastmartin Apr 24, 2026
7de8aab
remove custom snapshot tests
enthusiastmartin Apr 24, 2026
679d9c1
bump runtime version
enthusiastmartin Apr 24, 2026
f12fc92
use short price oracle by route
enthusiastmartin Apr 27, 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
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,11 @@ zombienet
/pallets/dispenser/contracts/lib
/pallets/dispenser/contracts/cache
/pallets/dispenser/contracts/out
/scripts/dispenser-tests/solana-signet-program/.github

rustc*.txt
.claude/
CLAUDE.md
/scripts/dispenser-tests/solana-signet-program/.github

findings/
184 changes: 183 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 19 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,15 @@ members = [
'pallets/broadcast',
'liquidation-worker-support',
'pallets/hsm',
"pallets/signet",
"pallets/dispenser"
'pallets/signet',
'pallets/dispenser',
'pallets/lazy-executor',
'pallets/intent',
'pallets/ice',
'pallets/ice/support',
'ice/ice-solver',
'ice/solver-bench',
'pallets/ice/amm-simulator',
]

resolver = "2"
Expand All @@ -62,6 +69,11 @@ serde = { version = "1.0.209", default-features = false }
primitive-types = { version = "0.13.1", default-features = false }
borsh = { version = "1.5.7", default-features = false, features = ["derive"] }

# ICE
ice-solver = { path = "ice/ice-solver", default-features = false}
route-findr= { path = "ice/route-findr", default-features = false }


affix = "0.1.2"
alloy-primitives = { version = "0.7", default-features = false }
alloy-sol-types = { version = "0.7", default-features = false }
Expand Down Expand Up @@ -163,6 +175,11 @@ pallet-hsm = { path = "pallets/hsm", default-features = false }
pallet-parameters = { path = "pallets/parameters", default-features = false }
pallet-signet = { path = "pallets/signet", default-features = false }
pallet-dispenser = { path = "pallets/dispenser", default-features = false }
pallet-intent = { path = "pallets/intent", default-features = false }
pallet-ice = { path = "pallets/ice", default-features = false }
ice-support = { path = "pallets/ice/support", default-features = false }
amm-simulator = { path = "pallets/ice/amm-simulator", default-features = false }
pallet-lazy-executor = { path = "pallets/lazy-executor", default-features = false }

hydra-dx-build-script-utils = { path = "utils/build-script-utils", default-features = false }
scraper = { path = "scraper", default-features = false }
Expand Down
28 changes: 28 additions & 0 deletions ice/ice-solver/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[package]
name = "ice-solver"
version = "0.1.0"
edition = "2021"

[dependencies]
codec = { workspace = true, features = ["derive", "max-encoded-len"] }
frame-support = { workspace = true }
ice-support = { workspace = true }
hydradx-traits = { workspace = true }
hydra-dx-math = { workspace = true }
sp-core = { workspace = true }
sp-std = { workspace = true }
log = { workspace = true }

[features]
default = ['std']
std = [
'codec/std',
'frame-support/std',
'ice-support/std',
'hydradx-traits/std',
'hydra-dx-math/std',
'sp-core/std',
'sp-std/std',
"log/std",
]

Loading
Loading