Add data feeds cache and proxy bindings - #162
Open
Fletch153 wants to merge 2 commits into
Open
Conversation
Soroban Contract Test Coverage92.57% line coverage — 18067 / 19517 lines hit
Per-Contract Breakdown
Full file-level coverage report |
Collaborator
Author
|
The five failing Go CI checks (E2E, Go Unit Tests, Integration ×2, Coverage) are pre-existing on main with byte-identical failure signatures — not introduced here: deployment/adapters references CommitteeVerifierClient.GetAllSignatureConfigs, which is absent from the bindings at current main, so every Go job fails at build. All contract-side checks (test-contracts, formatting, generated code) pass. |
Fletch153
force-pushed
the
feature/DF-25434/data-feeds-deployment
branch
from
July 22, 2026 19:26
aeaff42 to
3410c65
Compare
This was referenced Jul 22, 2026
Fletch153
force-pushed
the
feature/DF-25434/data-feeds-deployment
branch
from
July 23, 2026 13:21
c393651 to
9b5104c
Compare
Fletch153
force-pushed
the
feature/DF-25434/data-feeds-deployment
branch
7 times, most recently
from
July 23, 2026 15:20
f7386a7 to
d6b704d
Compare
Fletch153
force-pushed
the
feature/DF-25434/data-feeds-deployment
branch
from
July 23, 2026 16:00
d6b704d to
fda599a
Compare
Fletch153
force-pushed
the
feature/DF-25429/data-feeds-contracts
branch
from
July 23, 2026 18:16
019b250 to
14b9721
Compare
Fletch153
force-pushed
the
feature/DF-25434/data-feeds-deployment
branch
6 times, most recently
from
July 23, 2026 19:43
62fb6b4 to
667504a
Compare
Fletch153
marked this pull request as ready for review
July 27, 2026 13:41
Fletch153
force-pushed
the
feature/DF-25434/data-feeds-deployment
branch
2 times, most recently
from
August 3, 2026 17:44
1a71e41 to
7d7cc17
Compare
Fletch153
force-pushed
the
feature/DF-25429/data-feeds-contracts
branch
from
August 4, 2026 13:39
943fa11 to
099909e
Compare
Fletch153
force-pushed
the
feature/DF-25434/data-feeds-deployment
branch
from
August 4, 2026 13:39
541f9d7 to
971e21a
Compare
This was referenced Aug 7, 2026
Fletch153
force-pushed
the
feature/DF-25434/data-feeds-deployment
branch
from
August 10, 2026 22:28
2a51926 to
971e21a
Compare
Generated Go clients for both contracts via the v0 generator with additive support: i256 as *big.Int in all positions, explicit per-contract -readonly and -include-void lists, #[topic] event field decoding, and a resource-fee cushion in the deployer so refundable rent/event costs survive simulate-to-submit drift. Deployer gains constructor-arg deploys and WASM upload; the generation scripts fail hard on missing inputs.
Fletch153
force-pushed
the
feature/DF-25434/data-feeds-deployment
branch
from
August 10, 2026 22:42
971e21a to
5c98a9c
Compare
- New deployment/data-feeds package embedding the compiled cache and proxy WASM with an Artifact accessor, so Go consumers can deploy the pinned bytecode without a Rust toolchain - Move the DataFeedsCacheWasm constant out of deployment/cre, which never shipped a blob behind it
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Context
Soroban's contract spec doesn't say which functions are read-only, and the generator's old name heuristic (
get_*/is_*) doesn't cover reads likelatest_roundordecimals. Instead of guessing, each contract now declares its read-only functions explicitly in the generation script: listed functions become free simulations, everything else submits a real transaction, and a misspelled name fails generation immediately. The same pattern covers void functions (ownership transfer, upgrade), which the old parser silently dropped. CCIP contracts don't use the new lists and generate byte-identically to before.Changes
i256values (as*big.Inteverywhere they can appear), the per-contract read-only and void-function lists, and decoding of#[topic]event fields: these travel in an event's topic list, not its body, and were previously left empty when parsing events. That last fix also repairs the CRE forwarder client, which is why one regenerated CCIP-adjacent file appears in the diff.DeployContractWithArgs/UploadContractWASMfor the changesets, plus a fix that applies the existing fee safety margin to the declared Soroban resource fee: the part that pays for storage rent and events. Without it, transactions could fail when ledger state shifted between simulation and submission.Testing
Notes