NONEVM-5258: billing for Sui => Sui#403
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates CCIP FeeQuoter logic to better account for Sui-specific message execution overhead (receiver object IDs and token-transfer payload sizing) in fee quoting and max_data_bytes validation, and adds Move tests to cover the new billing/validation behavior.
Changes:
- Add Sui-specific payload overhead constants and validation (receiver object ID count/length, expanded payload sizing) to FeeQuoter.
- Update
get_validated_feeto incorporate Sui payload overhead into billing calculations. - Add a dedicated Sui fee billing test module covering overhead increases and revert cases.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
sui.nix |
Updates the pinned macOS ARM64 Sui release hash. |
contracts/ccip/ccip/sources/fee_quoter.move |
Implements Sui payload overhead calculation + max_data_bytes validation and threads overhead into fee billing. |
contracts/ccip/mock_ccip_v2/fee_quoter.move |
Mirrors the production FeeQuoter Sui billing/validation changes for the mock package. |
contracts/ccip/ccip/tests/sui_fee_billing_tests.move |
Adds tests validating Sui overhead-based fee increases and failure conditions. |
Comments suppressed due to low confidence (1)
contracts/ccip/ccip/sources/fee_quoter.move:267
- The mock FeeQuoter reports
FeeQuoter 1.6.2but the productionccip::fee_quoterstill reportsFeeQuoter 1.6.1even though this PR changes fee validation/billing behavior. Align the version strings (and any version assertion tests) so deployed and mock implementations don’t diverge unexpectedly.
public fun type_and_version(): String {
string::utf8(b"FeeQuoter 1.6.1")
}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
securemitchell
pushed a commit
that referenced
this pull request
Jun 10, 2026
* NONEVM-5192: convert source chain decimal for receiver * fix deployment with an init decimal op * address feedback * more feedback * fix test * regenerate bindings * initial draft (w/ replace clauses) * update integration tests dir * add events to grpc response mapping * misc updates to client and packages * remove unnecessary debug logs and update node test helper * fix onramp ccip tests * remove replace clause for MCMS dep in favor of commit hash * re-enable MCMS tests in ./integration-tests in CI * remove replace clause for CLDF dep in favor of commit hash * update go mods in ./deployment * tidy * re-enable ops tests * deps graph * fix op test mock stub * Update bindings/bind/publish.go * re-enable * merge * simplify local node helper * go mod tidy in ./integration-tests * lint * NONEVM-5191: implement receiver abi check (#393) * NONEVM-5191: implement receiver abi check * fix * fix * fix lint * update * addres feedback * fix * update * NONEVM-5015: make broken receiver not blocking relayer and add more tests (#394) * NONEVM-5191: implement receiver abi check * make broken receiver not blocking relayer and add more tests * fix * fix * address feedback and issues * fix * fix lint * update * addres feedback * fix * update * fix lint * fix * more tests * fix tests * fix * fix tests * clean up * fix lint --------- Co-authored-by: Faisal <faisal.altameemi@smartcontract.com> * fix * nonevm-5255: check for errors before memory allocation (#405) * nonevm-5255: check for errors before memory allocation * address feedback * more checks * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Faisal <faisal.altameemi@smartcontract.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * use address deserializing for MCMS reports to handle move structs * use address deserializing for MCMS reports as fallback * update bindings deserializer for MCMS * NONEVM-5258: billing for Sui => Sui (#403) * NONEVM-5258: billing for Sui => Sui * fix tests * fi * fix * nonevm-5017: update dummy receiver and add a new receiver integration guide (#406) * regen binding --------- Co-authored-by: FelixFan1992 <fankejin@gmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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.
Describe your changes
Issue ticket number and link
Describe highly relevant files or code snippets that are critical in the review
Are there other PRs that should be merged first?