Token

The Token contract is a modified implementation of the CW20 base, refitted to consider for bETH reward accruals.

Details on the CW20 specification can be found here.

Contract State

TokenInfo

Stores information about the bETH token.

#[derive(Serialize, Deserialize, Clone, PartialEq, JsonSchema, Debug)]
#[serde(rename_all = "snake_case")]
pub struct TokenInfo {
    pub name: String,
    pub symbol: String,
    pub decimals: u8,
    pub total_supply: Uint128,
    pub mint: Option<MinterData>,
}

Key

Type

Description

name

String

Name of bETH token

symbol

String

Symbol of bETH token

decimals

u8

Number of decimals of bETH

total_supply

Uint128

Total minted supply of bETH

mint*

MinterData

Minter information of bETH

* = not stored until value registered

MinterData

Store information about the bETH minter.

Key

Type

Description

minter

Addr

Address of minter

cap*

Uint128

Maximum number of mintable tokens

* = not stored until value registered

InstantiateMsg

Key

Type

Description

name

String

Name of bETH token

symbol

String

Symbol of bETH token

decimals

u8

Number of decimals of bETH

total_supply

Uint128

Total minted supply of bETH

mint*

MinterResponse

Minter information of bETH

reward_contract

String

Contract address of bETH Reward

* = optional

ExecuteMsg

Transfer

Transfers tokens to the specified address.

Key

Type

Description

recipient

String

Recipient address of token transfer

amount

Uint128

Amount of tokens to transfer

Burn

Burns the specified amount of tokens.

Key

Type

Description

amount

Uint128

Amount of tokens to burn

Send

Sends tokens to the specified contract address along with a message.

Key

Type

Description

contract

String

Contract address to send tokens to

amount

Uint128

Amount of tokens to send

msg

Binary

Base64-encoded JSON of receive hook message

Mint

Mints tokens to the specified address. Can only be issued by the minter.

Key

Type

Description

recipient

String

Address to mint tokens to

amount

Uint128

Amount of tokens to mint

IncreaseAllowance

Increases allowance for the specified spender address.

Key

Type

Description

spender

String

Address of spender

amount

Uint128

Amount of tokens to increase allowance for spender

expires*

Expiration

Information on when this allowance expires

* = optional

Key

Type

Description

AtHeight

u64

Allowance expires at specified block height

AtTime

Timestamp

Allowance expires at specified block timestamp

Never

nil

Allowance never expires

DecreaseAllowance

Decreases allowance for the specified spender address.

Key

Type

Description

spender

String

Address of spender

amount

Uint128

Amount of tokens to decrease allowance for spender

expires*

Expiration

Information on when this allowance expires

Key

Type

Description

AtHeight

u64

Allowance expires at specified block height

AtTime

Timestamp

Allowance expires at specified block timestamp

Never

nil

Allowance never expires

TransferFrom

Transfers tokens from the specified owner to the specified recipient. Requires unexpired allowance to be set beforehand.

Key

Type

Description

owner

String

Address to transfer tokens from

recipient

String

Address to transfer tokens to

amount

Uint128

Amount of tokens to transfer

SendFrom

Sends tokens from the specified owner to the specified contract, along with a message. Requires unexpired allowance to be set beforehand.

Key

Type

Description

owner

String

Address to send tokens from

contract

String

Address to send tokens to

amount

Uint128

Amount of tokens to send

msg

Binary

Base64-encoded JSON of receive hook msg

BurnFrom

Burns tokens from the specified owner. Requires unexpired allowance to be set beforehand.

Key

Type

Description

owner

String

Address to burn tokens from

amount

Uint128

Amount of tokens to burn

QueryMsg

Balance

Gets the balance for the specified address.

Request

Key

Type

Description

address

String

Address of holder to get balance

Response

Key

Type

Description

balance

Uint128

Amount of token balance

TokenInfo

Gets information for the token.

Request

Key

Type

Description

Response

Key

Type

Description

name

String

Name of token

symbol

String

Symbol of token

decimals

u8

Number of decimals of token

total_supply

Uint128

Total minted supply of token

Minter

Gets information for the token minter.

Request

Key

Type

Description

Response

Key

Type

Description

minter

String

Address of token minter

cap*

Uint128

Maximum number of mintable tokens

Allowance

Gets allowance information for the specified owner and spender.

Request

Key

Type

Description

owner

String

Address of owner

spender

String

Address of spender

Response

Key

Type

Description

allowance

String

Amount of owner's tokens spender is allowed to spend

expires

Expiration

Information on when this allowance expires

Key

Type

Description

AtHeight

u64

Allowance expires at specified block height

AtTime

Timestamp

Allowance expires at specified block timestamp

Never

nil

Allowance never expires

AllAllowances

Gets all allowance information for the specified owner.

Request

Key

Type

Description

owner

String

Address of owner

start_after*

String

Address of spender to start query

limit*

u32

Maximum number of query entries

* = optional

Response

Key

Type

Description

allowances

Vec<AllowanceInfo>

List of allowance information

Key

Type

Description

spender

String

Address of spender

allowance

String

Amount of owner's tokens spender is allowed to spend

expires

Expiration

Information on when this allowance expires

Key

Type

Description

AtHeight

u64

Allowance expires at specified block height

AtTime

Timestamp

Allowance expires at specified block timestamp

Never

nil

Allowance never expires

AllAccounts

Gets account information for all holders.

Request

Key

Type

Description

start_after*

String

Address of holder to start query

limit*

u32

Maximum number of query entries

* = optional

Response

Key

Type

Description

accounts

Vec<String>

List of holder addresses

Last updated

Was this helpful?