CW20
Introduction
The CW20 ADO is a smart contract to initiate a standard CW20 token. CW20 is a specification for fungible tokens based on CosmWasm. The name and design is loosely based on Ethereum's ERC20 standard, but many changes have been made.
Ado_type: cw20
Version: 2.0.5
InstantiateMsg
The symbol can only consist of letters and has to be between 3 and 12 characters.
Decimals will indicate how divisible your token is. Having a decimal of 6 means you could have 0.000001 of your token. Showcasing the decimalized amounts is usually handled by the front-end interface that would take the amount of tokens and divide it by the number of decimals. This means that when you transfer or send tokens from this ADO directly, you would still use whole numbers. For example, if I want to transfer 5 full tokens to someone and I have 6 decimals for my token, I would be sending 5000000 tokens from this ADO.
Cw20Coin
Struct used to initiate balances for addresses. Contains an address and the amount of tokens for that address.
InstantiateMarketingInfo
Struct used to store the marketing related data of the token.
Logo
Url: A reference to an externally hosted logo. Must be a valid HTTP or HTTPS URL.
Embedded: Logo content stored on the blockchain. Enforce maximum size of 5KB on all variants
EmbeddedLogo
Svg: Store the Logo as an SVG file. The content must conform to the specifications found here.
Png: Store the Logo as a PNG file. This will likely only support up to 64x64 or so within the 5KB limit.
MinterResponse
The cap refers to the total supply. If it is not specified, then there is an unlimited cap.
ExecuteMsg
Mint
Only with the "mint" extension. If authorized, creates amount new tokens and adds to the recipient balance.
Transfer
Transfer is a base message to move tokens to another account without triggering actions.
Send
Send is a base message to transfer tokens to a contract and trigger an action on the receiving contract.
The amount
sent might be affected depending on the attached modules.
The msg
should be base64 encoded and not raw binary.
This message is used when sending tokens to other ADOs that interact with CW20 tokens. In that case, the msg
should be a CW20HookMsg that would be defined in the ADOs documentation page.
Burn
Burn is a base message to destroy tokens forever
IncreaseAllowance
Sets an amount
of tokens from the owner that the specified spender
can interact with.
A new Expiration will overwrite a previous one.
DecreaseAllowance
Decreases the allowance set for the spender
by the set amount.
The amount specified in DecreaseAllowance
does not replace the old amount but is subtracted from it. If the result is 0 or less, then the spender no longer has an Allowance from the owner.
If an Expiration
is set, it will overwrite previously set Expiration
TransferFrom
Transfers the amount
of tokens from the owner
address to the recipient.
The amount specified
cannot exceed the allowance of the address executing TransferFrom.
SendFrom
Sends the amount
of tokens from the owner
address to the contract
address. Can use a msg to trigger an action on the receiving contract.
The amount specified
cannot exceed the allowance of the address executing TransferFrom.
The msg
should be base64 encoded and not raw binary.
BurnFrom
Burns a specified amount
of tokens from the owner
address forever.
The amount specified
cannot exceed the allowance of the address executing BurnFrom.
UpdateMarketing
Updates the marketing information if instantiated.
Setting None/null for any of these will leave it unchanged
UploadLogo
Uploads a Logo for the token.
Check Logo.
UpdateMinter
Only with the "mintable" extension. The current minter may set a new minter. Setting the minter to None will remove the token's minter forever.
Only available to the current minter.
Base Executes
The rest of the execute messages can be found in the ADO Base section.
QueryMsg
Balance
Queries the balance of a specific address.
BalanceResponse
TokenInfo
Returns metadata on the contract.
TokenInfoResponse
Minter
Returns who can mint and the hard cap on maximum tokens after minting
MinterResponse
Allowance
Returns the amount of tokens that the spender has from the owner's tokens and the expiration for the tokens.
AllowanceResponse
AllAllowanaces
Returns all the allowances that the specified owner
has given along with the information for each allowance.
AllAllowanceResponse
AllowanceInfo
AllSpenderAllowances
Returns all allowances this spender has been granted. Supports pagination.
AllAccounts
Returns all the addresses that have a balance.
AllAccountsResponse
MarketingInfo
Returns the metadata of the marketing of the project.
MarketingInfoResponse
DownloadLogo
Downloads the embedded logo data (if stored on chain). Errors if no logo data stored for this contract.
DownloadLogoResponse
Base Queries
The rest of the query messages can be found in the ADO Base section.
Last updated