Skip to main content
Architecture
modules
fungible
Messages

Messages

MsgDeployFungibleCoinZRC20

Deploys a fungible coin from a connected chains as a ZRC20 on ZetaChain.

If this is a gas coin, the following happens:

  • ZRC20 contract for the coin is deployed
  • contract address of ZRC20 is set as a token address in the system contract
  • ZETA tokens are minted and deposited into the module account
  • setGasZetaPool is called on the system contract to add the information about the pool to the system contract
  • addLiquidityETH is called to add liquidity to the pool

If this is a non-gas coin, the following happens:

  • ZRC20 contract for the coin is deployed
  • The coin is added to the list of foreign coins in the module's state

Only the admin policy account is authorized to broadcast this message.

message MsgDeployFungibleCoinZRC20 {
string creator = 1;
string ERC20 = 2;
string foreignChain = 3;
uint32 decimals = 4;
string name = 5;
string symbol = 6;
common.CoinType coinType = 7;
int64 gasLimit = 8;
}

MsgRemoveForeignCoin

Removes a coin from the list of foreign coins in the module's state.

Only the admin policy account is authorized to broadcast this message.

message MsgRemoveForeignCoin {
string creator = 1;
string name = 2;
}

MsgUpdateSystemContract

message MsgUpdateSystemContract {
string creator = 1;
string newSystemContractAddress = 2;
}