writePackedData static method

dynamic writePackedData(
  1. dynamic value,
  2. dynamic type,
  3. dynamic format
)

Implementation

static writePackedData(value, type, format) {
  switch (type) {
    case 'int':
      return '0500' + writeSignedInt(value);
    case 'nat':
      return '0500' + writeInt(int.parse(value));
    case 'string':
      return '0501' + writeString(value)!;
    case 'key_hash':
      var address = writeAddress(value).substring(2);
      return '050a${dataLength(address.length / 2)}$address';
    case 'address':
      var address = writeAddress(value);
      return '050a${dataLength(address.length / 2)}$address';
    case 'bytes':
      var buffer = hex.encode(value);
      return '050a${dataLength(buffer.length / 2)}$buffer';
    default:
      throw new Exception('Unrecognized data type or format: $type, $format');
    // }
  }
}