Skip to content

Feat/cross contract#837

Open
ummarig wants to merge 4 commits into
DistinctCodes:mainfrom
ummarig:feat/cross-contract
Open

Feat/cross contract#837
ummarig wants to merge 4 commits into
DistinctCodes:mainfrom
ummarig:feat/cross-contract

Conversation

@ummarig
Copy link
Copy Markdown
Contributor

@ummarig ummarig commented May 30, 2026

Implemented

  • Added a new helper crate: opsce

    • cross_contract.rs
    • lib.rs
  • Extended multisig_transfer:

    • storage.rs
      • Added AssetsUpContract storage key
      • Added get_assetsup_contract / set_assetsup_contract
    • lib.rs
      • Added configure_assetsup_contract(...) admin setter
      • Added token_id and amount fields to transfer requests
      • Updated execute_transfer(...) to:
        • look up configured assetsup_contract_id
        • invoke AssetsUpClient::transfer_tokens(...)
        • revert on cross-contract failure
    • types.rs
      • Added cross-contract transfer payload fields
    • errors.rs
      • Added AssetsUpContractNotConfigured and AssetTransferFailed
  • Added unit tests in tests.rs

    • Mocks successful assetsup transfer
    • Mocks failing assetsup transfer and verifies revert
  • Updated workspace manifests:

    • Cargo.toml
    • Cargo.toml

Notes

Closes #815
Closes #820

  • Cross-contract call now uses Soroban contractclient wrapper via AssetsUpClient.
  • Admin can configure/replace the assetsup_contract_id for the multisig wallet.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 30, 2026

@ummarig is attempting to deploy a commit to the naijabuz's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 30, 2026

@ummarig 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! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant