sendTransferNativeCoin method

  1. @override
Future<BlockchainResponse> sendTransferNativeCoin(
  1. TransferRequest transferRequest
)
override

Implementation

@override
Future<BlockchainResponse> sendTransferNativeCoin(
    TransferRequest transferRequest) async {
  NearTransferRequest nearTransferRequest =
      transferRequest as NearTransferRequest;
  final transactionInfo = await getTransactionInfo(
    accountId: nearTransferRequest.publicKey!,
    publicKey: nearTransferRequest.publicKey!,
  );
  final gas = BlockchainGas.gas[BlockChains.near];
  if (gas == null) {
    throw Exception('Incorrect Blockchain Gas');
  }
  final actions = [
    {
      "type": "transfer",
      "data": {"amount": nearTransferRequest.transferAmount}
    }
  ];

  final signedAction = await signNearActions(
    fromAddress: nearTransferRequest.publicKey!,
    toAddress: nearTransferRequest.toAddress!,
    transferAmount: nearTransferRequest.transferAmount!,
    privateKey: nearTransferRequest.privateKey!,
    gas: gas,
    nonce: transactionInfo.nonce,
    blockHash: transactionInfo.blockHash,
    actions: actions,
  );
  final res = await nearRpcClient.sendSyncTx([signedAction]);
  return res;
}