Skip to content

Commit c030e5b

Browse files
committed
merge from main
1 parent 8f4499f commit c030e5b

File tree

16 files changed

+88
-107
lines changed

16 files changed

+88
-107
lines changed

jest.config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ module.exports = {
1515
},
1616
transformIgnorePatterns: ['node_modules/(?!arc)/(?!d3)'],
1717
moduleNameMapper: {
18-
'\\.svg\\?url$': '<rootDir>/testUtils/svgUrlTransform.js',
1918
'd3-hexbin': '<rootDir>/node_modules/d3-hexbin/build/d3-hexbin.min.js',
2019
d3: '<rootDir>/node_modules/d3/dist/d3.min.js',
2120
},

package-lock.json

Lines changed: 1 addition & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
"npm-run-all": "^4.1.5",
8888
"prettier": "3.6.2",
8989
"react-error-overlay": "6.0.11",
90+
"react-test-renderer": "^17.0.2",
9091
"sass": "^1.80.5",
9192
"source-map-explorer": "^2.5.3",
9293
"stylelint": "^15.11.0",

public/locales/en-US/translations.json

Lines changed: 70 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"explorer": "Explorer",
1818
"xrpl_org": "XRPL.org",
1919
"github": "GitHub",
20-
"header.search.placeholder": "Search by Token, Address, Ledger or Txn",
20+
"header.search.placeholder": "Search by Token, Address, Ledger, Txn or VaultID",
2121
"xrp": "XRP",
2222
"xrpl_explorer": "XRPL Explorer",
2323
"ledgers": "Ledgers",
@@ -38,7 +38,6 @@
3838
"30D": "30D",
3939
"total_transactions": "# of Txns",
4040
"total_fees": "Total Fees",
41-
"async_component_timedout": "Loading component took longer than expected",
4241
"async_component_failed": "Failed to load Component",
4342
"account_not_found": "Account not found",
4443
"account_empty_title": "No account ID was supplied",
@@ -69,6 +68,7 @@
6968
"transaction_legend_toggle_show": "Show Legend",
7069
"transactions.date_header": "Date/time (UTC)",
7170
"no_transactions_message": "No transactions found.",
71+
"get_vault_transactions_failed": "Unable to load vault transactions at this time.",
7272
"retry_action": "Retry...",
7373
"uh_oh": "UH-OH!",
7474
"not_found_default_title": "Page Not Found",
@@ -80,6 +80,8 @@
8080
"ledger_index": "Ledger Index",
8181
"to": "to",
8282
"from": "from",
83+
"request": "Request",
84+
"terms": "Terms",
8385
"send": "Send",
8486
"delivered": "Delivered",
8587
"cancel_offer": "Cancel Offer",
@@ -170,6 +172,15 @@
170172
"transaction_type_name_EscrowCreate": "Escrow Create",
171173
"transaction_type_name_EscrowFinish": "Escrow Finish",
172174
"transaction_type_name_Invoke": "Invoke",
175+
"transaction_type_name_LoanBrokerSet": "Loan Broker Set",
176+
"transaction_type_name_LoanBrokerDelete": "Loan Broker Delete",
177+
"transaction_type_name_LoanBrokerCoverDeposit": "Loan Broker Cover Deposit",
178+
"transaction_type_name_LoanBrokerCoverWithdraw": "Loan Broker Cover Withdraw",
179+
"transaction_type_name_LoanBrokerCoverClawback": "Loan Broker Cover Clawback",
180+
"transaction_type_name_LoanSet": "Loan Set",
181+
"transaction_type_name_LoanDelete": "Loan Delete",
182+
"transaction_type_name_LoanManage": "Loan Manage",
183+
"transaction_type_name_LoanPay": "Loan Pay",
173184
"transaction_type_name_MPTokenIssuanceCreate": "MPT Issuance Create",
174185
"transaction_type_name_MPTokenIssuanceDestroy": "MPT Issuance Destroy",
175186
"transaction_type_name_MPTokenIssuanceSet": "MPT Issuance Set",
@@ -264,7 +275,7 @@
264275
"number_of_affected_node": "It affected {{count}} nodes in the ledger:",
265276
"nodes_type": "{{action}} nodes",
266277
"node_meta_type": "It {{action}} a node with type",
267-
"transaction_balance_line_one": "It <1><0>{{action}}</0></1> a <3><0>{{currency}}</0></3> RippleState node between <5><0>{{account}}</0></5> and <7><0>{{counterAccount}}</0></7>",
278+
"transaction_balance_line_one": "It <1><0>{{action}}</0></1> a <4><0>{{currency}}</0></4> RippleState node between <6><0>{{account}}</0></6> and <8><0>{{counterAccount}}</0></8>",
268279
"transaction_balance_line_two": "Balance changed by <1><0>{{change}}</0></1> from <3><0>{{previousBalance}}</0></3> to <5><0>{{finalBalance}}</0></5>",
269280
"transaction_outstanding_balance_line_two": "Outstanding balance changed by <1><0>{{change}}</0></1> from <3><0>{{previousBalance}}</0></3> to <5><0>{{finalBalance}}</0></5>",
270281
"transaction_owned_directory": "It {{action}} a DirectoryNode node owned by",
@@ -276,13 +287,13 @@
276287
"account_balance_increased": "Balance increased by <1><0>{{difference}}</0><1><0>{{currency}}</0></1></1> from <3><0>{{previous}}</0><1><0>{{currency}}</0></1></3> to <5><0>{{final}}</0><1><0>{{currency}}</0></1></5>",
277288
"account_balance_decreased": "Balance decreased by <1><0>{{difference}}</0><1><0>{{currency}}</0></1></1> from <3><0>{{previous}}</0><1><0>{{currency}}</0></1></3> to <5><0>{{final}}</0><1><0>{{currency}}</0></1></5>",
278289
"decreased_from_to": "decreased by <1><0>{{change}}</0></1> from <3><0>{{previous}}</0></3> to <5><0>{{final}}</0></5>",
279-
"offer_node_meta": "It <1><0>{{action}}</0></1> a <3><0>{{pair}}</0></3> offer node owned by <5><0>{{account}}</0></5> with sequence # <7><0>{{sequence}}</0></7>",
290+
"offer_node_meta": "It {{action}} a <Currency/> / <Currency2/> offer node owned by <Account/> with sequence # {{sequence}}",
280291
"offer_replaces": "This offer replaces the existing offer #",
281-
"offer_partially_filled": "The offer was partially filled",
282-
"offer_filled": "The offer was filled",
283-
"offer_cancelled": "The offer was cancelled",
292+
"offer_partially_filled": "The offer was partially filled.",
293+
"offer_filled": "The offer was filled.",
294+
"offer_cancelled": "The offer was cancelled.",
284295
"offer_replaced": "This offer was replaced by the new offer #",
285-
"offer_lack_of_funds": "The offer was partially filled, then cancelled due to lack of funds",
296+
"offer_lack_of_funds": "The offer was partially filled, then cancelled due to lack of funds.",
286297
"transaction_sequence": "The transaction's sequence number is",
287298
"trust_set_description": "It establishes <1><0>{{amount}}</0></1> as the maximum amount of <3><0>{{currency}}</0></3> from <5><0>{{issuer}}</0></5> that <7><0>{{account}}</0></7> is willing to hold",
288299
"payment_desc_line_1": "The payment is from <source/> to <destination/>",
@@ -321,6 +332,8 @@
321332
"set_nftoken_minter_description": "It sets <0>{{account}}</0> as the authorized minter for this account",
322333
"deposit_auth": "It authorizes <1><0>{{account}}</0></1> to send payments to this account",
323334
"deposit_unauth": "It removes the authorization for <1><0>{{account}}</0></1> to send payments to this account",
335+
"deposit_auth_credentials": "It authorizes the following credentials:",
336+
"deposit_unauth_credentials": "It removes the authorization for the following credentials:",
324337
"invalid_xrpl_address": "Invalid XRPL address",
325338
"loading": "Loading",
326339
"get_ledger_failed": "Unable to load ledger",
@@ -348,6 +361,7 @@
348361
"threshold": "threshold",
349362
"consensus": "consensus",
350363
"enabled": "enabled",
364+
"disabled": "disabled",
351365
"on_tx": "on (tx)",
352366
"yes": "Yes",
353367
"no": "No",
@@ -572,6 +586,7 @@
572586
"expiration": "Expiration",
573587
"domain_id": "Domain ID",
574588
"accepted_credentials": "Accepted Credentials",
589+
"credential_ids": "Credential IDs",
575590
"data": "Data",
576591
"finish_function": "Finish Function",
577592
"quorum_description": "Min. number of trusted validations needed to confirm a ledger",
@@ -620,6 +635,28 @@
620635
"withdrawal_policy": "Withdrawal Policy",
621636
"account_creates_vault": "<Account/> created a vault for <Asset/>",
622637
"vault_id": "Vault ID",
638+
"single_asset_vault": "Single Asset Vault",
639+
"loan_broker_id": "Loan Broker ID",
640+
"loan_id": "Loan ID",
641+
"management_fee_rate": "Management Fee Rate",
642+
"debt_maximum": "Debt Maximum",
643+
"cover_rate_minimum": "Cover Rate Minimum",
644+
"cover_rate_liquidation": "Cover Rate Liquidation",
645+
"counterparty": "Counterparty",
646+
"principal_requested": "Principal Requested",
647+
"payment_total": "Payment Total",
648+
"payment_interval": "Payment Interval",
649+
"grace_period": "Grace Period",
650+
"loan_origination_fee": "Loan Origination Fee",
651+
"loan_service_fee": "Loan Service Fee",
652+
"late_payment_fee": "Late Payment Fee",
653+
"close_payment_fee": "Close Payment Fee",
654+
"full_payment_fee": "Full Payment Fee",
655+
"overpayment_fee": "Overpayment Fee",
656+
"interest_rate": "Interest Rate",
657+
"late_interest_rate": "Late Interest Rate",
658+
"close_interest_rate": "Close Interest Rate",
659+
"overpayment_interest_rate": "Overpayment Interest Rate",
623660
"set_vault_data": "It sets the Vault Data to <Data/>",
624661
"set_vault_assets_maximum": "It sets the Vault Assets Maximum to <AssetsMaximum/>",
625662
"set_vault_domain_id": "It sets the Vault DomainID to <DomainID/>",
@@ -636,6 +673,7 @@
636673
"account_flag_title_lsf_disable_master": "Master Key Disabled",
637674
"account_flag_title_lsf_default_ripple": "Rippling",
638675
"account_flag_title_lsf_allow_trustline_clawback": "Clawback",
676+
"account_flag_title_lsf_allow_trustline_locking": "Escrow",
639677
"account_flag_title_lsf_require_destination_tag": "Require Destination Tag",
640678
"account_flag_title_lsf_no_freeze": "No Freeze",
641679
"account_flag_title_lsf_require_auth": "Require Authorization",
@@ -651,6 +689,7 @@
651689
"account_flag_description_lsf_disable_master": "Disable the account's master key pair.",
652690
"account_flag_description_lsf_default_ripple": "Enable rippling on this account's trust lines by default.",
653691
"account_flag_description_lsf_allow_trustline_clawback": "Allow account to claw back tokens it has issued.",
692+
"account_flag_description_lsf_allow_trustline_locking": "Allow Trust Line tokens (IOUs) issued by this account to be held in escrow.",
654693
"account_flag_description_lsf_require_destination_tag": "Require a destination tag to send transactions to this account.",
655694
"account_flag_description_lsf_no_freeze": "Permanently give up the ability to freeze individual trust lines or disable Global Freeze. This flag can never be disabled after being enabled.",
656695
"account_flag_description_lsf_require_auth": "Require authorization for users to hold balances issued by this address.",
@@ -696,6 +735,7 @@
696735
"account_page_asset_table_column_asset_class": "Asset Class",
697736
"account_page_asset_table_column_balance": "Balance",
698737
"account_page_asset_table_column_balance_usd": "Balance (USD)",
738+
"account_page_asset_table_column_circulating_supply": "Circ Supply",
699739
"account_page_asset_table_column_currency_code": "Currency Code",
700740
"account_page_asset_table_column_frozen": "Frozen",
701741
"account_page_asset_table_column_highest_bid": "Highest Bid",
@@ -717,49 +757,41 @@
717757
"account_page_asset_table_no_lptoken": "No LP Tokens found",
718758
"account_page_asset_table_no_mpt": "No MPTs found",
719759
"account_page_asset_table_no_nft": "No NFTs found",
720-
"general_overview": "General Overview",
721-
"reputation_level": "Reputation Level",
722-
"market_data": "Market Data",
723-
"supply": "Supply",
724-
"circulating_supply": "Circulating Supply",
725-
"trades_24h": "Trades (24H)",
726-
"amm_tvl": "AMM TVL",
760+
"tx_hash": "Tx Hash",
761+
"timestamp": "Timestamp (UTC)",
762+
"amount_in": "Amount In",
763+
"amount_out": "Amount Out",
764+
"rate": "Rate",
765+
"refresh_data": "Refresh data",
727766
"token_page.general_overview": "General Overview",
767+
"token_page.market_data": "Market Data",
768+
"token_page.all_tx": "All Token Transactions",
769+
"token_page.dex_tx": "DEX Trades",
770+
"token_page.transfers_tx": "Transfers",
771+
"token_page.holders_table": "Holders",
728772
"token_page.issuer": "Issuer",
729773
"token_page.price": "Price",
730774
"token_page.holders": "# of Holders",
731-
"token_page.trustlines": "# of Trustlines",
732-
"token_page.transfer_fee": "Transfer Fee",
733-
"token_page.reputation_level": "Reputation Level",
734-
"token_page.market_data": "Market Data",
735775
"token_page.supply": "Supply",
736-
"token_page.circulating_supply": "Circ Supply",
737776
"token_page.market_cap": "Market Cap",
738777
"token_page.volume_24h": "Traded Volume (24H)",
739778
"token_page.trades_24h": "# of Trades (24H)",
740779
"token_page.amm_tvl": "AMM TVL",
741-
"token_page.all_tx": "All Token Transactions",
742-
"token_page.dex_tx": "DEX Trades",
743-
"token_page.transfers_tx": "Transfers",
744-
"token_page.holders_table": "Holders",
745-
"tx_hash": "Tx Hash",
746-
"timestamp": "Timestamp (UTC)",
747-
"amount_in": "Amount In",
748-
"amount_out": "Amount Out",
749-
"rate": "Rate",
780+
"token_page.transfer_fee": "Transfer Fee",
750781
"token_page.holders_rank": "Rank",
751782
"token_page.holders_num_tokens": "# of Tokens",
752783
"token_page.holders_percent_supply": "% of Supply",
753-
"token_page.holders_usd_value": "USD Value",
754784
"token_page.holders_no_holders": "No holders found",
785+
"token_page.holders_usd_value": "USD Value",
786+
"token_page.transfers_data_notice": "Data displayed is from 7/1/2025, 12:00:00 AM UTC onwards",
787+
"token_page.transfers_no_transfers": "No transfers found",
788+
"token_page.circulating_supply": "Circ Supply",
755789
"token_page.dex_type": "Type",
756790
"token_page.dex_amount_in_tooltip": "The amount of tokens sent by the \"FROM\" account in the trade",
757791
"token_page.dex_amount_out_tooltip": "The amount of tokens sent out by the \"To\" account in the trade",
758792
"token_page.dex_rate_tooltip": "Amount Out / Amount In",
759793
"token_page.dex_data_notice": "Data displayed is from 7/1/2025, 12:00:00 AM UTC onwards",
760794
"token_page.dex_no_trades": "No dex trades found",
761-
"token_page.transfers_data_notice": "Data displayed is from 7/1/2025, 12:00:00 AM UTC onwards",
762-
"token_page.transfers_no_transfers": "No transfers found",
763795
"token_page.token_label": "Token",
764796
"token_page.category_text": "IOU",
765797
"token_type.iou": "IOU",
@@ -852,10 +884,14 @@
852884
"vaults_disclaimer": "*Only vaults utilizing XRP and assets with a Trust Level ≥1 (per <0>XRPL Meta</0>) within the stablecoin asset class are displayed.",
853885
"amm_pool": "AMM Pool",
854886
"basic_info": "Basic Info",
887+
"market_data": "Market Data",
855888
"auction": "Auction",
856889
"created_on": "Created On",
890+
"volume_24h_tooltip": "Total DEX trade volume on this AMM from 00:00–23:59 UTC of the previous day",
857891
"fees_24h": "Fees (24H)",
892+
"fees_24h_tooltip": "Total trading fees earned by this AMM from 00:00–23:59 UTC of the previous day",
858893
"apr_24h": "APR (24H)",
894+
"apr_24h_tooltip": "Annualized return based on fees from 00:00–23:59 UTC of the previous day relative to TVL",
859895
"current_holder": "Current Holder",
860896
"discounted_fee": "Discounted Trading Fee",
861897
"price_paid": "Price Paid",
@@ -866,6 +902,7 @@
866902
"withdrawals": "Withdrawals",
867903
"lp_tokens_received": "LP Tokens Received",
868904
"lp_tokens_redeemed": "LP Tokens Redeemed",
905+
"tvl_and_volume": "Total Value Locked and Volume",
869906
"no_deposits": "No deposits found.",
870907
"no_withdrawals": "No withdrawals found.",
871908
"liquidity_providers": "Liquidity Providers",
@@ -874,24 +911,5 @@
874911
"asset_2": "Asset 2",
875912
"usd_value": "USD Value",
876913
"amm_pool_deleted_label": "AMM Pool Deleted",
877-
"amm_pool_deleted_text": "This AMM pool has been deleted. All assets have been withdrawn and the pool is no longer active. Historical data is still available below.",
878-
"refresh_data": "Refresh data",
879-
"amms": "AMMs",
880-
"top_1000_amms": "Top 1,000 AMMs",
881-
"pool": "Pool",
882-
"apy": "APY",
883-
"actions": "Actions",
884-
"view": "View",
885-
"general_info": "General Info",
886-
"number_of_amms": "# of AMMs",
887-
"number_of_lps": "# of LPs",
888-
"24h_volume": "24h Volume",
889-
"tvl_and_volume": "TVL and Volume",
890-
"apr_tooltip": "Annualized 24H fees",
891-
"trading_fee_tooltip": "Accumulated fees in this pool in the last 24H",
892-
"volume_24h_tooltip": "Total DEX trade volume on this AMM from 00:00–23:59 UTC of the previous day",
893-
"fees_24h_tooltip": "Total trading fees earned by this AMM from 00:00–23:59 UTC of the previous day",
894-
"apr_24h_tooltip": "Annualized return based on fees from 00:00–23:59 UTC of the previous day relative to TVL",
895-
"number_of_amms_tooltip": "Number of active AMM pools with deposit/withdrawal activity",
896-
"number_of_lps_tooltip": "Number of unique liquidity providers across all AMM pools"
914+
"amm_pool_deleted_text": "This AMM pool has been deleted. All assets have been withdrawn and the pool is no longer active. Historical data is still available below."
897915
}

server/lib/rippled.js

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -169,16 +169,3 @@ module.exports.getLedger = (parameters) => {
169169
return resp.ledger
170170
})
171171
}
172-
173-
// get AMM info by AMM account ID
174-
module.exports.getAMMInfo = (ammAccountId) =>
175-
query({
176-
command: 'amm_info',
177-
amm_account: ammAccountId,
178-
ledger_index: 'validated',
179-
}).then((resp) => {
180-
if (resp.error_message) {
181-
throw new utils.Error(resp.error_message, 500)
182-
}
183-
return resp
184-
})

server/routes/v1/index.js

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
11
const api = require('express').Router()
22
const getHealth = require('./health')
33
const getCurrentMetrics = require('./currentMetrics')
4-
const {
5-
getTokensSearch,
6-
getAllTokens,
7-
batchGetTokens,
8-
getTokenById,
9-
} = require('./tokens')
4+
const { getTokensSearch, getAllTokens } = require('./tokens')
105
const {
116
getVaults,
127
getVaultsAggregateStats,
138
getVaultAssetPrices,
149
} = require('./vaults')
15-
const { getAMMs, getAggregatedStats, getHistoricalTrends } = require('./amms')
1610

1711
api.use('/healthz', (_req, res) => {
1812
res.status(200).send('success')
@@ -26,10 +20,6 @@ if (process.env.VITE_ENVIRONMENT !== 'custom') {
2620
api.get('/vaults/aggregate-statistics', getVaultsAggregateStats)
2721
api.get('/vaults/asset-prices', getVaultAssetPrices)
2822
api.get('/vaults', getVaults)
29-
// AMM endpoints
30-
api.use('/amms/aggregated', getAggregatedStats)
31-
api.use('/amms/historical-trends', getHistoricalTrends)
32-
api.use('/amms', getAMMs)
3323
}
3424

3525
module.exports = api

src/containers/App/index.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Route, useLocation, Routes, Navigate } from 'react-router-dom'
1+
import { Route, useLocation, Routes } from 'react-router'
2+
import { Navigate } from 'react-router-dom'
23
import { Helmet, HelmetProvider } from 'react-helmet-async'
34
import { QueryClientProvider } from 'react-query'
45
import { useTranslation } from 'react-i18next'
@@ -30,7 +31,6 @@ import {
3031
TOKENS_ROUTE,
3132
VAULTS_ROUTE,
3233
AMM_POOL_ROUTE,
33-
AMM_RANKINGS_ROUTE,
3434
} from './routes'
3535
import { LedgersPage as Ledgers } from '../Ledgers'
3636
import { Ledger } from '../Ledger'
@@ -53,7 +53,6 @@ import { Vault } from '../Vault'
5353
import { Vaults } from '../Vaults'
5454
import { AMMPool } from '../AMMPool'
5555
import { FEATURE_VAULTS_PAGE } from './featureFlags'
56-
import { AMMRankings } from '../AMMRankings'
5756

5857
export const AppWrapper = () => {
5958
const mode = process.env.VITE_ENVIRONMENT
@@ -88,7 +87,6 @@ export const AppWrapper = () => {
8887
[VALIDATOR_ROUTE, Validator],
8988
[TOKEN_ROUTE, mode === 'mainnet' ? IOU : TokenNonMain],
9089
[TOKENS_ROUTE, Tokens],
91-
[AMM_RANKINGS_ROUTE, AMMRankings],
9290
[NFT_ROUTE, NFT],
9391
[AMENDMENT_ROUTE, Amendment],
9492
[MPT_ROUTE, MPT],

0 commit comments

Comments
 (0)