axelar-cgp-sui

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)
}