feat: expand non-evm relay and route planning support

This commit is contained in:
defiQUG
2026-04-18 12:05:34 -07:00
parent da78073104
commit 843cdbf71c
113 changed files with 8542 additions and 222 deletions

View File

@@ -8,7 +8,9 @@ import "../../../contracts/bridge/adapters/evm/XDCAdapter.sol";
import "../../../contracts/bridge/adapters/evm/AlltraAdapter.sol";
import "../../../contracts/bridge/adapters/non-evm/XRPLAdapter.sol";
import "../../../contracts/bridge/adapters/non-evm/StellarAdapter.sol";
import "../../../contracts/bridge/adapters/non-evm/SolanaAdapter.sol";
import "../../../contracts/bridge/adapters/non-evm/TezosAdapter.sol";
import "../../../contracts/bridge/adapters/non-evm/TronAdapter.sol";
import "../../../contracts/bridge/adapters/hyperledger/FireflyAdapter.sol";
import "../../../contracts/bridge/adapters/hyperledger/CactiAdapter.sol";
import "../../../contracts/bridge/adapters/hyperledger/FabricAdapter.sol";
@@ -39,7 +41,9 @@ contract DeployAllAdapters is Script {
// Deploy non-EVM adapters
XRPLAdapter xrplAdapter = new XRPLAdapter(deployer);
StellarAdapter stellarAdapter = new StellarAdapter(deployer);
SolanaAdapter solanaAdapter = new SolanaAdapter(deployer);
TezosAdapter tezosAdapter = new TezosAdapter(deployer);
TronAdapter tronAdapter = new TronAdapter(deployer);
// Deploy Hyperledger adapters
FireflyAdapter fireflyAdapter = new FireflyAdapter(deployer, "alltra-bridge");
@@ -59,7 +63,9 @@ contract DeployAllAdapters is Script {
registry.registerNonEVMChain("XRPL-Mainnet", ChainRegistry.ChainType.XRPL, address(xrplAdapter), "https://xrpscan.com", 1, 4, true, "");
registry.registerNonEVMChain("Stellar-Mainnet", ChainRegistry.ChainType.Stellar, address(stellarAdapter), "https://stellarchain.io", 1, 5, true, "");
registry.registerNonEVMChain("Solana-Mainnet", ChainRegistry.ChainType.Solana, address(solanaAdapter), "https://solscan.io", 32, 1, true, "");
registry.registerNonEVMChain("Tezos-Mainnet", ChainRegistry.ChainType.Other, address(tezosAdapter), "https://tzkt.io", 1, 30, true, "");
registry.registerNonEVMChain("Tron-Mainnet", ChainRegistry.ChainType.Tron, address(tronAdapter), "https://tronscan.org", 20, 3, true, "");
registry.registerNonEVMChain("Firefly-Orchestration", ChainRegistry.ChainType.Firefly, address(fireflyAdapter), "", 1, 1, true, "");
registry.registerNonEVMChain("Cacti-Interoperability", ChainRegistry.ChainType.Cacti, address(cactiAdapter), "", 1, 1, true, "");
registry.registerNonEVMChain("Fabric-bridge-channel", ChainRegistry.ChainType.Fabric, address(fabricAdapter), "", 1, 1, true, "");

View File

@@ -0,0 +1,42 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "forge-std/Script.sol";
import "../../../contracts/registry/ChainRegistry.sol";
import "../../../contracts/bridge/adapters/non-evm/SolanaAdapter.sol";
contract DeploySolanaAdapter is Script {
function run() external {
uint256 pk = vm.envUint("PRIVATE_KEY");
address admin = vm.addr(pk);
address chainRegistry = vm.envAddress("CHAIN_REGISTRY_ADDRESS");
ChainRegistry registry = ChainRegistry(chainRegistry);
vm.startBroadcast(pk);
SolanaAdapter solanaAdapter = new SolanaAdapter(admin);
ChainRegistry.ChainMetadata memory existing = registry.getNonEVMChain("Solana-Mainnet");
if (existing.adapter == address(0)) {
registry.registerNonEVMChain(
"Solana-Mainnet",
ChainRegistry.ChainType.Solana,
address(solanaAdapter),
"https://solscan.io",
32,
1,
true,
""
);
} else {
registry.updateAdapter(0, "Solana-Mainnet", address(solanaAdapter));
registry.setChainActive(0, "Solana-Mainnet", true);
}
vm.stopBroadcast();
console.log("SolanaAdapter:", address(solanaAdapter));
console.log("ChainRegistry:", chainRegistry);
}
}