Skip to content

feat: implement cross-chain asset support and bridge event verification#886

Closed
nonchalanttee22-lgtm wants to merge 6 commits into
Fracverse:masterfrom
nonchalanttee22-lgtm:master
Closed

feat: implement cross-chain asset support and bridge event verification#886
nonchalanttee22-lgtm wants to merge 6 commits into
Fracverse:masterfrom
nonchalanttee22-lgtm:master

Conversation

@nonchalanttee22-lgtm

Copy link
Copy Markdown
Contributor
  • Add source_chain and source_tx_hash metadata to Plan struct for tracking bridged asset origins
  • Extend Beneficiary with destination_chain and destination_address for cross-chain payouts
  • Implement BridgePayoutEvent struct for Allbridge messaging protocol compatibility
  • Add admin-managed wrapped token registry with register/unregister/query functions
  • Validate bridged assets correspond to supported wrapped tokens on Stellar
  • Implement safe bridge fee deduction (1% BPS) with integer division
  • Emit bridge payout events with gross/fee/net amounts for non-Stellar destinations
  • Update all contract tests with new metadata fields and bridge parameters
  • Pass acceptance criteria: metadata acceptance, event emission, safe fee deduction
  • Closes [Contracts] Handle Cross-Chain Assets and Bridging Event Verification #849

- Add source_chain and source_tx_hash metadata to Plan struct for tracking bridged asset origins
- Extend Beneficiary with destination_chain and destination_address for cross-chain payouts
- Implement BridgePayoutEvent struct for Allbridge messaging protocol compatibility
- Add admin-managed wrapped token registry with register/unregister/query functions
- Validate bridged assets correspond to supported wrapped tokens on Stellar
- Implement safe bridge fee deduction (1% BPS) with integer division
- Emit bridge payout events with gross/fee/net amounts for non-Stellar destinations
- Update all contract tests with new metadata fields and bridge parameters
- Pass acceptance criteria: metadata acceptance, event emission, safe fee deduction
@drips-wave

drips-wave Bot commented Jun 28, 2026

Copy link
Copy Markdown

@nonchalanttee22-lgtm 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

@ONEONUORA

Copy link
Copy Markdown
Contributor

@nonchalanttee22-lgtm
Run cargo fmt --all -- --check

@ONEONUORA

Copy link
Copy Markdown
Contributor

@nonchalanttee22-lgtm
Run cargo fmt --all -- --check
Diff in /home/runner/work/InheritX/InheritX/contracts/inheritance-contract/src/lib.rs:1:
#![no_std]
-use soroban_sdk::{contract, contracterror, contractimpl, contracttype, Address, Env, String, Symbol, Vec};
use soroban_sdk::{
contract, contracterror, contractimpl, contracttype, symbol_short, Address, Env, String, Vec,
};
Diff in /home/runner/work/InheritX/InheritX/contracts/inheritance-contract/src/lib.rs:6:
+use soroban_sdk::{

  • contract, contracterror, contractimpl, contracttype, Address, Env, String, Symbol, Vec,
    +};

const MAX_BENEFICIARIES: u32 = 100;
const PLAN_TTL_THRESHOLD: u32 = 500;
Diff in /home/runner/work/InheritX/InheritX/contracts/inheritance-contract/src/lib.rs:98:
}

 fn emit_bridge_payout_event(env: &Env, event: &BridgePayoutEvent) {
  •    let topic = (Symbol::short("BridgePayout"), env.current_contract_address());
    
  •    let topic = (
    
  •        Symbol::short("BridgePayout"),
    
  •        env.current_contract_address(),
    
  •    );
       env.events().publish(topic, event);
    
    }

@nonchalanttee22-lgtm

Copy link
Copy Markdown
Contributor Author

on it

1 similar comment
@nonchalanttee22-lgtm

Copy link
Copy Markdown
Contributor Author

on it

@nonchalanttee22-lgtm

Copy link
Copy Markdown
Contributor Author

done

@ONEONUORA

Copy link
Copy Markdown
Contributor

@nonchalanttee22-lgtm
Run cargo fmt --all -- --check
Diff in /home/runner/work/InheritX/InheritX/contracts/inheritance-contract/src/lib.rs:1:
#![no_std]
use soroban_sdk::{

  • contract, contracterror, contractimpl, contracttype, symbol_short, Address, Env, String, Symbol, Vec,
  • contract, contracterror, contractimpl, contracttype, symbol_short, Address, Env, String,
  • Symbol, Vec,
    };

const MAX_BENEFICIARIES: u32 = 100;

@nonchalanttee22-lgtm

Copy link
Copy Markdown
Contributor Author

done, merge

@nonchalanttee22-lgtm

Copy link
Copy Markdown
Contributor Author

@ONEONUORA

@ONEONUORA

Copy link
Copy Markdown
Contributor

@nonchalanttee22-lgtm
Run cargo build --release

@ONEONUORA ONEONUORA closed this Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Contracts] Handle Cross-Chain Assets and Bridging Event Verification

2 participants