decode method Null safety

XdrAuthorizedInvocation decode(
  1. XdrDataInputStream stream
)

Implementation

static XdrAuthorizedInvocation decode(XdrDataInputStream stream) {
  XdrHash contractID = XdrHash.decode(stream);
  String functionName = stream.readString();

  int argsSize = stream.readInt();
  List<XdrSCVal> args = List<XdrSCVal>.empty(growable: true);
  for (int i = 0; i < argsSize; i++) {
    args.add(XdrSCVal.decode(stream));
  }

  int subInvocationsSize = stream.readInt();
  List<XdrAuthorizedInvocation> subInvocations =
      List<XdrAuthorizedInvocation>.empty(growable: true);
  for (int i = 0; i < subInvocationsSize; i++) {
    subInvocations.add(XdrAuthorizedInvocation.decode(stream));
  }

  return XdrAuthorizedInvocation(
      contractID, functionName, args, subInvocations);
}