import StellarSdk from 'stellar-sdk' import Swal from "sweetalert2"; import '@sweetalert2/theme-dark/dark.css' const server = new StellarSdk.Server('https://horizon.stellar.org'); // const server = new StellarSdk.Server('https://horizon.stellar.org'); const fee = server.fetchBaseFee(); export default function getAccount(privatekey){ const keypair = StellarSdk.Keypair.fromSecret(privatekey) return server.loadAccount(keypair.publicKey()) } export function getAddress(privatekey){ const keypair = StellarSdk.Keypair.fromSecret(privatekey) return keypair.publicKey() } export function getFee(){ return fee } export function send(amount, privatekey, destination, memo){ console.log(amount) console.log(privatekey) if(memo === undefined || memo === null){ memo = "."; } const keypair = StellarSdk.Keypair.fromSecret(privatekey) server.loadAccount(keypair.publicKey()).then(account => { console.log(account) try{ const transaction = new StellarSdk.TransactionBuilder(account, {fee, networkPassphrase: StellarSdk.Networks.PUBLIC}) // Add a payment operation to the transaction .addOperation(StellarSdk.Operation.payment({ destination: destination, // The term native asset refers to lumens asset: new StellarSdk.Asset("BLC", "GC4PNLO7X3AVON2RZQ44FJDPODB5RCWORWJY6O5I4O7GHSWFECGDF662"), // Specify 350.1234567 lumens. Lumens are divisible to seven digits past // the decimal. They are represented in JS Stellar SDK in string format // to avoid errors from the use of the JavaScript Number data structure. amount: amount, })) // Make this transaction valid for the next 30 seconds only .setTimeout(30) .addMemo(StellarSdk.Memo.text(memo)) // Uncomment to add a memo (https://www.stellar.org/developers/learn/concepts/transactions.html) // .addMemo(StellarSdk.Memo.text('Hello world!')) .build(); // Sign this transaction with the secret key // NOTE: signing is transaction is network specific. Test network transactions // won't work in the public network. To switch networks, use the Network object // as explained above (look for StellarSdk.Network). transaction.sign(keypair) try { server.submitTransaction(transaction); } catch (e) { console.log('An error has occured:'); console.log(e); }Swal.fire({ title: "Payment sent successfully", icon: "success", confirmButtonText: "OK", });} catch(err){ console.log(err) Swal.fire({ title: "Error!", text: "Invalid Transaction Data", icon: "error", confirmButtonText: "OK", }); } }); // Let's see the XDR (encoded in base64) of the transaction we just built // Submit the transaction to the Horizon server. The Horizon server will then // submit the transaction into the network for us. }