convertToGenesisInfo function

GenesisInfo convertToGenesisInfo(
  1. GenesisInfo genesisInfo,
  2. TokenType tokenType
)

Implementation

types.GenesisInfo convertToGenesisInfo(
  pb.GenesisInfo genesisInfo,
  TokenType tokenType,
) {
  final decoder = Utf8Decoder();
  final returnedGenesisInfo = types.GenesisInfo(
    tokenTicker: decoder.convert(genesisInfo.tokenTicker),
    tokenName: decoder.convert(genesisInfo.tokenName),
    url: decoder.convert(genesisInfo.url),
    decimals: genesisInfo.decimals,
  );

  return switch (tokenType) {
    AlpTokenType _ => returnedGenesisInfo.copyWith(
      data: genesisInfo.data.toHex(),
      authPubKey: genesisInfo.authPubkey.toHex(),
    ),
    SlpTokenType slp when slp.type == SlpTokenTypeValue.mintVault =>
      returnedGenesisInfo.copyWith(
        mintVaultScripthash: genesisInfo.mintVaultScripthash.toHex(),
        hash: genesisInfo.hash.toHex(),
      ),
    SlpTokenType _ => returnedGenesisInfo.copyWith(
      hash: genesisInfo.hash.toHex(),
    ),
    _ => returnedGenesisInfo,
  };
}