Module 0xb::limiter
- Struct
TransferLimiter
- Struct
TransferRecord
- Struct
UpdateRouteLimitEvent
- Constants
- Function
get_route_limit
- Function
new
- Function
check_and_record_sending_transfer
- Function
update_route_limit
- Function
current_hour_since_epoch
- Function
adjust_transfer_records
- Function
initial_transfer_limits
use 0x1::option;
use 0x1::vector;
use 0x2::clock;
use 0x2::event;
use 0x2::vec_map;
use 0xb::chain_ids;
use 0xb::treasury;
Struct TransferLimiter
struct TransferLimiter has store
Click to open
Fields
Struct TransferRecord
struct TransferRecord has store
Click to open
Fields
Struct UpdateRouteLimitEvent
struct UpdateRouteLimitEvent has copy, drop
Click to open
Fields
Constants
const ELimitNotFoundForRoute: u64 = 0;
const MAX_TRANSFER_LIMIT: u64 = 18446744073709551615;
const USD_VALUE_MULTIPLIER: u64 = 100000000;
Function get_route_limit
public fun get_route_limit(self: &limiter::TransferLimiter, route: &chain_ids::BridgeRoute): u64
Click to open
Implementation
Function new
public(friend) fun new(): limiter::TransferLimiter
Click to open
Implementation
Function check_and_record_sending_transfer
public(friend) fun check_and_record_sending_transfer<T>(self: &mut limiter::TransferLimiter, treasury: &treasury::BridgeTreasury, clock: &clock::Clock, route: chain_ids::BridgeRoute, amount: u64): bool
Click to open
Implementation
Function update_route_limit
public(friend) fun update_route_limit(self: &mut limiter::TransferLimiter, route: &chain_ids::BridgeRoute, new_usd_limit: u64)
Click to open
Implementation
Function current_hour_since_epoch
fun current_hour_since_epoch(clock: &clock::Clock): u64
Click to open
Implementation
Function adjust_transfer_records
fun adjust_transfer_records(self: &mut limiter::TransferRecord, current_hour_since_epoch: u64)
Click to open
Implementation
Function initial_transfer_limits
fun initial_transfer_limits(): vec_map::VecMap<chain_ids::BridgeRoute, u64>
Click to open