erpc-sdk 0.5.0 → 0.7.0

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.
@@ -0,0 +1,216 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by registry/generate-token-catalog.mjs. Do not edit.
4
+
5
+ module ERPC
6
+ module Tokens
7
+ Ethereum = { :AAVE => 'deployment-0056', :AUSD => 'deployment-0034', :DAI => 'deployment-0019', :DISCOVERED_054D80A64E1F36A7 => 'discovered-token-054d80a64e1f36a756129763ca2f1e7a140b50b04c83876ff01dd5fd497a74c5', :DISCOVERED_611597BD13DAA43D => 'discovered-token-611597bd13daa43d01a23caa9cca6a98797c64be7fb5b2677370ddbcdeaf01ec', :DISCOVERED_69519FD08E31445C => 'discovered-token-69519fd08e31445cad84b0c17a5346b7ee9c5692e270602af9308ca6d8943bb6', :DISCOVERED_B475569F6A15E97A => 'discovered-token-b475569f6a15e97ac04e531dd813e9dcc902521c098d60d6ae4d21d53baf1395', :DISCOVERED_E375086901067FE3 => 'discovered-token-e375086901067fe3de023bcdc70f1bafca798e1719ed7e676a98f57de3350a07', :ETH => 'deployment-0001', :EURA => 'deployment-0051', :EURAU => 'deployment-0042', :EURC => 'deployment-0011', :EURCV => 'deployment-0040', :EURE => 'deployment-0054', :EURE_V1 => 'deployment-0053', :EUROP => 'deployment-0044', :EURS => 'deployment-0052', :EURT => 'deployment-0017', :FDUSD => 'deployment-0031', :GHO => 'deployment-0029', :GYEN => 'deployment-0047', :JPYC => 'deployment-0038', :LINK => 'deployment-0057', :PYUSD => 'deployment-0022', :RLUSD => 'deployment-0033', :UNI => 'deployment-0055', :USDC => 'deployment-0008', :USDE => 'deployment-0028', :USDG => 'deployment-0024', :USDP => 'deployment-0026', :USDS => 'deployment-0020', :USDT => 'deployment-0014', :WETH => 'deployment-0002', :ZUSD => 'deployment-0049' }.freeze
8
+ Solana = { :AUSD => 'deployment-0036', :EURAU => 'deployment-0043', :EURC => 'deployment-0013', :EURCV => 'deployment-0041', :EUROP => 'deployment-0046', :FDUSD => 'deployment-0032', :GYEN => 'deployment-0048', :JUP => 'deployment-0060', :JUPUSD => 'deployment-0037', :PYUSD => 'deployment-0023', :SOL => 'deployment-0005', :USDC => 'deployment-0010', :USDG => 'deployment-0025', :USDP => 'deployment-0027', :USDS => 'deployment-0021', :USDT => 'deployment-0016', :WSOL => 'deployment-0006', :WSOL_TOKEN_2022 => 'deployment-0007', :ZUSD => 'deployment-0050' }.freeze
9
+ AvalancheC = { :AUSD => 'deployment-0035', :AVAX => 'deployment-0003', :DISCOVERED_0A7F98C8752F15EE => 'discovered-token-0a7f98c8752f15ee02ce0d801f25df8ff78864a1d70aff7e204f7bdb3f8a0692', :DISCOVERED_1847342426B765AD => 'discovered-token-1847342426b765add3c8b4feb724c6b15121f25097cb7917c967c285ca77e804', :DISCOVERED_288036A90EE0FA72 => 'discovered-token-288036a90ee0fa72a2751a78a6934cc6ced9e16de91c97ae8e109e2ee6189bc5', :DISCOVERED_323D07C442F0D089 => 'discovered-token-323d07c442f0d089197ae7eea9b3ebb829910177c5b780161a7623aaed5e4371', :DISCOVERED_9F9965CC065C9BEC => 'discovered-token-9f9965cc065c9becf8d2cb58071524baafea37d27fda9bf683a93ea85f2e653d', :EURC => 'deployment-0012', :EUROP => 'deployment-0045', :GHO => 'deployment-0030', :JOE => 'deployment-0059', :JPYC => 'deployment-0039', :LINK => 'deployment-0058', :USDC => 'deployment-0009', :USDC_E => 'deployment-0018', :USDT => 'deployment-0015', :WAVAX => 'deployment-0004' }.freeze
10
+ end
11
+
12
+ module TokenCatalogData
13
+ TOKEN_CATALOG_VERSION = '1.0.0'
14
+ TOKEN_CATALOG_AS_OF_DATE = '2026-09-15'
15
+ TOKEN_CATALOG_CONTENT_DIGEST = '28318f4f6a6bc2cdeef51368eeb17c86685c6f12d1723b0b4dd27f7e54d7235d'
16
+ TOKEN_CHAIN_IDS = { ethereum: 'eip155:1', solana: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', avalanche_c: 'eip155:43114' }.freeze
17
+
18
+ TOKEN_ASSETS = [
19
+ { asset_id: 'asset-0001', name: 'Ether', representation_kind: 'native', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
20
+ { asset_id: 'asset-0002', name: 'Wrapped Ether', representation_kind: 'wrapped', stable_currency: nil, underlying_asset_id: 'asset-0001', economic_reference_asset_id: nil }.freeze,
21
+ { asset_id: 'asset-0003', name: 'Avalanche', representation_kind: 'native', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
22
+ { asset_id: 'asset-0004', name: 'Wrapped AVAX', representation_kind: 'wrapped', stable_currency: nil, underlying_asset_id: 'asset-0003', economic_reference_asset_id: nil }.freeze,
23
+ { asset_id: 'asset-0005', name: 'Solana', representation_kind: 'native', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
24
+ { asset_id: 'asset-0006', name: 'Wrapped SOL', representation_kind: 'wrapped', stable_currency: nil, underlying_asset_id: 'asset-0005', economic_reference_asset_id: nil }.freeze,
25
+ { asset_id: 'asset-0007', name: 'USD Coin', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
26
+ { asset_id: 'asset-0008', name: 'Euro Coin', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
27
+ { asset_id: 'asset-0009', name: 'Tether USDt', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
28
+ { asset_id: 'asset-0010', name: 'Tether EURt', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
29
+ { asset_id: 'asset-0011', name: 'Bridged USD Coin (USDC.e)', representation_kind: 'bridged', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: 'asset-0007' }.freeze,
30
+ { asset_id: 'asset-0012', name: 'Dai', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
31
+ { asset_id: 'asset-0013', name: 'Sky Dollar', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
32
+ { asset_id: 'asset-0014', name: 'Bridged Sky Dollar', representation_kind: 'bridged', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: 'asset-0013' }.freeze,
33
+ { asset_id: 'asset-0015', name: 'PayPal USD (PYUSD)', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
34
+ { asset_id: 'asset-0016', name: 'Global Dollar (USDG)', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
35
+ { asset_id: 'asset-0017', name: 'Pax Dollar (USDP)', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
36
+ { asset_id: 'asset-0018', name: 'USDe', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
37
+ { asset_id: 'asset-0019', name: 'GHO', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
38
+ { asset_id: 'asset-0020', name: 'Bridged GHO', representation_kind: 'bridged', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: 'asset-0019' }.freeze,
39
+ { asset_id: 'asset-0021', name: 'First Digital USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
40
+ { asset_id: 'asset-0022', name: 'Ripple USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
41
+ { asset_id: 'asset-0023', name: 'Agora USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
42
+ { asset_id: 'asset-0024', name: 'Jupiter USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
43
+ { asset_id: 'asset-0025', name: 'JPY Coin', representation_kind: 'issued', stable_currency: 'JPY', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
44
+ { asset_id: 'asset-0026', name: 'Euro CoinVertible', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
45
+ { asset_id: 'asset-0027', name: 'EURAU', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
46
+ { asset_id: 'asset-0028', name: 'EUROP', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
47
+ { asset_id: 'asset-0029', name: 'GYEN', representation_kind: 'issued', stable_currency: 'JPY', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
48
+ { asset_id: 'asset-0030', name: 'ZUSD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
49
+ { asset_id: 'asset-0031', name: 'Angle EURA', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
50
+ { asset_id: 'asset-0032', name: 'STASIS EURS', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
51
+ { asset_id: 'asset-0033', name: 'Monerium EURe', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
52
+ { asset_id: 'asset-0034', name: 'Uniswap', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
53
+ { asset_id: 'asset-0035', name: 'Aave', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
54
+ { asset_id: 'asset-0036', name: 'Chainlink', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
55
+ { asset_id: 'asset-0037', name: 'Bridged Chainlink', representation_kind: 'bridged', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: 'asset-0036' }.freeze,
56
+ { asset_id: 'asset-0038', name: 'Trader Joe', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
57
+ { asset_id: 'asset-0039', name: 'Jupiter', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
58
+ { asset_id: 'discovered-token-054d80a64e1f36a756129763ca2f1e7a140b50b04c83876ff01dd5fd497a74c5', name: 'Unclassified token at 0x0f5d2fb29fb7d3cfee444a200298f468908cc942', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
59
+ { asset_id: 'discovered-token-0a7f98c8752f15ee02ce0d801f25df8ff78864a1d70aff7e204f7bdb3f8a0692', name: 'Unclassified token at 0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
60
+ { asset_id: 'discovered-token-1847342426b765add3c8b4feb724c6b15121f25097cb7917c967c285ca77e804', name: 'Unclassified token at 0x02e955e93055e5a9d7fe6e9ee65126b321acef76', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
61
+ { asset_id: 'discovered-token-288036a90ee0fa72a2751a78a6934cc6ced9e16de91c97ae8e109e2ee6189bc5', name: 'Unclassified token at 0xc7198437980c041c805a1edcba50c1ce5db95118', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
62
+ { asset_id: 'discovered-token-323d07c442f0d089197ae7eea9b3ebb829910177c5b780161a7623aaed5e4371', name: 'Unclassified token at 0x3ceeb67533e494c0dc6be579585e3c62916062e0', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
63
+ { asset_id: 'discovered-token-611597bd13daa43d01a23caa9cca6a98797c64be7fb5b2677370ddbcdeaf01ec', name: 'Unclassified token at 0x2b591e99afe9f32eaa6214f7b7629768c40eeb39', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
64
+ { asset_id: 'discovered-token-69519fd08e31445cad84b0c17a5346b7ee9c5692e270602af9308ca6d8943bb6', name: 'Unclassified token at 0x0d8775f648430679a709e98d2b0cb6250d2887ef', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
65
+ { asset_id: 'discovered-token-9f9965cc065c9becf8d2cb58071524baafea37d27fda9bf683a93ea85f2e653d', name: 'Unclassified token at 0x50b7545627a5162f82a992c33b87adc75187b218', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
66
+ { asset_id: 'discovered-token-b475569f6a15e97ac04e531dd813e9dcc902521c098d60d6ae4d21d53baf1395', name: 'Unclassified token at 0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
67
+ { asset_id: 'discovered-token-e375086901067fe3de023bcdc70f1bafca798e1719ed7e676a98f57de3350a07', name: 'Unclassified token at 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil }.freeze,
68
+ ].freeze
69
+
70
+ TOKEN_DEPLOYMENTS = [
71
+ { deployment_id: 'deployment-0001', asset_id: 'asset-0001', name: 'Ether', representation_kind: 'native', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'ETH', decimals: 18, standard: 'native', address: nil, status: 'active', replaced_by_deployment_id: nil }.freeze,
72
+ { deployment_id: 'deployment-0002', asset_id: 'asset-0002', name: 'Wrapped Ether', representation_kind: 'wrapped', stable_currency: nil, underlying_asset_id: 'asset-0001', economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'WETH', decimals: 18, standard: 'erc20', address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', status: 'active', replaced_by_deployment_id: nil }.freeze,
73
+ { deployment_id: 'deployment-0003', asset_id: 'asset-0003', name: 'Avalanche', representation_kind: 'native', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: 'AVAX', decimals: 18, standard: 'native', address: nil, status: 'active', replaced_by_deployment_id: nil }.freeze,
74
+ { deployment_id: 'deployment-0004', asset_id: 'asset-0004', name: 'Wrapped AVAX', representation_kind: 'wrapped', stable_currency: nil, underlying_asset_id: 'asset-0003', economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: 'WAVAX', decimals: 18, standard: 'erc20', address: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7', status: 'active', replaced_by_deployment_id: nil }.freeze,
75
+ { deployment_id: 'deployment-0005', asset_id: 'asset-0005', name: 'Solana', representation_kind: 'native', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'SOL', decimals: 9, standard: 'native', address: nil, status: 'active', replaced_by_deployment_id: nil }.freeze,
76
+ { deployment_id: 'deployment-0006', asset_id: 'asset-0006', name: 'Wrapped SOL', representation_kind: 'wrapped', stable_currency: nil, underlying_asset_id: 'asset-0005', economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'WSOL', decimals: 9, standard: 'spl-token', address: 'So11111111111111111111111111111111111111112', status: 'active', replaced_by_deployment_id: nil }.freeze,
77
+ { deployment_id: 'deployment-0007', asset_id: 'asset-0006', name: 'Wrapped SOL', representation_kind: 'wrapped', stable_currency: nil, underlying_asset_id: 'asset-0005', economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'WSOL', decimals: 9, standard: 'spl-token-2022', address: '9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP', status: 'active', replaced_by_deployment_id: nil }.freeze,
78
+ { deployment_id: 'deployment-0008', asset_id: 'asset-0007', name: 'USD Coin', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'USDC', decimals: 6, standard: 'erc20', address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', status: 'active', replaced_by_deployment_id: nil }.freeze,
79
+ { deployment_id: 'deployment-0009', asset_id: 'asset-0007', name: 'USD Coin', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: 'USDC', decimals: 6, standard: 'erc20', address: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e', status: 'active', replaced_by_deployment_id: nil }.freeze,
80
+ { deployment_id: 'deployment-0010', asset_id: 'asset-0007', name: 'USD Coin', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'USDC', decimals: 6, standard: 'spl-token', address: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', status: 'active', replaced_by_deployment_id: nil }.freeze,
81
+ { deployment_id: 'deployment-0011', asset_id: 'asset-0008', name: 'Euro Coin', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'EURC', decimals: 6, standard: 'erc20', address: '0x1abaea1f7c830bd89acc67ec4af516284b1bc33c', status: 'active', replaced_by_deployment_id: nil }.freeze,
82
+ { deployment_id: 'deployment-0012', asset_id: 'asset-0008', name: 'Euro Coin', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: 'EURC', decimals: 6, standard: 'erc20', address: '0xc891eb4cbdeff6e073e859e987815ed1505c2acd', status: 'active', replaced_by_deployment_id: nil }.freeze,
83
+ { deployment_id: 'deployment-0013', asset_id: 'asset-0008', name: 'Euro Coin', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'EURC', decimals: 6, standard: 'spl-token', address: 'HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr', status: 'active', replaced_by_deployment_id: nil }.freeze,
84
+ { deployment_id: 'deployment-0014', asset_id: 'asset-0009', name: 'Tether USDt', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'USDT', decimals: 6, standard: 'erc20', address: '0xdac17f958d2ee523a2206206994597c13d831ec7', status: 'active', replaced_by_deployment_id: nil }.freeze,
85
+ { deployment_id: 'deployment-0015', asset_id: 'asset-0009', name: 'Tether USDt', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: 'USDT', decimals: 6, standard: 'erc20', address: '0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7', status: 'active', replaced_by_deployment_id: nil }.freeze,
86
+ { deployment_id: 'deployment-0016', asset_id: 'asset-0009', name: 'Tether USDt', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'USDT', decimals: 6, standard: 'spl-token', address: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB', status: 'active', replaced_by_deployment_id: nil }.freeze,
87
+ { deployment_id: 'deployment-0017', asset_id: 'asset-0010', name: 'Tether EURt', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'EURT', decimals: 6, standard: 'erc20', address: '0xc581b735a1688071a1746c968e0798d642ede491', status: 'retired', replaced_by_deployment_id: nil }.freeze,
88
+ { deployment_id: 'deployment-0018', asset_id: 'asset-0011', name: 'Bridged USD Coin (USDC.e)', representation_kind: 'bridged', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: 'asset-0007', chain_id: 'eip155:43114', symbol: 'USDC.e', decimals: 6, standard: 'erc20', address: '0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664', status: 'legacy', replaced_by_deployment_id: nil }.freeze,
89
+ { deployment_id: 'deployment-0019', asset_id: 'asset-0012', name: 'Dai', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'DAI', decimals: 18, standard: 'erc20', address: '0x6b175474e89094c44da98b954eedeac495271d0f', status: 'active', replaced_by_deployment_id: nil }.freeze,
90
+ { deployment_id: 'deployment-0020', asset_id: 'asset-0013', name: 'Sky Dollar', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'USDS', decimals: 18, standard: 'erc20', address: '0xdc035d45d973e3ec169d2276ddab16f1e407384f', status: 'active', replaced_by_deployment_id: nil }.freeze,
91
+ { deployment_id: 'deployment-0021', asset_id: 'asset-0014', name: 'Bridged Sky Dollar', representation_kind: 'bridged', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: 'asset-0013', chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'USDS', decimals: 6, standard: 'spl-token', address: 'USDSwr9ApdHk5bvJKMjzff41FfuX8bSxdKcR81vTwcA', status: 'active', replaced_by_deployment_id: nil }.freeze,
92
+ { deployment_id: 'deployment-0022', asset_id: 'asset-0015', name: 'PayPal USD (PYUSD)', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'PYUSD', decimals: 6, standard: 'erc20', address: '0x6c3ea9036406852006290770bedfcaba0e23a0e8', status: 'active', replaced_by_deployment_id: nil }.freeze,
93
+ { deployment_id: 'deployment-0023', asset_id: 'asset-0015', name: 'PayPal USD (PYUSD)', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'PYUSD', decimals: 6, standard: 'spl-token-2022', address: '2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo', status: 'active', replaced_by_deployment_id: nil }.freeze,
94
+ { deployment_id: 'deployment-0024', asset_id: 'asset-0016', name: 'Global Dollar (USDG)', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'USDG', decimals: 6, standard: 'erc20', address: '0xe343167631d89b6ffc58b88d6b7fb0228795491d', status: 'active', replaced_by_deployment_id: nil }.freeze,
95
+ { deployment_id: 'deployment-0025', asset_id: 'asset-0016', name: 'Global Dollar (USDG)', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'USDG', decimals: 6, standard: 'spl-token-2022', address: '2u1tszSeqZ3qBWF3uNGPFc8TzMk2tdiwknnRMWGWjGWH', status: 'active', replaced_by_deployment_id: nil }.freeze,
96
+ { deployment_id: 'deployment-0026', asset_id: 'asset-0017', name: 'Pax Dollar (USDP)', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'USDP', decimals: 18, standard: 'erc20', address: '0x8e870d67f660d95d5be530380d0ec0bd388289e1', status: 'active', replaced_by_deployment_id: nil }.freeze,
97
+ { deployment_id: 'deployment-0027', asset_id: 'asset-0017', name: 'Pax Dollar (USDP)', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'USDP', decimals: 6, standard: 'spl-token-2022', address: 'HVbpJAQGNpkgBaYBZQBR1t7yFdvaYVp2vCQQfKKEN4tM', status: 'active', replaced_by_deployment_id: nil }.freeze,
98
+ { deployment_id: 'deployment-0028', asset_id: 'asset-0018', name: 'USDe', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'USDe', decimals: 18, standard: 'erc20', address: '0x4c9edd5852cd905f086c759e8383e09bff1e68b3', status: 'active', replaced_by_deployment_id: nil }.freeze,
99
+ { deployment_id: 'deployment-0029', asset_id: 'asset-0019', name: 'GHO', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'GHO', decimals: 18, standard: 'erc20', address: '0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f', status: 'active', replaced_by_deployment_id: nil }.freeze,
100
+ { deployment_id: 'deployment-0030', asset_id: 'asset-0020', name: 'Bridged GHO', representation_kind: 'bridged', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: 'asset-0019', chain_id: 'eip155:43114', symbol: 'GHO', decimals: 18, standard: 'erc20', address: '0xfc421ad3c883bf9e7c4f42de845c4e4405799e73', status: 'active', replaced_by_deployment_id: nil }.freeze,
101
+ { deployment_id: 'deployment-0031', asset_id: 'asset-0021', name: 'First Digital USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'FDUSD', decimals: 18, standard: 'erc20', address: '0xc5f0f7b66764f6ec8c8dff7ba683102295e16409', status: 'active', replaced_by_deployment_id: nil }.freeze,
102
+ { deployment_id: 'deployment-0032', asset_id: 'asset-0021', name: 'First Digital USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'FDUSD', decimals: 6, standard: 'spl-token', address: '9zNQRsGLjNKwCUU5Gq5LR8beUCPzQMVMqKAi3SSZh54u', status: 'active', replaced_by_deployment_id: nil }.freeze,
103
+ { deployment_id: 'deployment-0033', asset_id: 'asset-0022', name: 'Ripple USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'RLUSD', decimals: 18, standard: 'erc20', address: '0x8292bb45bf1ee4d140127049757c2e0ff06317ed', status: 'active', replaced_by_deployment_id: nil }.freeze,
104
+ { deployment_id: 'deployment-0034', asset_id: 'asset-0023', name: 'Agora USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'AUSD', decimals: 6, standard: 'erc20', address: '0x00000000efe302beaa2b3e6e1b18d08d69a9012a', status: 'active', replaced_by_deployment_id: nil }.freeze,
105
+ { deployment_id: 'deployment-0035', asset_id: 'asset-0023', name: 'Agora USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: 'AUSD', decimals: 6, standard: 'erc20', address: '0x00000000efe302beaa2b3e6e1b18d08d69a9012a', status: 'active', replaced_by_deployment_id: nil }.freeze,
106
+ { deployment_id: 'deployment-0036', asset_id: 'asset-0023', name: 'Agora USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'AUSD', decimals: 6, standard: 'spl-token-2022', address: 'AUSD1jCcCyPLybk1YnvPWsHQSrZ46dxwoMniN4N2UEB9', status: 'active', replaced_by_deployment_id: nil }.freeze,
107
+ { deployment_id: 'deployment-0037', asset_id: 'asset-0024', name: 'Jupiter USD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'JupUSD', decimals: 6, standard: 'spl-token', address: 'JuprjznTrTSp2UFa3ZBUFgwdAmtZCq4MQCwysN55USD', status: 'active', replaced_by_deployment_id: nil }.freeze,
108
+ { deployment_id: 'deployment-0038', asset_id: 'asset-0025', name: 'JPY Coin', representation_kind: 'issued', stable_currency: 'JPY', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'JPYC', decimals: 18, standard: 'erc20', address: '0xe7c3d8c9a439fede00d2600032d5db0be71c3c29', status: 'active', replaced_by_deployment_id: nil }.freeze,
109
+ { deployment_id: 'deployment-0039', asset_id: 'asset-0025', name: 'JPY Coin', representation_kind: 'issued', stable_currency: 'JPY', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: 'JPYC', decimals: 18, standard: 'erc20', address: '0xe7c3d8c9a439fede00d2600032d5db0be71c3c29', status: 'active', replaced_by_deployment_id: nil }.freeze,
110
+ { deployment_id: 'deployment-0040', asset_id: 'asset-0026', name: 'Euro CoinVertible', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'EURCV', decimals: 18, standard: 'erc20', address: '0x5f7827fdeb7c20b443265fc2f40845b715385ff2', status: 'active', replaced_by_deployment_id: nil }.freeze,
111
+ { deployment_id: 'deployment-0041', asset_id: 'asset-0026', name: 'Euro CoinVertible', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'EURCV', decimals: 2, standard: 'spl-token-2022', address: 'DghpMkatCiUsofbTmid3M3kAbDTPqDwKiYHnudXeGG52', status: 'active', replaced_by_deployment_id: nil }.freeze,
112
+ { deployment_id: 'deployment-0042', asset_id: 'asset-0027', name: 'EURAU', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'EURAU', decimals: 6, standard: 'erc20', address: '0x4933a85b5b5466fbaf179f72d3de273c287ec2c2', status: 'active', replaced_by_deployment_id: nil }.freeze,
113
+ { deployment_id: 'deployment-0043', asset_id: 'asset-0027', name: 'EURAU', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'EURAU', decimals: 6, standard: 'spl-token-2022', address: '9pCWprxbZMW2rYSMhPTeoyLMV2sN2WJqshdT7DQVt6hS', status: 'active', replaced_by_deployment_id: nil }.freeze,
114
+ { deployment_id: 'deployment-0044', asset_id: 'asset-0028', name: 'EUROP', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'EUROP', decimals: 6, standard: 'erc20', address: '0x888883b5f5d21fb10dfeb70e8f9722b9fb0e5e51', status: 'active', replaced_by_deployment_id: nil }.freeze,
115
+ { deployment_id: 'deployment-0045', asset_id: 'asset-0028', name: 'EUROP', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: 'EUROP', decimals: 6, standard: 'erc20', address: '0x8835a2f66a7aaccb297cb985831a616b75e2e16c', status: 'active', replaced_by_deployment_id: nil }.freeze,
116
+ { deployment_id: 'deployment-0046', asset_id: 'asset-0028', name: 'EUROP', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'EUROP', decimals: 6, standard: 'spl-token-2022', address: 'euro5sNHrZC2wu2RoLvy6xxoVMc3Qnd1vjxoWf4MftA', status: 'active', replaced_by_deployment_id: nil }.freeze,
117
+ { deployment_id: 'deployment-0047', asset_id: 'asset-0029', name: 'GYEN', representation_kind: 'issued', stable_currency: 'JPY', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'GYEN', decimals: 6, standard: 'erc20', address: '0xc08512927d12348f6620a698105e1baac6ecd911', status: 'winding-down', replaced_by_deployment_id: nil }.freeze,
118
+ { deployment_id: 'deployment-0048', asset_id: 'asset-0029', name: 'GYEN', representation_kind: 'issued', stable_currency: 'JPY', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'GYEN', decimals: 6, standard: 'spl-token-2022', address: 'Crn4x1Y2HUKko7ox2EZMT6N2t2ZyH7eKtwkBGVnhEq1g', status: 'winding-down', replaced_by_deployment_id: nil }.freeze,
119
+ { deployment_id: 'deployment-0049', asset_id: 'asset-0030', name: 'ZUSD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'ZUSD', decimals: 6, standard: 'erc20', address: '0xc56c2b7e71b54d38aab6d52e94a04cbfa8f604fa', status: 'winding-down', replaced_by_deployment_id: nil }.freeze,
120
+ { deployment_id: 'deployment-0050', asset_id: 'asset-0030', name: 'ZUSD', representation_kind: 'issued', stable_currency: 'USD', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'ZUSD', decimals: 6, standard: 'spl-token-2022', address: 'FrBfWJ4qE5sCzKm3k3JaAtqZcXUh4LvJygDeketsrsH4', status: 'winding-down', replaced_by_deployment_id: nil }.freeze,
121
+ { deployment_id: 'deployment-0051', asset_id: 'asset-0031', name: 'Angle EURA', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'EURA', decimals: 18, standard: 'erc20', address: '0x1a7e4e63778b4f12a199c062f3efdd288afcbce8', status: 'winding-down', replaced_by_deployment_id: nil }.freeze,
122
+ { deployment_id: 'deployment-0052', asset_id: 'asset-0032', name: 'STASIS EURS', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'EURS', decimals: 2, standard: 'erc20', address: '0xdb25f211ab05b1c97d595516f45794528a807ad8', status: 'active', replaced_by_deployment_id: nil }.freeze,
123
+ { deployment_id: 'deployment-0053', asset_id: 'asset-0033', name: 'Monerium EURe', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'EURe', decimals: 18, standard: 'erc20', address: '0x3231cb76718cdef2155fc47b5286d82e6eda273f', status: 'legacy', replaced_by_deployment_id: 'deployment-0054' }.freeze,
124
+ { deployment_id: 'deployment-0054', asset_id: 'asset-0033', name: 'Monerium EURe', representation_kind: 'issued', stable_currency: 'EUR', underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'EURe', decimals: 18, standard: 'erc20', address: '0x39b8b6385416f4ca36a20319f70d28621895279d', status: 'active', replaced_by_deployment_id: nil }.freeze,
125
+ { deployment_id: 'deployment-0055', asset_id: 'asset-0034', name: 'Uniswap', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'UNI', decimals: 18, standard: 'erc20', address: '0x1f9840a85d5af5bf1d1762f925bdaddc4201f984', status: 'active', replaced_by_deployment_id: nil }.freeze,
126
+ { deployment_id: 'deployment-0056', asset_id: 'asset-0035', name: 'Aave', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'AAVE', decimals: 18, standard: 'erc20', address: '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9', status: 'active', replaced_by_deployment_id: nil }.freeze,
127
+ { deployment_id: 'deployment-0057', asset_id: 'asset-0036', name: 'Chainlink', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: 'LINK', decimals: 18, standard: 'erc20', address: '0x514910771af9ca656af840dff83e8264ecf986ca', status: 'active', replaced_by_deployment_id: nil }.freeze,
128
+ { deployment_id: 'deployment-0058', asset_id: 'asset-0037', name: 'Bridged Chainlink', representation_kind: 'bridged', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: 'asset-0036', chain_id: 'eip155:43114', symbol: 'LINK', decimals: 18, standard: 'erc20', address: '0x5947bb275c521040051d82396192181b413227a3', status: 'active', replaced_by_deployment_id: nil }.freeze,
129
+ { deployment_id: 'deployment-0059', asset_id: 'asset-0038', name: 'Trader Joe', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: 'JOE', decimals: 18, standard: 'erc20', address: '0x6e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd', status: 'active', replaced_by_deployment_id: nil }.freeze,
130
+ { deployment_id: 'deployment-0060', asset_id: 'asset-0039', name: 'Jupiter', representation_kind: 'issued', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', symbol: 'JUP', decimals: 6, standard: 'spl-token', address: 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN', status: 'active', replaced_by_deployment_id: nil }.freeze,
131
+ { deployment_id: 'discovered-token-054d80a64e1f36a756129763ca2f1e7a140b50b04c83876ff01dd5fd497a74c5', asset_id: 'discovered-token-054d80a64e1f36a756129763ca2f1e7a140b50b04c83876ff01dd5fd497a74c5', name: 'Unclassified token at 0x0f5d2fb29fb7d3cfee444a200298f468908cc942', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: '0x0f5d2fb29fb7d3cfee444a200298f468908cc942', decimals: 18, standard: 'erc20', address: '0x0f5d2fb29fb7d3cfee444a200298f468908cc942', status: 'active', replaced_by_deployment_id: nil }.freeze,
132
+ { deployment_id: 'discovered-token-0a7f98c8752f15ee02ce0d801f25df8ff78864a1d70aff7e204f7bdb3f8a0692', asset_id: 'discovered-token-0a7f98c8752f15ee02ce0d801f25df8ff78864a1d70aff7e204f7bdb3f8a0692', name: 'Unclassified token at 0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', decimals: 18, standard: 'erc20', address: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', status: 'active', replaced_by_deployment_id: nil }.freeze,
133
+ { deployment_id: 'discovered-token-1847342426b765add3c8b4feb724c6b15121f25097cb7917c967c285ca77e804', asset_id: 'discovered-token-1847342426b765add3c8b4feb724c6b15121f25097cb7917c967c285ca77e804', name: 'Unclassified token at 0x02e955e93055e5a9d7fe6e9ee65126b321acef76', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: '0x02e955e93055e5a9d7fe6e9ee65126b321acef76', decimals: 9, standard: 'erc20', address: '0x02e955e93055e5a9d7fe6e9ee65126b321acef76', status: 'active', replaced_by_deployment_id: nil }.freeze,
134
+ { deployment_id: 'discovered-token-288036a90ee0fa72a2751a78a6934cc6ced9e16de91c97ae8e109e2ee6189bc5', asset_id: 'discovered-token-288036a90ee0fa72a2751a78a6934cc6ced9e16de91c97ae8e109e2ee6189bc5', name: 'Unclassified token at 0xc7198437980c041c805a1edcba50c1ce5db95118', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: '0xc7198437980c041c805a1edcba50c1ce5db95118', decimals: 6, standard: 'erc20', address: '0xc7198437980c041c805a1edcba50c1ce5db95118', status: 'active', replaced_by_deployment_id: nil }.freeze,
135
+ { deployment_id: 'discovered-token-323d07c442f0d089197ae7eea9b3ebb829910177c5b780161a7623aaed5e4371', asset_id: 'discovered-token-323d07c442f0d089197ae7eea9b3ebb829910177c5b780161a7623aaed5e4371', name: 'Unclassified token at 0x3ceeb67533e494c0dc6be579585e3c62916062e0', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: '0x3ceeb67533e494c0dc6be579585e3c62916062e0', decimals: 18, standard: 'erc20', address: '0x3ceeb67533e494c0dc6be579585e3c62916062e0', status: 'active', replaced_by_deployment_id: nil }.freeze,
136
+ { deployment_id: 'discovered-token-611597bd13daa43d01a23caa9cca6a98797c64be7fb5b2677370ddbcdeaf01ec', asset_id: 'discovered-token-611597bd13daa43d01a23caa9cca6a98797c64be7fb5b2677370ddbcdeaf01ec', name: 'Unclassified token at 0x2b591e99afe9f32eaa6214f7b7629768c40eeb39', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: '0x2b591e99afe9f32eaa6214f7b7629768c40eeb39', decimals: 8, standard: 'erc20', address: '0x2b591e99afe9f32eaa6214f7b7629768c40eeb39', status: 'active', replaced_by_deployment_id: nil }.freeze,
137
+ { deployment_id: 'discovered-token-69519fd08e31445cad84b0c17a5346b7ee9c5692e270602af9308ca6d8943bb6', asset_id: 'discovered-token-69519fd08e31445cad84b0c17a5346b7ee9c5692e270602af9308ca6d8943bb6', name: 'Unclassified token at 0x0d8775f648430679a709e98d2b0cb6250d2887ef', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: '0x0d8775f648430679a709e98d2b0cb6250d2887ef', decimals: 18, standard: 'erc20', address: '0x0d8775f648430679a709e98d2b0cb6250d2887ef', status: 'active', replaced_by_deployment_id: nil }.freeze,
138
+ { deployment_id: 'discovered-token-9f9965cc065c9becf8d2cb58071524baafea37d27fda9bf683a93ea85f2e653d', asset_id: 'discovered-token-9f9965cc065c9becf8d2cb58071524baafea37d27fda9bf683a93ea85f2e653d', name: 'Unclassified token at 0x50b7545627a5162f82a992c33b87adc75187b218', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:43114', symbol: '0x50b7545627a5162f82a992c33b87adc75187b218', decimals: 8, standard: 'erc20', address: '0x50b7545627a5162f82a992c33b87adc75187b218', status: 'active', replaced_by_deployment_id: nil }.freeze,
139
+ { deployment_id: 'discovered-token-b475569f6a15e97ac04e531dd813e9dcc902521c098d60d6ae4d21d53baf1395', asset_id: 'discovered-token-b475569f6a15e97ac04e531dd813e9dcc902521c098d60d6ae4d21d53baf1395', name: 'Unclassified token at 0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: '0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2', decimals: 18, standard: 'erc20', address: '0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2', status: 'active', replaced_by_deployment_id: nil }.freeze,
140
+ { deployment_id: 'discovered-token-e375086901067fe3de023bcdc70f1bafca798e1719ed7e676a98f57de3350a07', asset_id: 'discovered-token-e375086901067fe3de023bcdc70f1bafca798e1719ed7e676a98f57de3350a07', name: 'Unclassified token at 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', representation_kind: 'unclassified', stable_currency: nil, underlying_asset_id: nil, economic_reference_asset_id: nil, chain_id: 'eip155:1', symbol: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', decimals: 8, standard: 'erc20', address: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', status: 'active', replaced_by_deployment_id: nil }.freeze,
141
+ ].freeze
142
+
143
+ TOKEN_ALIASES = [
144
+ { namespace: 'avalancheC', name: 'AUSD', deployment_id: ERPC::Tokens::AvalancheC[:AUSD] }.freeze,
145
+ { namespace: 'avalancheC', name: 'AVAX', deployment_id: ERPC::Tokens::AvalancheC[:AVAX] }.freeze,
146
+ { namespace: 'avalancheC', name: 'DISCOVERED_0A7F98C8752F15EE', deployment_id: ERPC::Tokens::AvalancheC[:DISCOVERED_0A7F98C8752F15EE] }.freeze,
147
+ { namespace: 'avalancheC', name: 'DISCOVERED_1847342426B765AD', deployment_id: ERPC::Tokens::AvalancheC[:DISCOVERED_1847342426B765AD] }.freeze,
148
+ { namespace: 'avalancheC', name: 'DISCOVERED_288036A90EE0FA72', deployment_id: ERPC::Tokens::AvalancheC[:DISCOVERED_288036A90EE0FA72] }.freeze,
149
+ { namespace: 'avalancheC', name: 'DISCOVERED_323D07C442F0D089', deployment_id: ERPC::Tokens::AvalancheC[:DISCOVERED_323D07C442F0D089] }.freeze,
150
+ { namespace: 'avalancheC', name: 'DISCOVERED_9F9965CC065C9BEC', deployment_id: ERPC::Tokens::AvalancheC[:DISCOVERED_9F9965CC065C9BEC] }.freeze,
151
+ { namespace: 'avalancheC', name: 'EURC', deployment_id: ERPC::Tokens::AvalancheC[:EURC] }.freeze,
152
+ { namespace: 'avalancheC', name: 'EUROP', deployment_id: ERPC::Tokens::AvalancheC[:EUROP] }.freeze,
153
+ { namespace: 'avalancheC', name: 'GHO', deployment_id: ERPC::Tokens::AvalancheC[:GHO] }.freeze,
154
+ { namespace: 'avalancheC', name: 'JOE', deployment_id: ERPC::Tokens::AvalancheC[:JOE] }.freeze,
155
+ { namespace: 'avalancheC', name: 'JPYC', deployment_id: ERPC::Tokens::AvalancheC[:JPYC] }.freeze,
156
+ { namespace: 'avalancheC', name: 'LINK', deployment_id: ERPC::Tokens::AvalancheC[:LINK] }.freeze,
157
+ { namespace: 'avalancheC', name: 'USDC', deployment_id: ERPC::Tokens::AvalancheC[:USDC] }.freeze,
158
+ { namespace: 'avalancheC', name: 'USDC_E', deployment_id: ERPC::Tokens::AvalancheC[:USDC_E] }.freeze,
159
+ { namespace: 'avalancheC', name: 'USDT', deployment_id: ERPC::Tokens::AvalancheC[:USDT] }.freeze,
160
+ { namespace: 'avalancheC', name: 'WAVAX', deployment_id: ERPC::Tokens::AvalancheC[:WAVAX] }.freeze,
161
+ { namespace: 'ethereum', name: 'AAVE', deployment_id: ERPC::Tokens::Ethereum[:AAVE] }.freeze,
162
+ { namespace: 'ethereum', name: 'AUSD', deployment_id: ERPC::Tokens::Ethereum[:AUSD] }.freeze,
163
+ { namespace: 'ethereum', name: 'DAI', deployment_id: ERPC::Tokens::Ethereum[:DAI] }.freeze,
164
+ { namespace: 'ethereum', name: 'DISCOVERED_054D80A64E1F36A7', deployment_id: ERPC::Tokens::Ethereum[:DISCOVERED_054D80A64E1F36A7] }.freeze,
165
+ { namespace: 'ethereum', name: 'DISCOVERED_611597BD13DAA43D', deployment_id: ERPC::Tokens::Ethereum[:DISCOVERED_611597BD13DAA43D] }.freeze,
166
+ { namespace: 'ethereum', name: 'DISCOVERED_69519FD08E31445C', deployment_id: ERPC::Tokens::Ethereum[:DISCOVERED_69519FD08E31445C] }.freeze,
167
+ { namespace: 'ethereum', name: 'DISCOVERED_B475569F6A15E97A', deployment_id: ERPC::Tokens::Ethereum[:DISCOVERED_B475569F6A15E97A] }.freeze,
168
+ { namespace: 'ethereum', name: 'DISCOVERED_E375086901067FE3', deployment_id: ERPC::Tokens::Ethereum[:DISCOVERED_E375086901067FE3] }.freeze,
169
+ { namespace: 'ethereum', name: 'ETH', deployment_id: ERPC::Tokens::Ethereum[:ETH] }.freeze,
170
+ { namespace: 'ethereum', name: 'EURA', deployment_id: ERPC::Tokens::Ethereum[:EURA] }.freeze,
171
+ { namespace: 'ethereum', name: 'EURAU', deployment_id: ERPC::Tokens::Ethereum[:EURAU] }.freeze,
172
+ { namespace: 'ethereum', name: 'EURC', deployment_id: ERPC::Tokens::Ethereum[:EURC] }.freeze,
173
+ { namespace: 'ethereum', name: 'EURCV', deployment_id: ERPC::Tokens::Ethereum[:EURCV] }.freeze,
174
+ { namespace: 'ethereum', name: 'EURE', deployment_id: ERPC::Tokens::Ethereum[:EURE] }.freeze,
175
+ { namespace: 'ethereum', name: 'EURE_V1', deployment_id: ERPC::Tokens::Ethereum[:EURE_V1] }.freeze,
176
+ { namespace: 'ethereum', name: 'EUROP', deployment_id: ERPC::Tokens::Ethereum[:EUROP] }.freeze,
177
+ { namespace: 'ethereum', name: 'EURS', deployment_id: ERPC::Tokens::Ethereum[:EURS] }.freeze,
178
+ { namespace: 'ethereum', name: 'EURT', deployment_id: ERPC::Tokens::Ethereum[:EURT] }.freeze,
179
+ { namespace: 'ethereum', name: 'FDUSD', deployment_id: ERPC::Tokens::Ethereum[:FDUSD] }.freeze,
180
+ { namespace: 'ethereum', name: 'GHO', deployment_id: ERPC::Tokens::Ethereum[:GHO] }.freeze,
181
+ { namespace: 'ethereum', name: 'GYEN', deployment_id: ERPC::Tokens::Ethereum[:GYEN] }.freeze,
182
+ { namespace: 'ethereum', name: 'JPYC', deployment_id: ERPC::Tokens::Ethereum[:JPYC] }.freeze,
183
+ { namespace: 'ethereum', name: 'LINK', deployment_id: ERPC::Tokens::Ethereum[:LINK] }.freeze,
184
+ { namespace: 'ethereum', name: 'PYUSD', deployment_id: ERPC::Tokens::Ethereum[:PYUSD] }.freeze,
185
+ { namespace: 'ethereum', name: 'RLUSD', deployment_id: ERPC::Tokens::Ethereum[:RLUSD] }.freeze,
186
+ { namespace: 'ethereum', name: 'UNI', deployment_id: ERPC::Tokens::Ethereum[:UNI] }.freeze,
187
+ { namespace: 'ethereum', name: 'USDC', deployment_id: ERPC::Tokens::Ethereum[:USDC] }.freeze,
188
+ { namespace: 'ethereum', name: 'USDE', deployment_id: ERPC::Tokens::Ethereum[:USDE] }.freeze,
189
+ { namespace: 'ethereum', name: 'USDG', deployment_id: ERPC::Tokens::Ethereum[:USDG] }.freeze,
190
+ { namespace: 'ethereum', name: 'USDP', deployment_id: ERPC::Tokens::Ethereum[:USDP] }.freeze,
191
+ { namespace: 'ethereum', name: 'USDS', deployment_id: ERPC::Tokens::Ethereum[:USDS] }.freeze,
192
+ { namespace: 'ethereum', name: 'USDT', deployment_id: ERPC::Tokens::Ethereum[:USDT] }.freeze,
193
+ { namespace: 'ethereum', name: 'WETH', deployment_id: ERPC::Tokens::Ethereum[:WETH] }.freeze,
194
+ { namespace: 'ethereum', name: 'ZUSD', deployment_id: ERPC::Tokens::Ethereum[:ZUSD] }.freeze,
195
+ { namespace: 'solana', name: 'AUSD', deployment_id: ERPC::Tokens::Solana[:AUSD] }.freeze,
196
+ { namespace: 'solana', name: 'EURAU', deployment_id: ERPC::Tokens::Solana[:EURAU] }.freeze,
197
+ { namespace: 'solana', name: 'EURC', deployment_id: ERPC::Tokens::Solana[:EURC] }.freeze,
198
+ { namespace: 'solana', name: 'EURCV', deployment_id: ERPC::Tokens::Solana[:EURCV] }.freeze,
199
+ { namespace: 'solana', name: 'EUROP', deployment_id: ERPC::Tokens::Solana[:EUROP] }.freeze,
200
+ { namespace: 'solana', name: 'FDUSD', deployment_id: ERPC::Tokens::Solana[:FDUSD] }.freeze,
201
+ { namespace: 'solana', name: 'GYEN', deployment_id: ERPC::Tokens::Solana[:GYEN] }.freeze,
202
+ { namespace: 'solana', name: 'JUP', deployment_id: ERPC::Tokens::Solana[:JUP] }.freeze,
203
+ { namespace: 'solana', name: 'JUPUSD', deployment_id: ERPC::Tokens::Solana[:JUPUSD] }.freeze,
204
+ { namespace: 'solana', name: 'PYUSD', deployment_id: ERPC::Tokens::Solana[:PYUSD] }.freeze,
205
+ { namespace: 'solana', name: 'SOL', deployment_id: ERPC::Tokens::Solana[:SOL] }.freeze,
206
+ { namespace: 'solana', name: 'USDC', deployment_id: ERPC::Tokens::Solana[:USDC] }.freeze,
207
+ { namespace: 'solana', name: 'USDG', deployment_id: ERPC::Tokens::Solana[:USDG] }.freeze,
208
+ { namespace: 'solana', name: 'USDP', deployment_id: ERPC::Tokens::Solana[:USDP] }.freeze,
209
+ { namespace: 'solana', name: 'USDS', deployment_id: ERPC::Tokens::Solana[:USDS] }.freeze,
210
+ { namespace: 'solana', name: 'USDT', deployment_id: ERPC::Tokens::Solana[:USDT] }.freeze,
211
+ { namespace: 'solana', name: 'WSOL', deployment_id: ERPC::Tokens::Solana[:WSOL] }.freeze,
212
+ { namespace: 'solana', name: 'WSOL_TOKEN_2022', deployment_id: ERPC::Tokens::Solana[:WSOL_TOKEN_2022] }.freeze,
213
+ { namespace: 'solana', name: 'ZUSD', deployment_id: ERPC::Tokens::Solana[:ZUSD] }.freeze,
214
+ ].freeze
215
+ end
216
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by registry/generate-token-rankings.mjs. Do not edit.
4
+ module ERPC
5
+ module TokenRankingsData
6
+ def self.deep_freeze(value)
7
+ value.each { |child| deep_freeze(child) } if value.is_a?(Array)
8
+ value.each_value { |child| deep_freeze(child) } if value.is_a?(Hash)
9
+ value.freeze
10
+ end
11
+ TOKEN_RANKINGS_METADATA = deep_freeze({ schema_version: 1, metric: 'onchain-total-supply-value-native', as_of: '2026-09-16T16:41:59Z', content_digest: '26d1dc0a1091c8bfcb475c22877d1ce4ee7384462a184c9d4fc509c57110c0ea', status: 'partial', coverage: [{ chain_id: 'eip155:1', total_deployments: 34, ranked_deployments: 8, unranked_deployments: 26, observed_at: '2026-09-16T16:41:59Z' }, { chain_id: 'eip155:43114', total_deployments: 17, ranked_deployments: 0, unranked_deployments: 17, observed_at: '2026-09-16T16:57:22Z' }, { chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', total_deployments: 19, ranked_deployments: 1, unranked_deployments: 18, observed_at: '2026-09-16T16:57:16Z' }], source_ids: ['rpc-avalanche-c-mainnet', 'rpc-ethereum-mainnet', 'rpc-solana-mainnet'] })
12
+ TOKEN_RANKINGS = [
13
+ { rank: 1, chain_id: 'eip155:1', deployment_ids: ['deployment-0008'], metric: 'onchain-total-supply-value-native', value_numerator: '207204000029972648356119414046913566875', value_denominator: '9901974834827', quote_currency: 'native', quote_deployment_id: 'deployment-0001', observed_at: '2026-09-16T16:41:59Z', source_id: 'rpc-ethereum-mainnet', source_asset_id: nil }.freeze,
14
+ { rank: 2, chain_id: 'eip155:1', deployment_ids: ['deployment-0057'], metric: 'onchain-total-supply-value-native', value_numerator: '33884048421157235660750000000000000000000000000', value_denominator: '7575670698454356114489', quote_currency: 'native', quote_deployment_id: 'deployment-0001', observed_at: '2026-09-16T16:41:59Z', source_id: 'rpc-ethereum-mainnet', source_asset_id: nil }.freeze,
15
+ { rank: 3, chain_id: 'eip155:1', deployment_ids: ['discovered-token-e375086901067fe3de023bcdc70f1bafca798e1719ed7e676a98f57de3350a07'], metric: 'onchain-total-supply-value-native', value_numerator: '2530529372917746092314437530549111', value_denominator: '689351076', quote_currency: 'native', quote_deployment_id: 'deployment-0001', observed_at: '2026-09-16T16:41:59Z', source_id: 'rpc-ethereum-mainnet', source_asset_id: nil }.freeze,
16
+ { rank: 4, chain_id: 'eip155:1', deployment_ids: ['deployment-0019'], metric: 'onchain-total-supply-value-native', value_numerator: '8563994066253688594928908892314570251695637864181', value_denominator: '4480501906764632895725190', quote_currency: 'native', quote_deployment_id: 'deployment-0001', observed_at: '2026-09-16T16:41:59Z', source_id: 'rpc-ethereum-mainnet', source_asset_id: nil }.freeze,
17
+ { rank: 5, chain_id: 'eip155:1', deployment_ids: ['discovered-token-054d80a64e1f36a756129763ca2f1e7a140b50b04c83876ff01dd5fd497a74c5'], metric: 'onchain-total-supply-value-native', value_numerator: '33087553822039834447063841834161374382321688576', value_denominator: '507606550755599406088755', quote_currency: 'native', quote_deployment_id: 'deployment-0001', observed_at: '2026-09-16T16:41:59Z', source_id: 'rpc-ethereum-mainnet', source_asset_id: nil }.freeze,
18
+ { rank: 6, chain_id: 'eip155:1', deployment_ids: ['discovered-token-b475569f6a15e97ac04e531dd813e9dcc902521c098d60d6ae4d21d53baf1395'], metric: 'onchain-total-supply-value-native', value_numerator: '22129458437198611962075707523082974663376278', value_denominator: '466235585330384227837', quote_currency: 'native', quote_deployment_id: 'deployment-0001', observed_at: '2026-09-16T16:41:59Z', source_id: 'rpc-ethereum-mainnet', source_asset_id: nil }.freeze,
19
+ { rank: 7, chain_id: 'eip155:1', deployment_ids: ['discovered-token-69519fd08e31445cad84b0c17a5346b7ee9c5692e270602af9308ca6d8943bb6'], metric: 'onchain-total-supply-value-native', value_numerator: '461823962164048108560000000000000000000000000', value_denominator: '10479085950557704780219', quote_currency: 'native', quote_deployment_id: 'deployment-0001', observed_at: '2026-09-16T16:41:59Z', source_id: 'rpc-ethereum-mainnet', source_asset_id: nil }.freeze,
20
+ { rank: 8, chain_id: 'eip155:1', deployment_ids: ['discovered-token-611597bd13daa43d01a23caa9cca6a98797c64be7fb5b2677370ddbcdeaf01ec'], metric: 'onchain-total-supply-value-native', value_numerator: '591208964484530983367688374937406614318', value_denominator: '21093793193177765', quote_currency: 'native', quote_deployment_id: 'deployment-0001', observed_at: '2026-09-16T16:41:59Z', source_id: 'rpc-ethereum-mainnet', source_asset_id: nil }.freeze,
21
+ { rank: 1, chain_id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', deployment_ids: ['deployment-0013'], metric: 'onchain-total-supply-value-native', value_numerator: '8934052641907075195235710143877572821100144726376448', value_denominator: '7196706365568923421366403517072759025', quote_currency: 'native', quote_deployment_id: 'deployment-0005', observed_at: '2026-09-16T16:57:16Z', source_id: 'rpc-solana-mainnet', source_asset_id: nil }.freeze,
22
+ ].then { |rows| deep_freeze(rows) }
23
+ TOKEN_RANKINGS_CONTENT_DIGEST = TOKEN_RANKINGS_METADATA[:content_digest]
24
+ end
25
+ end
data/lib/erpc_sdk/rpc.rb CHANGED
@@ -162,6 +162,72 @@ module ERPC
162
162
  "eth_unsubscribe"
163
163
  ].freeze
164
164
 
165
+ AVALANCHE_AVAX_METHODS = [
166
+ "avax.getAtomicTx",
167
+ "avax.getAtomicTxStatus",
168
+ "avax.getUTXOs",
169
+ "avax.issueTx"
170
+ ].freeze
171
+
172
+ AVALANCHE_X_CHAIN_METHODS = [
173
+ "avm.buildGenesis",
174
+ "avm.getAllBalances",
175
+ "avm.getAssetDescription",
176
+ "avm.getBalance",
177
+ "avm.getBlockByHeight",
178
+ "avm.getHeight",
179
+ "avm.getTx",
180
+ "avm.getTxFee",
181
+ "avm.getTxStatus",
182
+ "avm.getUTXOs",
183
+ "avm.issueTx"
184
+ ].freeze
185
+
186
+ AVALANCHE_P_CHAIN_METHODS = [
187
+ "platform.getAllValidatorsAt",
188
+ "platform.getBalance",
189
+ "platform.getBlockchainStatus",
190
+ "platform.getBlockchains",
191
+ "platform.getCurrentSupply",
192
+ "platform.getCurrentValidators",
193
+ "platform.getFeeConfig",
194
+ "platform.getFeeState",
195
+ "platform.getHeight",
196
+ "platform.getMinStake",
197
+ "platform.getRewardUTXOs",
198
+ "platform.getStake",
199
+ "platform.getStakingAssetID",
200
+ "platform.getSubnets",
201
+ "platform.getTimestamp",
202
+ "platform.getTotalStake",
203
+ "platform.getTx",
204
+ "platform.getTxStatus",
205
+ "platform.getUTXOs",
206
+ "platform.getValidatorFeeConfig",
207
+ "platform.getValidatorFeeState",
208
+ "platform.getValidatorsAt",
209
+ "platform.issueTx",
210
+ "platform.sampleValidators",
211
+ "platform.validatedBy",
212
+ "platform.validates"
213
+ ].freeze
214
+
215
+ AVALANCHE_PROPOSER_VM_METHODS = [
216
+ "proposervm.getCurrentEpoch",
217
+ "proposervm.getProposedHeight"
218
+ ].freeze
219
+
220
+ AVALANCHE_INFO_METHODS = ["info.upgrades"].freeze
221
+
222
+ AVALANCHE_INDEX_METHODS = [
223
+ "index.getContainerByID",
224
+ "index.getContainerByIndex",
225
+ "index.getContainerRange",
226
+ "index.getIndex",
227
+ "index.getLastAccepted",
228
+ "index.isAccepted"
229
+ ].freeze
230
+
165
231
  HEAVY_SOLANA_METHODS = %w[
166
232
  getPriorityFeeEstimate
167
233
  getProgramAccounts
@@ -197,11 +263,16 @@ module ERPC
197
263
  class RpcNamespace
198
264
  attr_reader :endpoint
199
265
 
200
- def initialize(transport, methods, parameter_mode:, batch_policy: :any)
266
+ def initialize(transport, methods, parameter_mode:, batch_policy: :any, method_prefix: nil)
201
267
  @transport = transport
202
268
  @endpoint = transport.endpoint
203
- @methods = methods.to_h { |method| [method, true] }.freeze
204
- @aliases = methods.to_h { |method| [snake_case(method), method] }.freeze
269
+ prefix = method_prefix.nil? ? "" : "#{method_prefix}."
270
+ @wire_methods = methods.to_h do |method|
271
+ public_method = method.start_with?(prefix) ? method.delete_prefix(prefix) : method
272
+ [public_method, method]
273
+ end.freeze
274
+ @methods = @wire_methods.transform_values { true }.freeze
275
+ @aliases = @methods.to_h { |method, _| [snake_case(method), method] }.freeze
205
276
  @parameter_mode = parameter_mode
206
277
  @batch_policy = batch_policy
207
278
  end
@@ -211,7 +282,7 @@ module ERPC
211
282
  raise ConfigError, "#{method.inspect} is not in this namespace; use raw for forward-compatible methods"
212
283
  end
213
284
 
214
- PendingRpcRequest.new(@transport, method, params, decoder || ->(value) { value })
285
+ PendingRpcRequest.new(@transport, @wire_methods.fetch(method), params, decoder || ->(value) { value })
215
286
  end
216
287
 
217
288
  def raw(method, params = nil, decoder: nil)
@@ -222,7 +293,7 @@ module ERPC
222
293
 
223
294
  def batch(calls)
224
295
  if @batch_policy == :unsupported && !calls.empty?
225
- raise BatchPolicyError, "Leader RPC methods do not support batching"
296
+ raise BatchPolicyError, "This RPC namespace does not support batching"
226
297
  end
227
298
  if @batch_policy == :solana_standard
228
299
  methods = calls.map { |call| call[:method] || call["method"] }
@@ -233,7 +304,12 @@ module ERPC
233
304
  end
234
305
  end
235
306
 
236
- PendingRpcBatchRequest.new(@transport, calls)
307
+ wire_calls = if @wire_methods.any? { |method, wire| method != wire }
308
+ calls.map { |call| wire_call(call) }
309
+ else
310
+ calls
311
+ end
312
+ PendingRpcBatchRequest.new(@transport, wire_calls)
237
313
  end
238
314
 
239
315
  def method_missing(name, *arguments, &block)
@@ -262,6 +338,18 @@ module ERPC
262
338
 
263
339
  private
264
340
 
341
+ def wire_call(call)
342
+ method = call[:method] || call["method"]
343
+ unless @wire_methods.key?(method)
344
+ raise ConfigError, "#{method.inspect} is not in this namespace; use raw for forward-compatible methods"
345
+ end
346
+
347
+ mapped = { method: @wire_methods.fetch(method) }
348
+ mapped[:params] = call[:params] if call.key?(:params)
349
+ mapped[:params] = call["params"] if call.key?("params")
350
+ mapped
351
+ end
352
+
265
353
  def snake_case(value)
266
354
  value.gsub(/(?<=[a-z0-9])(?=[A-Z])/, "_").downcase
267
355
  end