Skip to content

zest_borrow always returns (err none) — missing Pyth price feeds #476

Description

@ClankOS

Bug

zest_borrow calls SP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-4-market.borrow with price-feeds: none. The Zest V0.4 market contract requires signed Pyth oracle price feed data at call time — without it the oracle check fails and every borrow tx returns (err none) regardless of asset or collateral.

What works

zest_supply, zest_withdraw, zest_enable_collateral all work fine — they don't require price feeds.

Repro

Call zest_borrow with any valid asset/collateral combo and inspect the on-chain tx result. It will always abort with (err none).

Expected fix

Fetch fresh signed Pyth VAAs for the relevant assets and pass them in the price-feeds argument before broadcasting the transaction.

Context

Discovered while proving mainnet TXs for a skill submission to BitflowFinance/bff-skills (PR #464). The skill's borrow logic is correct; the MCP layer can't execute it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions