Module 0xa2::gas_service_v0
use 0x2::balance;
use 0x2::coin;
use 0x2::sui;
use 0x2::tx_context;
use 0xb0::version_control;
Struct GasService_v0
struct GasService_v0 has store
Fields
-
balance: balance::Balance<sui::SUI>
-
-
version_control: version_control::VersionControl
-
Function new
public(friend) fun new(version_control: version_control::VersionControl): gas_service_v0::GasService_v0
Implementation
public(package) fun new(version_control: VersionControl): GasService_v0 {
GasService_v0 {
balance: balance::zero<SUI>(),
version_control,
}
}
Function version_control
public(friend) fun version_control(self: &gas_service_v0::GasService_v0): &version_control::VersionControl
Implementation
public(package) fun version_control(self: &GasService_v0): &VersionControl {
&self.version_control
}
Function put
public(friend) fun put(self: &mut gas_service_v0::GasService_v0, coin: coin::Coin<sui::SUI>)
Implementation
public(package) fun put(self: &mut GasService_v0, coin: Coin<SUI>) {
coin::put(&mut self.balance, coin);
}
Function take
public(friend) fun take(self: &mut gas_service_v0::GasService_v0, amount: u64, ctx: &mut tx_context::TxContext): coin::Coin<sui::SUI>
Implementation
public(package) fun take(
self: &mut GasService_v0,
amount: u64,
ctx: &mut TxContext,
): Coin<SUI> {
coin::take(&mut self.balance, amount, ctx)
}