makeNativeContractTx method

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

Implementation

Future<Transaction> makeNativeContractTx(
    String fnName, Uint8List params, Address contract,
    {int gasPrice, int gasLimit, Address payer}) async {
  var sb = ScriptBuilder();
  sb.pushRawBytes(params);
  sb.pushHex(Convert.strToBytes(fnName));
  sb.pushAddress(contract);
  sb.pushInt(0);
  sb.pushOpcode(OpCode.syscall);
  sb.pushHex(Convert.strToBytes(Constant.nativeInvokeName));
  var payload = InvokeCode();
  payload.code = sb.buf.bytes;

  var tx = await Transaction.create();
  tx.type = TxType.invoke;
  tx.payload = payload;
  tx.gasPrice = gasPrice;
  tx.gasLimit = gasLimit;
  tx.payer = payer;
  return tx;
}