Problem
The assetsup and multisig_transfer contracts operate independently with no cross-contract communication. A tokenized asset transfer approved by the multisig wallet cannot automatically invoke transfer_tokens() on the assetsup contract.
Proposed Solution
Create contracts/opsce/src/cross_contract.rs. Implement a client interface that allows multisig_transfer to call assetsups transfer_tokens() via Soroban cross-contract invocation.
Acceptance Criteria
Problem
The
assetsupandmultisig_transfercontracts operate independently with no cross-contract communication. A tokenized asset transfer approved by the multisig wallet cannot automatically invoketransfer_tokens()on the assetsup contract.Proposed Solution
Create
contracts/opsce/src/cross_contract.rs. Implement a client interface that allowsmultisig_transferto callassetsupstransfer_tokens()via Soroban cross-contract invocation.Acceptance Criteria
AssetsUpClientstruct defined using Sorobanscontractclientmacro targeting theassetsupcontract interfacemultisig_execute_token_transfer(env, wallet_id, tx_id, assetsup_contract_id)invokestransfer_tokenson the assetsup contract after multisig approvalrequire_auth) passed through the cross-contract callassetsup_contract_idis stored in the multisig wallet config and changeable by the wallet admin