Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

buck

Module0x3466…98bb
Move path
0xce7f…4db2::buck
Functions
9580 public, 5 entry
Structs
14
Friend modules
None
buck

Declarations

Rebuilt from the module interface. No verified source is published, and function bodies are only available as bytecode.

module buck;
struct AdminCap has store, key {
id: UID,
}
struct BUCK has drop {
dummy_field: bool,
}
struct BUCKET_PROTOCOL has drop {
dummy_field: bool,
}
struct BucketProtocol has key {
id: UID,
version: u64,
buck_treasury_cap: TreasuryCap<BUCK>,
min_bottle_size: u64,
}
struct BucketType<phantom T0> has copy, drop, store {
dummy_field: bool,
}
struct FlashMintConfig has store, key {
id: UID,
fee_rate: u64,
max_amount: u64,
total_amount: u64,
}
struct FlashMintReceipt {
config_id: ID,
mint_amount: u64,
fee_amount: u64,
}
struct NoFeePermission has key {
id: UID,
}
struct ReservoirType<phantom T0> has copy, drop, store {
dummy_field: bool,
}
struct SBuckEmission has store, key {
id: UID,
latest_time: u64,
}
struct SBuckRateKey has copy, drop, store {
dummy_field: bool,
}
struct TankType<phantom T0> has copy, drop, store {
dummy_field: bool,
}
struct TestVersion has store, key {
id: UID,
version: u64,
}
struct WellType<phantom T0> has copy, drop, store {
dummy_field: bool,
}
public fun add_interest_table_to_bucket<T0>(&AdminCap,&mut BucketProtocol,&Clock)
public fun add_pending_record_to_bucket<T0>(&AdminCap,&mut BucketProtocol)
public fun add_test_version(&AdminCap,&mut BucketProtocol,u64)
public fun adjust_pending_record<T0>(&AdminCap,&mut BucketProtocol)
fun assert_valid_package_version(&BucketProtocol)
public fun borrow<T0>(&mut BucketProtocol,&bucket_oracle::BucketOracle,&Clock,Balance<T0>,u64,Option<address>): Balance<BUCK>
public fun borrow_bucket<T0>(&BucketProtocol): &bucket::Bucket<T0>
fun borrow_bucket_mut<T0>(&mut BucketProtocol): &mut bucket::Bucket<T0>
public fun borrow_pipe<T0, T1: drop>(&BucketProtocol): &pipe::Pipe<T0, T1>
fun borrow_pipe_mut<T0, T1: drop>(&mut BucketProtocol): &mut pipe::Pipe<T0, T1>
public fun borrow_reservoir<T0>(&BucketProtocol): &reservoir::Reservoir<T0>
fun borrow_reservoir_mut<T0>(&mut BucketProtocol): &mut reservoir::Reservoir<T0>
public fun borrow_tank<T0>(&BucketProtocol): &tank::Tank<BUCK, T0>
public fun borrow_tank_mut<T0>(&mut BucketProtocol): &mut tank::Tank<BUCK, T0>
public fun borrow_well<T0>(&BucketProtocol): &well::Well<T0>
public fun borrow_well_mut<T0>(&mut BucketProtocol): &mut well::Well<T0>
public fun borrow_with_strap<T0>(&mut BucketProtocol,&bucket_oracle::BucketOracle,&strap::BottleStrap<T0>,&Clock,Balance<T0>,u64,Option<address>): Balance<BUCK>
public fun buck_to_sbuck(&mut BucketProtocol,&mut sbuck::Flask<BUCK>,&Clock,Balance<BUCK>): Balance<sbuck::SBUCK>
fun burn_buck<T0>(&mut BucketProtocol,Balance<BUCK>)
public fun burn_sbuck(&mut BucketProtocol,&mut sbuck::Flask<BUCK>,Coin<sbuck::SBUCK>): Balance<BUCK>
public fun charge_reservoir<T0>(&mut BucketProtocol,Balance<T0>): Balance<BUCK>
public fun charge_reservoir_by_partner<T0, T1: drop>(&mut BucketProtocol,Balance<T0>,T1): Balance<BUCK>
fun charge_reservoir_internal<T0>(&mut BucketProtocol,Balance<T0>,u64): Balance<BUCK>
public fun charge_reservoir_without_fee<T0>(&NoFeePermission,&mut BucketProtocol,Balance<T0>): Balance<BUCK>
fun collect_interest(&mut BucketProtocol,&mut sbuck::Flask<BUCK>,&Clock)
public fun collect_interests<T0>(&mut BucketProtocol)
public fun collect_interests_to_flask<T0>(&mut BucketProtocol,&mut sbuck::Flask<BUCK>)
public fun compute_base_rate_fee<T0>(&bucket::Bucket<T0>,&Clock): u64
public entry fun create_bucket<T0>(&AdminCap,&mut BucketProtocol,u64,u64,u8,Option<u64>)
public fun create_bucket_with_interest_table<T0>(&AdminCap,&mut BucketProtocol,u64,u64,u8,Option<u64>,&Clock,u256)
public fun create_flash_mint_config_to(&AdminCap,u64,u64,address)
public fun create_no_fee_permission_to(&AdminCap, address)
public fun create_pipe<T0, T1: drop>(&AdminCap,&mut BucketProtocol)
public fun create_reservoir<T0>(&AdminCap,&mut BucketProtocol,u64,u64,u64)
public fun deposit_surplus_with_strap<T0>(&mut BucketProtocol,Balance<T0>,&strap::BottleStrap<T0>)
public fun destroy_pipe<T0, T1: drop>(&AdminCap,&mut BucketProtocol)
public fun discharge_reservoir<T0>(&mut BucketProtocol,Balance<BUCK>): Balance<T0>
public fun discharge_reservoir_by_partner<T0, T1: drop>(&mut BucketProtocol,Balance<BUCK>,T1): Balance<T0>
fun discharge_reservoir_internal<T0>(&mut BucketProtocol,Balance<BUCK>,u64): Balance<T0>
public fun discharge_reservoir_without_fee<T0>(&NoFeePermission,&mut BucketProtocol,Balance<BUCK>): Balance<T0>
fun emission(&BucketProtocol): &SBuckEmission
fun emission_mut(&mut BucketProtocol): &mut SBuckEmission
public fun flash_borrow<T0>(&mut BucketProtocol,u64): (Balance<T0>, bucket::FlashReceipt<T0>)
public fun flash_borrow_buck<T0>(&mut BucketProtocol,u64): (Balance<BUCK>, tank::FlashReceipt<BUCK, T0>)
public fun flash_burn(&mut BucketProtocol,&mut FlashMintConfig,Balance<BUCK>,FlashMintReceipt)
public fun flash_mint(&mut BucketProtocol,&mut FlashMintConfig,u64): (Balance<BUCK>, FlashMintReceipt)
public fun flash_repay<T0>(&mut BucketProtocol,Balance<T0>,bucket::FlashReceipt<T0>)
public fun flash_repay_buck<T0>(&mut BucketProtocol,Balance<BUCK>,tank::FlashReceipt<BUCK, T0>)
public fun get_bottle_info_by_debtor<T0>(&BucketProtocol,address): (u64, u64)
public fun get_bottle_info_with_interest_by_debtor<T0>(&BucketProtocol,address,&Clock): (u64, u64)
public fun get_min_bottle_size(&BucketProtocol): u64
fun has_emission(&BucketProtocol): bool
fun init(BUCK)
public fun init_bottle_current_interest_index<T0>(&AdminCap,&mut BucketProtocol,address)
public fun init_bottle_interest_index<T0>(&AdminCap,&mut BucketProtocol,address,u256)
public fun input<T0, T1: drop>(&mut BucketProtocol,pipe::InputCarrier<T0, T1>)
public fun input_buck<T0: drop>(&mut BucketProtocol,pipe::InputCarrier<BUCK, T0>)
public fun interest_amount(&BucketProtocol,&sbuck::Flask<BUCK>,&Clock): u64
public fun is_buck<T0>(): bool
public fun is_liquidatable<T0>(&BucketProtocol,&bucket_oracle::BucketOracle,&Clock,address): bool
public fun liquidate_under_normal_mode<T0>(&mut BucketProtocol,&bucket_oracle::BucketOracle,&Clock,address): Balance<T0>
public fun liquidate_under_recovery_mode<T0>(&mut BucketProtocol,&bucket_oracle::BucketOracle,&Clock,address): Balance<T0>
fun mint_buck<T0>(&mut BucketProtocol,u64): Balance<BUCK>
public fun mint_sbuck(&mut BucketProtocol,&mut sbuck::Flask<BUCK>,Coin<BUCK>): Balance<sbuck::SBUCK>
fun new_protocol(BUCK): (BucketProtocol, AdminCap)
public fun new_strap_with_fee_rate_to<T0>(&AdminCap,u64,address)
fun normally_liquidate<T0>(&mut BucketProtocol,&bucket_oracle::BucketOracle,&Clock,address,Option<u64>): Balance<T0>
public fun output<T0, T1: drop>(&mut BucketProtocol,u64): pipe::OutputCarrier<T0, T1>
public fun output_buck<T0: drop>(&mut BucketProtocol,u64): pipe::OutputCarrier<BUCK, T0>
public fun package_version(): u64
public fun redeem<T0>(&mut BucketProtocol,&bucket_oracle::BucketOracle,&Clock,Balance<BUCK>,Option<address>): Balance<T0>
public entry fun release_bkt<T0>(&AdminCap,&mut BucketProtocol,&mut bkt::BktTreasury,u64)
public fun remove_test_version(&AdminCap,&mut BucketProtocol)
public fun repay<T0>(&mut BucketProtocol,Balance<BUCK>): Balance<T0>
public fun repay_debt<T0>(&mut BucketProtocol,Balance<BUCK>,&Clock): Balance<T0>
public fun repay_with_strap<T0>(&mut BucketProtocol,&strap::BottleStrap<T0>,Balance<BUCK>,&Clock): Balance<T0>
public fun sbuck_to_buck(&mut BucketProtocol,&mut sbuck::Flask<BUCK>,&Clock,Balance<sbuck::SBUCK>): Balance<BUCK>
public fun set_interest_rate<T0>(&AdminCap,&mut BucketProtocol,u256,&Clock)
public fun set_reservoir_partner<T0, T1: drop>(&AdminCap,&mut BucketProtocol,u64,u64)
public fun set_sbuck_rate(&AdminCap,&mut BucketProtocol,&mut sbuck::Flask<BUCK>,&Clock,u64)
public fun share_flash_mint_config(&AdminCap,u64,u64)
public fun tank_withdraw<T0>(&mut BucketProtocol,&bucket_oracle::BucketOracle,&Clock,&mut bkt::BktTreasury,tank::ContributorToken<BUCK, T0>): (Balance<BUCK>, Balance<T0>, Balance<bkt::BKT>)
public fun top_up<T0>(&mut BucketProtocol,Balance<T0>,address,Option<address>)
public fun top_up_coll<T0>(&mut BucketProtocol,Balance<T0>,address,Option<address>,&Clock)
public fun transfer_bottle<T0>(&mut BucketProtocol,&Clock,address)
public fun update_flash_mint_config(&AdminCap,&mut FlashMintConfig,u64,u64)
public fun update_liquidation_config<T0>(&AdminCap,&mut BucketProtocol,&bucket_oracle::BucketOracle,&Clock,u64,u64)
public entry fun update_max_mint_amount<T0>(&AdminCap,&mut BucketProtocol,Option<u64>)
public entry fun update_min_bottle_size(&AdminCap,&mut BucketProtocol,u64)
public entry fun update_protocol_version(&AdminCap,&mut BucketProtocol,u64)
public fun update_reservoir_fee_rate<T0>(&AdminCap,&mut BucketProtocol,u64,u64)
public fun withdraw<T0>(&mut BucketProtocol,&bucket_oracle::BucketOracle,&Clock,u64,Option<address>): Balance<T0>
public fun withdraw_surplus_collateral<T0>(&mut BucketProtocol): Balance<T0>
public fun withdraw_surplus_with_strap<T0>(&mut BucketProtocol,&strap::BottleStrap<T0>): Balance<T0>
public fun withdraw_with_strap<T0>(&mut BucketProtocol,&bucket_oracle::BucketOracle,&strap::BottleStrap<T0>,&Clock,u64,Option<address>): Balance<T0>