Conversation
|
@CHKM001 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
@CHKM001 is attempting to deploy a commit to the Jaja's projects Team on Vercel. A member of the Team first needs to authorize it. |
Contributor
|
Kindly resolve the conflicts |
Squashed single commit for the issue-489 branch, rebuilt on top of the current upstream/main (1a8cb1e). Contains the branch's full contribution plus a clean resolution of the merge against upstream: - Comprehensive Soroban contract tests (task_store, dispute_resolution, upgrade-manager, oracle_manager, agent_bidding, agent_marketplace) plus the supporting backend/frontend changes for issue Epta-Node#489. - agent_bidding: union of both sides — keep require_not_paused and upstream's payment-token helpers; DataKey gains PaymentAsset/AssetDecimals; Error enum keeps upstream's Asset* variants and adds MaxBiddersReached/InvalidAuditRange (referenced by upstream's lib.rs but undefined there) at codes 37/38. - dispute_resolution: take upstream's appeal_dispute signature/docs; earlier dedupe of VoteCastEvent and estimate_gas wrapper retained. - upgrade-manager: take upstream's is_version_newer refactor and its full module set; rename the inline test module to `contract_tests` to avoid the duplicate `mod tests` upstream ships; re-add the issue-489 coverage tests. Known pre-existing breakage on upstream/main (out of scope, not introduced here): upstream's upgrade-manager ships a half-committed multisig/timelock governance feature whose helper fns and UpgradeError variants are undefined, so the crate (and agent_registry, which depends on it) does not compile on main. This branch merges upstream faithfully and does not make it worse. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CHKM001
force-pushed
the
feat/issue-489-comprehensive-contract-test-coverage
branch
from
September 30, 2026 19:40
4035f9d to
04127ab
Compare
Contributor
Author
|
DONE! |
…flicts # Conflicts: # smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/clear_resets_count_to_zero.1.json # smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/error_count_for_unknown_agent_is_zero.1.json # smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/initialize_cannot_run_twice.1.json # smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/non_admin_cannot_manage_allowlist.1.json # smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/record_and_query_error_count.1.json # smart-contracts/contracts/error-resolver/test_snapshots/agent_errors/test/unauthorized_caller_cannot_record.1.json
This branch has not been deployed
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.
PR #489 feat(smart-contracts): Comprehensive Unit and Integration Test Coverage
Branch:
feat/issue-489-comprehensive-contract-test-coverage→mainSummary
This PR adds comprehensive snapshot-backed unit tests and an integration test harness across all Stellar smart contracts in the
smart-contracts/workspace. Prior to this change, onlyagent_registryandagent_governancehad meaningful test coverage. All other contracts had minimal or no tests, blocking mainnet deployment confidence.What Changed
New Test Files
agent_biddingsrc/tests.rsagent_marketplacesrc/test.rsdispute_resolutionsrc/test.rserror-registrysrc/lib.rs(inline)error-resolversrc/agent_errors.rs(inline)upgrade-managersrc/lib.rs(inline)task_storesrc/lib.rs+src/types.rstests/integration/src/lib.rsTest Coverage by Contract
agent_biddingagent_marketplacedispute_resolutionfile_dispute: success, duplicate rejection, no-jurors rejectionset_jurors: success and authorization guardcast_vote: success, non-juror rejection, duplicate-vote rejectionsubmit_evidence: success, error cases (wrong state, wrong caller)resolve_dispute: after-voting (client wins), agent-wins pathappeal_dispute: success within window, rejection after window, error caseserror-registryexpires_atstored, duplicate rejectionget_error/get_errors_by_code: hides expired records, skips expirederror-resolverset_quorumworksupgrade-managerIntegration (
tests/integration)soroban_sdk::testutilsupgrade-managerlinked asrlib(no WASM exports) to avoid Windows/MinGW linker ordinal overflowBug Fixes Made During Test Authoring
dispute_resolution/src/test.rsVec<Address>; fixedErrorvariant names to matchlib.rserror-registry/src/lib.rsrequire_admindefinition; fixed mismatched closing braceserror-resolver/src/agent_errors.rsrequire_not_pausedchecks on read paths; fixed orphaned braceupgrade-manager/src/lib.rsmod teststo#[cfg(all(test, feature = "contract"))]to prevent double-exporttests/integration/Cargo.tomlupgrade-managerdep todefault-features = falseto avoid linker ordinal overflow on WindowsTest Execution
All tests pass on the current workspace. Snapshots are committed alongside the test source.
Notes for Reviewers
upgrade-managerwith thecontractfeature in the integration harness triggers an "export ordinal too large" error under MinGW/MSVC. The integrationCargo.tomlnow depends on it asdefault-features = false(purerlib) which resolves this. This does not affect the WASM build pipeline.test_snapshots/**/*.jsonfiles are auto-generated bysoroban_sdk's snapshot harness on first run. They are committed to lock expected ledger state and will fail CI if contract logic drifts.error-resolvertest feature flag: Run with--no-default-features --features stdto avoid the WASM ABI conflicting with the test runtime linker.Checklist
Resolves #489referencedCloses #489