pub trait Snip20: VkAuth + Admin {
type Error: Display;
Show 36 methods
// Required methods
fn new(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
name: String,
admin: Option<String>,
symbol: String,
decimals: u8,
initial_balances: Option<Vec<InitialBalance>>,
prng_seed: Binary,
config: Option<TokenConfig>,
supported_denoms: Option<Vec<String>>,
callback: Option<Callback<String>>
) -> Result<Response, <Self as Snip20>::Error>;
fn deposit(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
decoys: Option<Vec<String>>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn redeem(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
amount: Uint128,
denom: Option<String>,
decoys: Option<Vec<String>>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn transfer(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
recipient: String,
amount: Uint128,
memo: Option<String>,
decoys: Option<Vec<String>>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn send(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
recipient: String,
recipient_code_hash: Option<String>,
amount: Uint128,
memo: Option<String>,
msg: Option<Binary>,
decoys: Option<Vec<String>>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn burn(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
amount: Uint128,
memo: Option<String>,
decoys: Option<Vec<String>>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn register_receive(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
code_hash: String,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn increase_allowance(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
spender: String,
amount: Uint128,
expiration: Option<u64>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn decrease_allowance(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
spender: String,
amount: Uint128,
expiration: Option<u64>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn transfer_from(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
owner: String,
recipient: String,
amount: Uint128,
memo: Option<String>,
decoys: Option<Vec<String>>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn send_from(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
owner: String,
recipient: String,
recipient_code_hash: Option<String>,
amount: Uint128,
memo: Option<String>,
msg: Option<Binary>,
decoys: Option<Vec<String>>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn burn_from(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
owner: String,
amount: Uint128,
memo: Option<String>,
decoys: Option<Vec<String>>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn mint(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
recipient: String,
amount: Uint128,
memo: Option<String>,
decoys: Option<Vec<String>>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn add_minters(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
minters: Vec<String>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn remove_minters(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
minters: Vec<String>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn set_minters(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
minters: Vec<String>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn add_supported_denoms(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
denoms: Vec<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn remove_supported_denoms(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
denoms: Vec<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn batch_transfer(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
actions: Vec<TransferAction>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn batch_send(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
actions: Vec<SendAction>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn batch_transfer_from(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
actions: Vec<TransferFromAction>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn batch_send_from(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
actions: Vec<SendFromAction>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn batch_burn_from(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
actions: Vec<BurnFromAction>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn batch_mint(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
actions: Vec<MintAction>,
entropy: Option<Binary>,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn revoke_permit(
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
permit_name: String,
padding: Option<String>
) -> Result<Response, <Self as Snip20>::Error>;
fn exchange_rate(
deps: Deps<'_>,
env: Env
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn token_info(
deps: Deps<'_>,
env: Env
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn token_config(
deps: Deps<'_>,
env: Env
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn minters(
deps: Deps<'_>,
env: Env
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn allowance(
deps: Deps<'_>,
env: Env,
owner: String,
spender: String,
key: String
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn balance(
deps: Deps<'_>,
env: Env,
address: String,
key: String
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn transfer_history(
deps: Deps<'_>,
env: Env,
address: String,
key: String,
page: Option<u32>,
page_size: u32,
should_filter_decoys: bool
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn transaction_history(
deps: Deps<'_>,
env: Env,
address: String,
key: String,
page: Option<u32>,
page_size: u32,
should_filter_decoys: bool
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn allowances_given(
deps: Deps<'_>,
env: Env,
owner: String,
key: String,
page: Option<u32>,
page_size: u32
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn allowances_received(
deps: Deps<'_>,
env: Env,
spender: String,
key: String,
page: Option<u32>,
page_size: u32
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
fn with_permit(
deps: Deps<'_>,
env: Env,
permit: Permit<QueryPermission>,
query: QueryWithPermit
) -> Result<QueryAnswer, <Self as Snip20>::Error>;
}
Expand description
Interface trait that defines all methods of the SNIP-20 standard.
See fadroma::scrt::snip20::contract
for the default implementation.