23
23
from electrumx .server .mempool import MemPool
24
24
from electrumx .server .session import BAD_REQUEST , DAEMON_ERROR
25
25
from electrumx .server .session .http_session import HttpHandler
26
- from electrumx .server .session .util import non_negative_integer
26
+ from electrumx .server .session .util import non_negative_integer , SESSION_PROTOCOL_MAX
27
27
from electrumx .server .peers import PeerManager
28
28
29
29
from typing import TYPE_CHECKING , Type
@@ -111,9 +111,9 @@ def __init__(
111
111
self .session_event = Event ()
112
112
113
113
# Set up the RPC request handlers
114
- cmds = ('add_peer daemon_url disconnect getinfo groups log peers '
115
- 'query reorg sessions stop debug_memusage_list_all_objects '
116
- 'debug_memusage_get_random_backref_chain' .split ())
114
+ # cmds = ('add_peer daemon_url disconnect getinfo groups log peers '
115
+ # 'query reorg sessions stop debug_memusage_list_all_objects '
116
+ # 'debug_memusage_get_random_backref_chain'.split())
117
117
# LocalRPC.request_handlers = {cmd: getattr(self, 'rpc_' + cmd) for cmd in cmds}
118
118
119
119
def _ssl_context (self ):
@@ -134,157 +134,7 @@ async def _start_servers(self, services):
134
134
request_middleware (self ),
135
135
])
136
136
handler = HttpHandler (self , self .db , self .mempool , self .peer_mgr , kind )
137
- # GET
138
- app .router .add_get ('/proxy' , handler .proxy )
139
- app .router .add_get ('/proxy/health' , handler .health )
140
- app .router .add_get ('/proxy/blockchain.block.header' , handler .block_header )
141
- app .router .add_get ('/proxy/blockchain.block.headers' , handler .block_headers )
142
- app .router .add_get ('/proxy/blockchain.estimatefee' , handler .estimatefee )
143
- # app.router.add_get('/proxy/headers.subscribe', handler.headers_subscribe)
144
- # app.router.add_get('/proxy/relayfee', handler.relayfee)
145
- app .router .add_get ('/proxy/blockchain.scripthash.get_balance' , handler .scripthash_get_balance )
146
- app .router .add_get ('/proxy/blockchain.scripthash.get_history' , handler .scripthash_get_history )
147
- app .router .add_get ('/proxy/blockchain.scripthash.get_mempool' , handler .scripthash_get_mempool )
148
- app .router .add_get ('/proxy/blockchain.scripthash.listunspent' , handler .scripthash_listunspent )
149
- app .router .add_get ('/proxy/blockchain.scripthash.subscribe' , handler .scripthash_subscribe )
150
- app .router .add_get ('/proxy/blockchain.transaction.broadcast' , handler .transaction_broadcast )
151
- app .router .add_get ('/proxy/blockchain.transaction.broadcast_force' , handler .transaction_broadcast_force )
152
- app .router .add_get ('/proxy/blockchain.transaction.get' , handler .transaction_get )
153
- app .router .add_get ('/proxy/blockchain.transaction.get_merkle' , handler .transaction_merkle )
154
- app .router .add_get ('/proxy/blockchain.transaction.id_from_pos' , handler .transaction_id_from_pos )
155
- # app.router.add_get('/proxy/server.add_peer', handler.add_peer)
156
- # app.router.add_get('/proxy/server.banner', handler.banner)
157
- app .router .add_get ('/proxy/server.donation_address' , handler .donation_address )
158
- app .router .add_get ('/proxy/server.features' , handler .server_features_async )
159
- app .router .add_get ('/proxy/server.peers.subscribe' , handler .peers_subscribe )
160
- app .router .add_get ('/proxy/server.ping' , handler .ping )
161
- # app.router.add_get('/proxy/server.version', handler.server_version)
162
- app .router .add_get ('/proxy/blockchain.atomicals.validate' , handler .transaction_broadcast_validate )
163
- app .router .add_get ('/proxy/blockchain.atomicals.get_ft_balances_scripthash' ,
164
- handler .atomicals_get_ft_balances )
165
- app .router .add_get ('/proxy/blockchain.atomicals.get_nft_balances_scripthash' ,
166
- handler .atomicals_get_nft_balances )
167
- app .router .add_get ('/proxy/blockchain.atomicals.listscripthash' , handler .atomicals_listscripthash )
168
- app .router .add_get ('/proxy/blockchain.atomicals.list' , handler .atomicals_list )
169
- app .router .add_get ('/proxy/blockchain.atomicals.get_numbers' , handler .atomicals_num_to_id )
170
- app .router .add_get ('/proxy/blockchain.atomicals.get_block_hash' , handler .atomicals_block_hash )
171
- app .router .add_get ('/proxy/blockchain.atomicals.get_block_txs' , handler .atomicals_block_txs )
172
- app .router .add_get ('/proxy/blockchain.atomicals.dump' , handler .atomicals_dump )
173
- app .router .add_get ('/proxy/blockchain.atomicals.at_location' , handler .atomicals_at_location )
174
- app .router .add_get ('/proxy/blockchain.atomicals.get_location' , handler .atomicals_get_location )
175
- app .router .add_get ('/proxy/blockchain.atomicals.get' , handler .atomicals_get )
176
- app .router .add_get ('/proxy/blockchain.atomicals.get_global' , handler .atomicals_get_global )
177
- app .router .add_get ('/proxy/blockchain.atomicals.get_state' , handler .atomical_get_state )
178
- app .router .add_get ('/proxy/blockchain.atomicals.get_state_history' ,
179
- handler .atomical_get_state_history )
180
- app .router .add_get ('/proxy/blockchain.atomicals.get_events' , handler .atomical_get_events )
181
- app .router .add_get ('/proxy/blockchain.atomicals.get_tx_history' , handler .atomicals_get_tx_history )
182
- app .router .add_get ('/proxy/blockchain.atomicals.get_realm_info' , handler .atomicals_get_realm_info )
183
- app .router .add_get ('/proxy/blockchain.atomicals.get_by_realm' , handler .atomicals_get_by_realm )
184
- app .router .add_get ('/proxy/blockchain.atomicals.get_by_subrealm' , handler .atomicals_get_by_subrealm )
185
- app .router .add_get ('/proxy/blockchain.atomicals.get_by_dmitem' , handler .atomicals_get_by_dmitem )
186
- app .router .add_get ('/proxy/blockchain.atomicals.get_by_ticker' , handler .atomicals_get_by_ticker )
187
- app .router .add_get ('/proxy/blockchain.atomicals.get_by_container' ,
188
- handler .atomicals_get_by_container )
189
- app .router .add_get ('/proxy/blockchain.atomicals.get_by_container_item' ,
190
- handler .atomicals_get_by_container_item )
191
- app .router .add_get ('/proxy/blockchain.atomicals.get_by_container_item_validate' ,
192
- handler .atomicals_get_by_container_item_validation )
193
- app .router .add_get ('/proxy/blockchain.atomicals.get_container_items' ,
194
- handler .atomicals_get_container_items )
195
- app .router .add_get ('/proxy/blockchain.atomicals.get_ft_info' , handler .atomicals_get_ft_info )
196
- app .router .add_get ('/proxy/blockchain.atomicals.get_dft_mints' , handler .atomicals_get_dft_mints )
197
- app .router .add_get ('/proxy/blockchain.atomicals.find_tickers' , handler .atomicals_search_tickers )
198
- app .router .add_get ('/proxy/blockchain.atomicals.find_realms' , handler .atomicals_search_realms )
199
- app .router .add_get ('/proxy/blockchain.atomicals.find_subrealms' , handler .atomicals_search_subrealms )
200
- app .router .add_get ('/proxy/blockchain.atomicals.find_containers' ,
201
- handler .atomicals_search_containers )
202
- app .router .add_get ('/proxy/blockchain.atomicals.get_holders' , handler .atomicals_get_holders )
203
- app .router .add_get ('/proxy/blockchain.atomicals.transaction' , handler .atomicals_transaction )
204
- app .router .add_get ('/proxy/blockchain.atomicals.transaction_by_height' ,
205
- handler .transaction_by_height )
206
- app .router .add_get ('/proxy/blockchain.atomicals.transaction_by_atomical_id' ,
207
- handler .transaction_by_atomical_id )
208
- app .router .add_get ('/proxy/blockchain.atomicals.transaction_by_scripthash' ,
209
- handler .transaction_by_scripthash )
210
- app .router .add_get ('/proxy/blockchain.atomicals.transaction_global' , handler .transaction_global )
211
- # POST
212
- app .router .add_post ('/proxy' , handler .proxy )
213
- app .router .add_post ('/proxy/blockchain.block.header' , handler .block_header )
214
- app .router .add_post ('/proxy/blockchain.block.headers' , handler .block_headers )
215
- app .router .add_post ('/proxy/blockchain.estimatefee' , handler .estimatefee )
216
- # app.router.add_post('/proxy/headers.subscribe', handler.headers_subscribe)
217
- # app.router.add_post('/proxy/relayfee', handler.relayfee)
218
- app .router .add_post ('/proxy/blockchain.scripthash.get_balance' , handler .scripthash_get_balance )
219
- app .router .add_post ('/proxy/blockchain.scripthash.get_history' , handler .scripthash_get_history )
220
- app .router .add_post ('/proxy/blockchain.scripthash.get_mempool' , handler .scripthash_get_mempool )
221
- app .router .add_post ('/proxy/blockchain.scripthash.listunspent' , handler .scripthash_listunspent )
222
- app .router .add_post ('/proxy/blockchain.scripthash.subscribe' , handler .scripthash_subscribe )
223
- app .router .add_post ('/proxy/blockchain.transaction.broadcast' , handler .transaction_broadcast )
224
- app .router .add_post ('/proxy/blockchain.transaction.get' , handler .transaction_get )
225
- app .router .add_post ('/proxy/blockchain.transaction.get_merkle' , handler .transaction_merkle )
226
- app .router .add_post ('/proxy/blockchain.transaction.id_from_pos' , handler .transaction_id_from_pos )
227
- # app.router.add_post('/proxy/server.add_peer', handler.add_peer)
228
- # app.router.add_post('/proxy/server.banner', handler.banner)
229
- app .router .add_post ('/proxy/server.donation_address' , handler .donation_address )
230
- app .router .add_post ('/proxy/server.features' , handler .server_features_async )
231
- app .router .add_post ('/proxy/server.peers.subscribe' , handler .peers_subscribe )
232
- app .router .add_post ('/proxy/server.ping' , handler .ping )
233
- # app.router.add_post('/proxy/server.version', handler.server_version)
234
- app .router .add_post ('/proxy/blockchain.atomicals.validate' , handler .transaction_broadcast_validate )
235
- app .router .add_post ('/proxy/blockchain.atomicals.get_ft_balances_scripthash' ,
236
- handler .atomicals_get_ft_balances )
237
- app .router .add_post ('/proxy/blockchain.atomicals.get_nft_balances_scripthash' ,
238
- handler .atomicals_get_nft_balances )
239
- app .router .add_post ('/proxy/blockchain.atomicals.listscripthash' , handler .atomicals_listscripthash )
240
- app .router .add_post ('/proxy/blockchain.atomicals.list' , handler .atomicals_list )
241
- app .router .add_post ('/proxy/blockchain.atomicals.get_numbers' , handler .atomicals_num_to_id )
242
- app .router .add_post ('/proxy/blockchain.atomicals.get_block_hash' , handler .atomicals_block_hash )
243
- app .router .add_post ('/proxy/blockchain.atomicals.get_block_txs' , handler .atomicals_block_txs )
244
- app .router .add_post ('/proxy/blockchain.atomicals.dump' , handler .atomicals_dump )
245
- app .router .add_post ('/proxy/blockchain.atomicals.at_location' , handler .atomicals_at_location )
246
- app .router .add_post ('/proxy/blockchain.atomicals.get_location' , handler .atomicals_get_location )
247
- app .router .add_post ('/proxy/blockchain.atomicals.get' , handler .atomicals_get )
248
- app .router .add_post ('/proxy/blockchain.atomicals.get_global' , handler .atomicals_get_global )
249
- app .router .add_post ('/proxy/blockchain.atomicals.get_state' , handler .atomical_get_state )
250
- app .router .add_post ('/proxy/blockchain.atomicals.get_state_history' ,
251
- handler .atomical_get_state_history )
252
- app .router .add_post ('/proxy/blockchain.atomicals.get_events' , handler .atomical_get_events )
253
- app .router .add_post ('/proxy/blockchain.atomicals.get_tx_history' , handler .atomicals_get_tx_history )
254
- app .router .add_post ('/proxy/blockchain.atomicals.get_realm_info' , handler .atomicals_get_realm_info )
255
- app .router .add_post ('/proxy/blockchain.atomicals.get_by_realm' , handler .atomicals_get_by_realm )
256
- app .router .add_post ('/proxy/blockchain.atomicals.get_by_subrealm' ,
257
- handler .atomicals_get_by_subrealm )
258
- app .router .add_post ('/proxy/blockchain.atomicals.get_by_dmitem' , handler .atomicals_get_by_dmitem )
259
- app .router .add_post ('/proxy/blockchain.atomicals.get_by_ticker' , handler .atomicals_get_by_ticker )
260
- app .router .add_post ('/proxy/blockchain.atomicals.get_by_container' ,
261
- handler .atomicals_get_by_container )
262
- app .router .add_post ('/proxy/blockchain.atomicals.get_by_container_item' ,
263
- handler .atomicals_get_by_container_item )
264
- app .router .add_post ('/proxy/blockchain.atomicals.get_by_container_item_validate' ,
265
- handler .atomicals_get_by_container_item_validation )
266
- app .router .add_post ('/proxy/blockchain.atomicals.get_container_items' ,
267
- handler .atomicals_get_container_items )
268
- app .router .add_post ('/proxy/blockchain.atomicals.get_ft_info' , handler .atomicals_get_ft_info )
269
- app .router .add_post ('/proxy/blockchain.atomicals.get_dft_mints' , handler .atomicals_get_dft_mints )
270
- app .router .add_post ('/proxy/blockchain.atomicals.find_tickers' , handler .atomicals_search_tickers )
271
- app .router .add_post ('/proxy/blockchain.atomicals.find_realms' , handler .atomicals_search_realms )
272
- app .router .add_post ('/proxy/blockchain.atomicals.find_subrealms' ,
273
- handler .atomicals_search_subrealms )
274
- app .router .add_post ('/proxy/blockchain.atomicals.find_containers' ,
275
- handler .atomicals_search_containers )
276
- app .router .add_post ('/proxy/blockchain.atomicals.get_holders' , handler .atomicals_get_holders )
277
- app .router .add_post ('/proxy/blockchain.atomicals.transaction' , handler .atomicals_transaction )
278
- app .router .add_post ('/proxy/blockchain.atomicals.transaction_by_height' ,
279
- handler .transaction_by_height )
280
- app .router .add_post ('/proxy/blockchain.atomicals.transaction_by_atomical_id' ,
281
- handler .transaction_by_atomical_id )
282
- app .router .add_post ('/proxy/blockchain.atomicals.transaction_by_scripthash' ,
283
- handler .transaction_by_scripthash )
284
- app .router .add_post ('/proxy/blockchain.atomicals.transaction_global' , handler .transaction_global )
285
- # common proxy
286
- app .router .add_get ('/proxy/{method}' , handler .handle_get_method )
287
- app .router .add_post ('/proxy/{method}' , handler .handle_post_method )
137
+ await handler .add_endpoints (app .router , SESSION_PROTOCOL_MAX )
288
138
app ['rate_limiter' ] = rate_limiter
289
139
runner = web .AppRunner (app )
290
140
await runner .setup ()
0 commit comments