Module bridge::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 bridge::chain_ids;
use bridge::treasury;
use std::address;
use std::ascii;
use std::bcs;
use std::option;
use std::string;
use std::type_name;
use std::u64;
use std::vector;
use sui::address;
use sui::bag;
use sui::balance;
use sui::clock;
use sui::coin;
use sui::config;
use sui::deny_list;
use sui::dynamic_field;
use sui::dynamic_object_field;
use sui::event;
use sui::hex;
use sui::object;
use sui::object_bag;
use sui::package;
use sui::table;
use sui::transfer;
use sui::tx_context;
use sui::types;
use sui::url;
use sui::vec_map;
use sui::vec_set;
Struct TransferLimiter
public struct TransferLimiter has store
Click to open
Fields
Struct TransferRecord
public struct TransferRecord has store
Click to open
Fields
Struct UpdateRouteLimitEvent
public 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: &bridge::limiter::TransferLimiter, route: &bridge::chain_ids::BridgeRoute): u64
Click to open
Implementation
Function new
public(package) fun new(): bridge::limiter::TransferLimiter
Click to open
Implementation
Function check_and_record_sending_transfer
public(package) fun check_and_record_sending_transfer<T>(self: &mut bridge::limiter::TransferLimiter, treasury: &bridge::treasury::BridgeTreasury, clock: &sui::clock::Clock, route: bridge::chain_ids::BridgeRoute, amount: u64): bool
Click to open
Implementation
Function update_route_limit
public(package) fun update_route_limit(self: &mut bridge::limiter::TransferLimiter, route: &bridge::chain_ids::BridgeRoute, new_usd_limit: u64)
Click to open
Implementation
Function current_hour_since_epoch
fun current_hour_since_epoch(clock: &sui::clock::Clock): u64
Click to open
Implementation
Function adjust_transfer_records
fun adjust_transfer_records(self: &mut bridge::limiter::TransferRecord, current_hour_since_epoch: u64)
Click to open
Implementation
Function initial_transfer_limits
fun initial_transfer_limits(): sui::vec_map::VecMap<bridge::chain_ids::BridgeRoute, u64>
Click to open