use std::vector;
Struct `BridgeRoute`
public struct BridgeRoute has copy, drop, store
Fields
-
source: u8
-
-
destination: u8
-
Constants
const SUI_MAINNET: u8 = 0;
const SUI_TESTNET: u8 = 1;
const SUI_CUSTOM: u8 = 2;
const ETH_MAINNET: u8 = 10;
const ETH_SEPOLIA: u8 = 11;
const ETH_CUSTOM: u8 = 12;
const EInvalidBridgeRoute: u64 = 0;
Function `sui_mainnet`
public fun sui_mainnet(): u8
Implementation
public fun sui_mainnet(): u8 { SUI_MAINNET }
Function `sui_testnet`
public fun sui_testnet(): u8
Implementation
public fun sui_testnet(): u8 { SUI_TESTNET }
Function `sui_custom`
public fun sui_custom(): u8
Implementation
public fun sui_custom(): u8 { SUI_CUSTOM }
Function `eth_mainnet`
public fun eth_mainnet(): u8
Implementation
public fun eth_mainnet(): u8 { ETH_MAINNET }
Function `eth_sepolia`
public fun eth_sepolia(): u8
Implementation
public fun eth_sepolia(): u8 { ETH_SEPOLIA }
Function `eth_custom`
public fun eth_custom(): u8
Implementation
public fun eth_custom(): u8 { ETH_CUSTOM }
Function `route_source`
public fun route_source(route: &bridge::chain_ids::BridgeRoute): &u8
Implementation
public fun route_source(route: &BridgeRoute): &u8 {
&route.source
}
Function `route_destination`
public fun route_destination(route: &bridge::chain_ids::BridgeRoute): &u8
Implementation
public fun route_destination(route: &BridgeRoute): &u8 {
&route.destination
}
Function `assert_valid_chain_id`
public fun assert_valid_chain_id(id: u8)
Implementation
public fun assert_valid_chain_id(id: u8) {
assert!(
id == SUI_MAINNET ||
id == SUI_TESTNET ||
id == SUI_CUSTOM ||
id == ETH_MAINNET ||
id == ETH_SEPOLIA ||
id == ETH_CUSTOM,
EInvalidBridgeRoute,
)
}
Function `valid_routes`
public fun valid_routes(): vector<bridge::chain_ids::BridgeRoute>
Implementation
public fun valid_routes(): vector<BridgeRoute> {
vector[
BridgeRoute { source: SUI_MAINNET, destination: ETH_MAINNET },
BridgeRoute { source: ETH_MAINNET, destination: SUI_MAINNET },
BridgeRoute { source: SUI_TESTNET, destination: ETH_SEPOLIA },
BridgeRoute { source: SUI_TESTNET, destination: ETH_CUSTOM },
BridgeRoute { source: SUI_CUSTOM, destination: ETH_CUSTOM },
BridgeRoute { source: SUI_CUSTOM, destination: ETH_SEPOLIA },
BridgeRoute { source: ETH_SEPOLIA, destination: SUI_TESTNET },
BridgeRoute { source: ETH_SEPOLIA, destination: SUI_CUSTOM },
BridgeRoute { source: ETH_CUSTOM, destination: SUI_TESTNET },
BridgeRoute { source: ETH_CUSTOM, destination: SUI_CUSTOM },
]
}
Function `is_valid_route`
public fun is_valid_route(source: u8, destination: u8): bool
Implementation
public fun is_valid_route(source: u8, destination: u8): bool {
let route = BridgeRoute { source, destination };
valid_routes().contains(&route)
}
Function `get_route`
public fun get_route(source: u8, destination: u8): bridge::chain_ids::BridgeRoute
Implementation
public fun get_route(source: u8, destination: u8): BridgeRoute {
let route = BridgeRoute { source, destination };
assert!(valid_routes().contains(&route), EInvalidBridgeRoute);
route
}