Skip to main content

Module bridge::limiter

Struct TransferLimiter

public struct TransferLimiter has store

Struct TransferRecord

public struct TransferRecord has store
Click to open
Fields
hour_head: u64
hour_tail: u64
per_hour_amounts: vector<u64>
total_amount: u64

Struct UpdateRouteLimitEvent

public struct UpdateRouteLimitEvent has copy, drop
Click to open
Fields
sending_chain: u8
receiving_chain: u8
new_limit: u64

Constants

const ELimitNotFoundForRoute: u64 = 0;
const MAX_TRANSFER_LIMIT: u64 = 18446744073709551615;
const USD_VALUE_MULTIPLIER: u64 = 100000000;

Function get_route_limit

Function new

public(package) fun new(): bridge::limiter::TransferLimiter

Function check_and_record_sending_transfer

Function update_route_limit

public(package) fun update_route_limit(self: &mut bridge::limiter::TransferLimiter, route: &bridge::chain_ids::BridgeRoute, new_usd_limit: u64)

Function current_hour_since_epoch

Function adjust_transfer_records

Function initial_transfer_limits