Module 0xb::message
- Struct
BridgeMessage
- Struct
BridgeMessageKey
- Struct
TokenTransferPayload
- Struct
EmergencyOp
- Struct
Blocklist
- Struct
UpdateBridgeLimit
- Struct
UpdateAssetPrice
- Struct
AddTokenOnSui
- Struct
ParsedTokenTransferMessage
- Constants
- Function
extract_token_bridge_payload
- Function
extract_emergency_op_payload
- Function
extract_blocklist_payload
- Function
extract_update_bridge_limit
- Function
extract_update_asset_price
- Function
extract_add_tokens_on_sui
- Function
serialize_message
- Function
create_token_bridge_message
- Function
create_emergency_op_message
- Function
create_blocklist_message
- Function
create_update_bridge_limit_message
- Function
create_update_asset_price_message
- Function
create_add_tokens_on_sui_message
- Function
create_key
- Function
key
- Function
message_version
- Function
message_type
- Function
seq_num
- Function
source_chain
- Function
payload
- Function
token_target_chain
- Function
token_target_address
- Function
token_type
- Function
token_amount
- Function
emergency_op_type
- Function
blocklist_type
- Function
blocklist_validator_addresses
- Function
update_bridge_limit_payload_sending_chain
- Function
update_bridge_limit_payload_receiving_chain
- Function
update_bridge_limit_payload_limit
- Function
update_asset_price_payload_token_id
- Function
update_asset_price_payload_new_price
- Function
is_native
- Function
token_ids
- Function
token_type_names
- Function
token_prices
- Function
emergency_op_pause
- Function
emergency_op_unpause
- Function
required_voting_power
- Function
to_parsed_token_transfer_message
- Function
reverse_bytes
- Function
peel_u64_be
use 0x1::ascii;
use 0x1::vector;
use 0x2::bcs;
use 0xb::chain_ids;
use 0xb::message_types;
Struct BridgeMessage
struct BridgeMessage has copy, drop, store
Fields
Struct BridgeMessageKey
struct BridgeMessageKey has copy, drop, store
Fields
Struct TokenTransferPayload
struct TokenTransferPayload has drop
Fields
Struct EmergencyOp
struct EmergencyOp has drop
Fields
Struct Blocklist
struct Blocklist has drop
Fields
Struct UpdateBridgeLimit
struct UpdateBridgeLimit has drop
Fields
Struct UpdateAssetPrice
struct UpdateAssetPrice has drop
Fields
Struct AddTokenOnSui
struct AddTokenOnSui has drop
Fields
Struct ParsedTokenTransferMessage
struct ParsedTokenTransferMessage has drop
Fields
Constants
const CURRENT_MESSAGE_VERSION: u8 = 1;
const ECDSA_ADDRESS_LENGTH: u64 = 20;
const EEmptyList: u64 = 2;
const EInvalidAddressLength: u64 = 1;
const EInvalidEmergencyOpType: u64 = 4;
const EInvalidMessageType: u64 = 3;
const EInvalidPayloadLength: u64 = 5;
const EMustBeTokenMessage: u64 = 6;
const ETrailingBytes: u64 = 0;
const PAUSE: u8 = 0;
const UNPAUSE: u8 = 1;
Function extract_token_bridge_payload
public fun extract_token_bridge_payload(message: &message::BridgeMessage): message::TokenTransferPayload
Implementation
Function extract_emergency_op_payload
Emergency op payload is just a single byte
public fun extract_emergency_op_payload(message: &message::BridgeMessage): message::EmergencyOp
Implementation
Function extract_blocklist_payload
public fun extract_blocklist_payload(message: &message::BridgeMessage): message::Blocklist
Implementation
Function extract_update_bridge_limit
public fun extract_update_bridge_limit(message: &message::BridgeMessage): message::UpdateBridgeLimit
Implementation
Function extract_update_asset_price
public fun extract_update_asset_price(message: &message::BridgeMessage): message::UpdateAssetPrice
Implementation
Function extract_add_tokens_on_sui
public fun extract_add_tokens_on_sui(message: &message::BridgeMessage): message::AddTokenOnSui
Implementation
Function serialize_message
public fun serialize_message(message: message::BridgeMessage): vector<u8>
Implementation
Function create_token_bridge_message
Token Transfer Message Format: [message_type: u8] [version:u8] [nonce:u64] [source_chain: u8] [sender_address_length:u8] [sender_address: byte[]] [target_chain:u8] [target_address_length:u8] [target_address: byte[]] [token_type:u8] [amount:u64]
public fun create_token_bridge_message(source_chain: u8, seq_num: u64, sender_address: vector<u8>, target_chain: u8, target_address: vector<u8>, token_type: u8, amount: u64): message::BridgeMessage
Implementation
Function create_emergency_op_message
Emergency Op Message Format: [message_type: u8] [version:u8] [nonce:u64] [chain_id: u8] [op_type: u8]
public fun create_emergency_op_message(source_chain: u8, seq_num: u64, op_type: u8): message::BridgeMessage
Implementation
Function create_blocklist_message
Blocklist Message Format: [message_type: u8] [version:u8] [nonce:u64] [chain_id: u8] [blocklist_type: u8] [validator_length: u8] [validator_ecdsa_addresses: byte[][]]
public fun create_blocklist_message(source_chain: u8, seq_num: u64, blocklist_type: u8, validator_ecdsa_addresses: vector<vector<u8>>): message::BridgeMessage
Implementation
Function create_update_bridge_limit_message
Update bridge limit Message Format: [message_type: u8] [version:u8] [nonce:u64] [receiving_chain_id: u8] [sending_chain_id: u8] [new_limit: u64]
public fun create_update_bridge_limit_message(receiving_chain: u8, seq_num: u64, sending_chain: u8, new_limit: u64): message::BridgeMessage
Implementation
Function create_update_asset_price_message
Update asset price message [message_type: u8] [version:u8] [nonce:u64] [chain_id: u8] [token_id: u8] [new_price:u64]
public fun create_update_asset_price_message(token_id: u8, source_chain: u8, seq_num: u64, new_price: u64): message::BridgeMessage
Implementation
Function create_add_tokens_on_sui_message
Update Sui token message
[message_type:u8]
[version:u8]
[nonce:u64]
[chain_id: u8]
[native_token:bool]
[token_ids:vector
public fun create_add_tokens_on_sui_message(source_chain: u8, seq_num: u64, native_token: bool, token_ids: vector<u8>, type_names: vector<ascii::String>, token_prices: vector<u64>): message::BridgeMessage
Implementation
Function create_key
public fun create_key(source_chain: u8, message_type: u8, bridge_seq_num: u64): message::BridgeMessageKey
Implementation
Function key
public fun key(self: &message::BridgeMessage): message::BridgeMessageKey
Implementation
Function message_version
public fun message_version(self: &message::BridgeMessage): u8
Implementation
Function message_type
public fun message_type(self: &message::BridgeMessage): u8
Implementation
Function seq_num
public fun seq_num(self: &message::BridgeMessage): u64
Implementation
Function source_chain
public fun source_chain(self: &message::BridgeMessage): u8
Implementation
Function payload
public fun payload(self: &message::BridgeMessage): vector<u8>
Implementation
Function token_target_chain
public fun token_target_chain(self: &message::TokenTransferPayload): u8
Implementation
Function token_target_address
public fun token_target_address(self: &message::TokenTransferPayload): vector<u8>
Implementation
Function token_type
public fun token_type(self: &message::TokenTransferPayload): u8
Implementation
Function token_amount
public fun token_amount(self: &message::TokenTransferPayload): u64
Implementation
Function emergency_op_type
public fun emergency_op_type(self: &message::EmergencyOp): u8
Implementation
Function blocklist_type
public fun blocklist_type(self: &message::Blocklist): u8
Implementation
Function blocklist_validator_addresses
public fun blocklist_validator_addresses(self: &message::Blocklist): &vector<vector<u8>>
Implementation
Function update_bridge_limit_payload_sending_chain
public fun update_bridge_limit_payload_sending_chain(self: &message::UpdateBridgeLimit): u8
Implementation
Function update_bridge_limit_payload_receiving_chain
public fun update_bridge_limit_payload_receiving_chain(self: &message::UpdateBridgeLimit): u8
Implementation
Function update_bridge_limit_payload_limit
public fun update_bridge_limit_payload_limit(self: &message::UpdateBridgeLimit): u64
Implementation
Function update_asset_price_payload_token_id
public fun update_asset_price_payload_token_id(self: &message::UpdateAssetPrice): u8
Implementation
Function update_asset_price_payload_new_price
public fun update_asset_price_payload_new_price(self: &message::UpdateAssetPrice): u64
Implementation
Function is_native
public fun is_native(self: &message::AddTokenOnSui): bool
Implementation
Function token_ids
public fun token_ids(self: &message::AddTokenOnSui): vector<u8>
Implementation
Function token_type_names
public fun token_type_names(self: &message::AddTokenOnSui): vector<ascii::String>
Implementation
Function token_prices
public fun token_prices(self: &message::AddTokenOnSui): vector<u64>
Implementation
Function emergency_op_pause
public fun emergency_op_pause(): u8
Implementation
Function emergency_op_unpause
public fun emergency_op_unpause(): u8
Implementation
Function required_voting_power
Return the required signature threshold for the message, values are voting power in the scale of 10000
public fun required_voting_power(self: &message::BridgeMessage): u64
Implementation
Function to_parsed_token_transfer_message
public fun to_parsed_token_transfer_message(message: &message::BridgeMessage): message::ParsedTokenTransferMessage
Implementation
Function reverse_bytes
fun reverse_bytes(bytes: vector<u8>): vector<u8>
Implementation
Function peel_u64_be
fun peel_u64_be(bcs: &mut bcs::BCS): u64