makeInvokeTx method

Future<Transaction> makeInvokeTx (String fnName, List params, Address contract, { int gasPrice, int gasLimit, Address payer })

Implementation

Future<Transaction> makeInvokeTx(
    String fnName, List<dynamic> params, Address contract,
    {int gasPrice, int gasLimit, Address payer}) async {
  var tx = await Transaction.create();

  var pb = VmParamsBuilder();
  pb.pushFn(fnName, params);

  var sb = ScriptBuilder();
  sb.pushRawBytes(pb.buf.bytes);
  sb.pushOpcode(OpCode.appcall);
  sb.pushRawBytes(contract.valueLE);

  var payload = InvokeCode();
  payload.code = sb.buf.bytes;
  tx.payload = payload;

  tx.gasPrice = gasPrice;
  tx.gasLimit = gasLimit;
  tx.payer = payer;
  return tx;
}