static async Task <Transaction> BuildTransaction(KeyPair keyPair, double amount, string appendedMemo = "") { amount = amount / 100; var destinationKeyPair = KeyPair.FromAccountId("GDL6CWJER7TOXIWMFTOLVUZU4GKT547OCTNPOTXISJGI4SSOPEQTC3HT"); PaymentOperation.Builder paymentOperationBuilder = new PaymentOperation.Builder(destinationKeyPair, _asset, amount.ToString(CultureInfo.InvariantCulture)) .SetSourceAccount(keyPair); PaymentOperation paymentOperation = paymentOperationBuilder.Build(); var accountResponse = await _server.Accounts.Account(keyPair); Transaction.Builder paymentTransaction = new Transaction.Builder(new Account(keyPair, accountResponse.SequenceNumber)).AddOperation(paymentOperation); paymentTransaction.AddMemo(new MemoText($"1-rced-{appendedMemo}")); var transaction = paymentTransaction.Build(); transaction.Sign(keyPair); return(transaction); }
private Task <Transaction> GetTransaction(KeyPair sourceKeyPair, KeyPair destinationKeyPair, AccountResponse sourceAccount, double amount, string marketPlaceOrderId = null) { PaymentOperation.Builder paymentOperationBuilder = new PaymentOperation.Builder(destinationKeyPair, _kinAsset, amount.ToString(CultureInfo.InvariantCulture)) .SetSourceAccount(sourceKeyPair); PaymentOperation paymentOperation = paymentOperationBuilder.Build(); Transaction.Builder paymentTransaction = new Transaction.Builder(new Account(sourceKeyPair, sourceAccount.SequenceNumber)).AddOperation( paymentOperation); string toAppend = string.IsNullOrEmpty(marketPlaceOrderId) ? "p2p" : marketPlaceOrderId; paymentTransaction.AddMemo(new MemoText($"1-{_appId}-{toAppend}")); Transaction transaction = paymentTransaction.Build(); transaction.Sign(sourceKeyPair); return(Task.FromResult(transaction)); }
private async Task <SubmitTransactionResponse> SendPaymentOperation(KeyPair sourceKeyPair, KeyPair destinationKeyPair, AccountResponse sourceAccount, double amount, string marketPlaceOrderId = null) { PaymentOperation.Builder paymentOperationBuilder = new PaymentOperation.Builder(destinationKeyPair, _kinAsset, amount.ToString(CultureInfo.InvariantCulture)) .SetSourceAccount(sourceKeyPair); PaymentOperation paymentOperation = paymentOperationBuilder.Build(); Transaction.Builder paymentTransaction = new Transaction.Builder(new Account(sourceKeyPair, sourceAccount.SequenceNumber)).AddOperation( paymentOperation); string toAppend = string.IsNullOrEmpty(marketPlaceOrderId) ? "p2p" : marketPlaceOrderId; paymentTransaction.AddMemo(new MemoText($"1-test-{toAppend}")); Transaction transaction = paymentTransaction.Build(); transaction.Sign(sourceKeyPair); return(await _server.SubmitTransaction(transaction).ConfigureAwait(false)); }