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.
Bug
zest_borrowcallsSP1A27KFY4XERQCCRCARCYD1CC5N7M6688BSYADJ7.v0-4-market.borrowwithprice-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_collateralall work fine — they don't require price feeds.Repro
Call
zest_borrowwith 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-feedsargument 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.