toXdr method Null safety

  1. @override
XdrHostFunction toXdr()
override

Implementation

@override
XdrHostFunction toXdr() {
  List<XdrSCVal> invokeArgsList = List<XdrSCVal>.empty(growable: true);

  // contract id
  XdrSCVal contractIDScVal =
      XdrSCVal.forBytes(Util.hexToBytes(this._contractID));
  invokeArgsList.add(contractIDScVal);

  // function name
  XdrSCVal functionNameScVal = XdrSCVal(XdrSCValType.SCV_SYMBOL);
  functionNameScVal.sym = this._functionName;
  invokeArgsList.add(functionNameScVal);

  // arguments for the function call
  if (this.arguments != null) {
    invokeArgsList.addAll(this.arguments!);
  }

  XdrHostFunctionArgs args =
      XdrHostFunctionArgs.forInvokingContractWithArgs(invokeArgsList);
  return XdrHostFunction(args, ContractAuth.toXdrList(auth));
}