feat: Improve Stellar fee calculation, fix XDR parsing, and enhance send address UI with full address display and copy button.
This commit is contained in:
parent
c1c7f30c3b
commit
7bf5065742
19
index.html
19
index.html
@ -417,9 +417,14 @@
|
||||
<div class="balance-display">
|
||||
<div class="balance-amount" id="send-balance">0 <span class="currency">XLM</span></div>
|
||||
</div>
|
||||
<div class="address-display">
|
||||
<span class="address-label">Address:</span>
|
||||
<span class="address-value" id="send-from-address">-</span>
|
||||
<div class="detail-row">
|
||||
<label>From Address</label>
|
||||
<div class="detail-value-wrapper">
|
||||
<code id="send-from-address" class="detail-value">-</code>
|
||||
<button class="input-action-btn clear-btn" onclick="copyToClipboard('send-from-address')" title="Copy address">
|
||||
<i class="fa-regular fa-copy"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1155,7 +1160,7 @@
|
||||
|
||||
const balanceEl = document.getElementById('send-balance');
|
||||
balanceEl.innerHTML = accountInfo.balanceXlm.toFixed(7) + ' <span class="currency">XLM</span>';
|
||||
document.getElementById('send-from-address').textContent = address.substring(0, 12) + '...' + address.substring(address.length - 12);
|
||||
document.getElementById('send-from-address').textContent = address;
|
||||
document.getElementById('send-wallet-info').style.display = 'block';
|
||||
} catch (error) {
|
||||
document.getElementById('send-wallet-info').style.display = 'none';
|
||||
@ -1613,15 +1618,15 @@
|
||||
</div>
|
||||
<div class="tx-detail-row">
|
||||
<span class="detail-label">Transaction Fee</span>
|
||||
<span class="detail-value fee">${feeXLM.toFixed(6)} XLM</span>
|
||||
<span class="detail-value fee">${feeXlm.toFixed(6)} XLM</span>
|
||||
</div>
|
||||
<div class="tx-detail-row highlight" style="color: var(--error-color);">
|
||||
<span class="detail-label">Total Required</span>
|
||||
<span class="detail-value">${totalXLM.toFixed(6)} XLM</span>
|
||||
<span class="detail-value">${totalXlm.toFixed(6)} XLM</span>
|
||||
</div>
|
||||
<div class="tx-detail-row" style="color: var(--error-color); font-weight: 600;">
|
||||
<span class="detail-label">Shortfall</span>
|
||||
<span class="detail-value">${(totalXLM - currentBalance).toFixed(6)} XLM</span>
|
||||
<span class="detail-value">${(totalXlm - currentBalance).toFixed(6)} XLM</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -247,7 +247,9 @@
|
||||
|
||||
// Get fee stats
|
||||
const feeStats = await server.feeStats();
|
||||
const fee = feeStats.max_fee.mode || (StellarSdk.BASE_FEE || '100');
|
||||
|
||||
// fee_charged.mode is typically 100 stroops (0.00001 XLM)
|
||||
const fee = feeStats.fee_charged?.mode || feeStats.last_ledger_base_fee || '100';
|
||||
|
||||
// Build transaction
|
||||
let transaction = new StellarSdk.TransactionBuilder(sourceAccount, {
|
||||
@ -311,8 +313,8 @@
|
||||
}
|
||||
|
||||
try {
|
||||
// Parse the XDR back to a transaction
|
||||
const transaction = new StellarSdk.Transaction(transactionXDR, StellarSdk.Networks.PUBLIC);
|
||||
// Parse the XDR back to a transaction using TransactionBuilder
|
||||
const transaction = StellarSdk.TransactionBuilder.fromXDR(transactionXDR, StellarSdk.Networks.PUBLIC);
|
||||
|
||||
// Submit to network
|
||||
const result = await server.submitTransaction(transaction);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user