Skip to content
This repository was archived by the owner on Jul 14, 2026. It is now read-only.

feat: Liquorice executor - #332

Merged
zach030 merged 24 commits into
propeller-heads:mainfrom
markin-io:feat/liquorice-executor
Mar 20, 2026
Merged

zach030 merged 24 commits into
propeller-heads:mainfrom
markin-io:feat/liquorice-executor

Conversation

@markin-io

Copy link
Copy Markdown
Contributor

Executor logic for Liquorice RFQ protocol https://liquorice.tech/

Comment thread config/executor_addresses.json Outdated
Comment thread foundry/src/executors/LiquoriceExecutor.sol
Comment thread src/encoding/evm/swap_encoder/liquorice.rs
Comment thread foundry/src/executors/LiquoriceExecutor.sol Outdated
Comment thread foundry/src/executors/LiquoriceExecutor.sol Outdated
@markin-io
markin-io force-pushed the feat/liquorice-executor branch from 6118296 to f56b9da Compare March 16, 2026 19:07

@dianacarvalho1 dianacarvalho1 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Overall it looks good to me! Only left small comments

givenAmount, originalBaseTokenAmount, minBaseTokenAmount
);

// Transfer tokens to executor

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when running through the tycho router, address(this) represents the tycho router and not the executor. Can we clean up this comment a bit so it isn't misleading please?

Comment on lines +46 to +59
let config = config.ok_or(EncodingError::FatalError(
"Missing liquorice specific addresses in config".to_string(),
))?;
let balance_manager_address = config
.get("balance_manager_address")
.map(|s| {
Bytes::from_str(s).map_err(|_| {
EncodingError::FatalError(
"Invalid liquorice balance manager address".to_string(),
)
})
})
.ok_or(EncodingError::FatalError(
"Missing liquorice balance manager address in config".to_string(),

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we could make this nicer like

let balance_manager_address = config
    .get("balance_manager_address")
    .ok_or_else(|| EncodingError::FatalError(
        "Missing liquorice balance manager address in config".to_string(),
    ))
    .and_then(|s| {
        Bytes::from_str(s).map_err(|_| {
            EncodingError::FatalError(
                "Invalid liquorice balance manager address".to_string(),
            )
        })
    })?;

@github-project-automation github-project-automation Bot moved this from Todo to In Progress in Tycho Mar 17, 2026
@zach030
zach030 merged commit 9b0c358 into propeller-heads:main Mar 20, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Tycho Mar 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants