StakePoolCreateTokenMetaDataLayout constructor

StakePoolCreateTokenMetaDataLayout({
  1. required String name,
  2. required String uri,
  3. required String symbol,
})

Implementation

factory StakePoolCreateTokenMetaDataLayout({
  required String name,
  required String uri,
  required String symbol,
}) {
  final nameBytesLength = StringUtils.encode(name).length;
  final uriBytesLength = StringUtils.encode(uri).length;
  final symbolBytesLength = StringUtils.encode(symbol).length;
  if (nameBytesLength > StakePoolProgramConst.metadataMaxNameLength ||
      uriBytesLength > StakePoolProgramConst.metadataMaxUriLength ||
      symbolBytesLength > StakePoolProgramConst.metadataMaxSymbolLength) {
    throw const MessageException("Some fields exceed the maximum data limit.",
        details: {
          "metadataMaxNameLength":
              StakePoolProgramConst.metadataMaxNameLength,
          "metadataMaxUriLength": StakePoolProgramConst.metadataMaxUriLength,
          "metadataMaxSymbolLength":
              StakePoolProgramConst.metadataMaxSymbolLength
        });
  }

  return StakePoolCreateTokenMetaDataLayout._(name, uri, symbol);
}