Module: TokenContract_Actions.cs
Function: Empty Create(CreateInput input)
Creates a new token symbol. Should only be callable by a minter in the MinterMap
.
Inputs
input.Symbol
Validation: Must be nonempty and not an existing symbol.
Impact: Token symbol to create.
input.TokenName
Validation: Must be nonempty.
Impact: Name of token to create.
input.TotalSupply
Validation: Must be positive.
Impact: Total supply of the new token.
input.Decimals
Validation: None.
Impact: Decimals of the new token.
input.Issuer
Validation: None, except it is reset to sender if it is null.
Impact: Issuer of the token — can call
Issue
on it.
input.IsBurnable
Validation: None.
Impact: Whether the token can be burned.
input.ExternalInfo
Validation: None.
Impact: Mapping of arbitrary key values for external extensions.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function makes no external state-mutating calls.
Function: Empty Issue(IssueInput input)
Mints new tokens. Can only be called by the issuer of the specific symbol.
Inputs
input.Symbol
Validation: Must be an existing symbol.
Impact: Token symbol to mint.
input.Amount
Validation: Must be positive and not cause the total supply to be exceeded.
Impact: Amount of token to mint.
input.Memo
Validation: None.
Impact: Note to be passed to emitted event.
input.To
Validation: Not null.
Impact: Recipient of the new tokens.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function makes no external state-mutating calls.
Function: Empty Transfer(TransferInput input)
Transfers tokens from the sender to a specified recipient.
Inputs
input.To
Validation: Not null and not the sender.
Impact: Recipient of the tokens.
input.Symbol
Validation: Must be an existing symbol.
Impact: Token symbol to transfer.
input.Amount
Validation: Must not exceed sender's token balance.
Impact: Amount of token to transfer.
input.Memo
Validation: None.
Impact: Note to be passed to emitted event.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function may make an arbitrary external call through ExternalInfo
.
Function: Empty TransferFrom(TransferFromInput input)
Transfers tokens from a sender that has allowed the caller to spend their tokens to a specified recipient.
Inputs
input.From
Validation: Not null.
Impact: Sender of the tokens.
input.To
Validation: Not null and not the sender.
Impact: Recipient of the tokens.
input.Symbol
Validation: Must be an existing symbol.
Impact: Token symbol to transfer.
input.Amount
Validation: Must not exceed sender's token balance or the spender's allowance from the sender.
Impact: Amount of token to transfer.
input.Memo
Validation: None.
Impact: Note to be passed to emitted event.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function may make an arbitrary external call through ExternalInfo
.
Function: Empty Approve(ApproveInput input)
Increases the allowance for a given spender to spend the sender's tokens.
Inputs
input.Spender
Validation: Not null.
Impact: Spender of the tokens.
input.Symbol
Validation: Must be an existing symbol.
Impact: Token symbol to change the allowance on.
input.Amount
Validation: Must be nonnegative.
Impact: Amount of allowance to add.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function makes no external state-mutating calls.
Function: Empty UnApprove(UnApproveInput input)
Decreases the allowance for a given spender to spend the sender's tokens.
Inputs
input.Spender
Validation: Not null.
Impact: Spender of the tokens.
input.Symbol
Validation: Must be an existing symbol.
Impact: Token symbol to change the allowance on.
input.Amount
Validation: Must be nonnegative.
Impact: Amount of allowance to remove.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function makes no external state-mutating calls.
Function: Empty Burn(BurnInput input)
Burns tokens owned by the sender, decreasing the supply.
Inputs
input.Symbol
Validation: Must be an existing burnable symbol.
Impact: Token symbol to burn.
input.Amount
Validation: Must be nonnegative. Sender must have that amount of tokens.
Impact: Amount of token to burn.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function makes no external state-mutating calls.
Function: Empty ResetExternalInfo(ResetExternalInfoInput input)
Changes the ExternalInfo
associated with a symbol. Only callable by the issuer of the symbol.
Inputs
input.Symbol
Validation: Must be an existing symbol whose issuer is the sender.
Impact: Token symbol to modify.
input.ExternalInfo
Validation: None.
Impact: Mapping of arbitrary key values for external extensions.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function makes no external state-mutating calls.
Function: Empty AddMinter(Address input)
Adds an address to the MinterMap
to allow them to create tokens. Only callable by the owner.
Inputs
input
Validation: None.
Impact: Address to add.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function makes no external state-mutating calls.
Function: Empty RemoveMinter(Address input)
Removes an address from the MinterMap
. Only callable by the owner.
Inputs
input
Validation: None.
Impact: Address to remove.
Branches and code coverage (including function calls)
Intended branches
Negative behavior
Function call analysis
This function makes no external state-mutating calls.