encodeTo method

  1. @override
void encodeTo(
  1. Phase value,
  2. Output output
)
override

Encode phase information to output

Implementation

@override
void encodeTo(Phase value, Output output) {
  switch (value.type) {
    case PhaseType.applyExtrinsic:
      // Write variant index
      output.pushByte(0);
      // Write extrinsic index
      if (value.extrinsicIndex == null) {
        throw MetadataException('ApplyExtrinsic phase must have extrinsicIndex');
      }
      U32Codec.codec.encodeTo(value.extrinsicIndex!, output);
      break;

    case PhaseType.finalization:
      // Write variant index
      output.pushByte(1);
      break;

    case PhaseType.initialization:
      // Write variant index
      output.pushByte(2);
      break;
  }
}