coinley-checkout 0.7.7 → 0.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20557,18 +20557,7 @@ const QRCode = ({
20557
20557
  let paymentData;
20558
20558
  switch (network) {
20559
20559
  case "algorand":
20560
- if (currency === "ALGO") {
20561
- const microAlgos = Math.floor(parseFloat(amount) * 1e6);
20562
- paymentData = `algorand://${walletAddress}?amount=${microAlgos}&note=Payment`;
20563
- } else {
20564
- const tokenConfig = getTokenConfigForCurrency(currency, "algorand");
20565
- if (tokenConfig && tokenConfig.assetId) {
20566
- const assetAmount = Math.floor(parseFloat(amount) * Math.pow(10, tokenConfig.decimals));
20567
- paymentData = `algorand://${walletAddress}?asset=${tokenConfig.assetId}&amount=${assetAmount}&note=Payment`;
20568
- } else {
20569
- paymentData = walletAddress;
20570
- }
20571
- }
20560
+ paymentData = generateAlgorandQR(walletAddress, amount, currency);
20572
20561
  break;
20573
20562
  case "tron":
20574
20563
  if (currency === "TRX") {
@@ -20610,6 +20599,40 @@ const QRCode = ({
20610
20599
  setQrError("Error generating payment QR code");
20611
20600
  }
20612
20601
  }, [walletAddress, amount, currency, network]);
20602
+ const generateAlgorandQR = (address, amount2, currency2) => {
20603
+ try {
20604
+ const amountFloat = parseFloat(amount2);
20605
+ if (currency2 === "ALGO") {
20606
+ const microAlgos = Math.floor(amountFloat * 1e6);
20607
+ const peraPayment = {
20608
+ receiver: address,
20609
+ amount: microAlgos,
20610
+ note: btoa("Payment via Coinley")
20611
+ // Base64 encoded note
20612
+ };
20613
+ return `algorand://pay?receiver=${peraPayment.receiver}&amount=${peraPayment.amount}&note=${peraPayment.note}`;
20614
+ } else {
20615
+ const tokenConfig = getTokenConfigForCurrency(currency2, "algorand");
20616
+ if (tokenConfig && tokenConfig.assetId) {
20617
+ const assetAmount = Math.floor(amountFloat * Math.pow(10, tokenConfig.decimals));
20618
+ const peraAssetPayment = {
20619
+ receiver: address,
20620
+ amount: assetAmount,
20621
+ assetId: tokenConfig.assetId,
20622
+ note: btoa(`${currency2} Payment via Coinley`)
20623
+ // Base64 encoded note
20624
+ };
20625
+ return `algorand://pay?receiver=${peraAssetPayment.receiver}&amount=${peraAssetPayment.amount}&asset=${peraAssetPayment.assetId}&note=${peraAssetPayment.note}`;
20626
+ } else {
20627
+ console.warn(`Token config not found for ${currency2} on Algorand`);
20628
+ return address;
20629
+ }
20630
+ }
20631
+ } catch (error) {
20632
+ console.error("Error generating Algorand QR:", error);
20633
+ return address;
20634
+ }
20635
+ };
20613
20636
  const getTokenConfigForCurrency = (currency2, network2) => {
20614
20637
  var _a2;
20615
20638
  const tokenConfigs = {