-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathapi_routes.go
More file actions
69 lines (61 loc) · 3.18 KB
/
Copy pathapi_routes.go
File metadata and controls
69 lines (61 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package main
import "net/http"
// registerPublicRoutes adds stateless endpoints that don't require a wallet.
// These are shared between --api (authenticated) and --explorer (public).
func (s *APIServer) registerPublicRoutes(mux *http.ServeMux) {
mux.HandleFunc("GET /api/health", s.handleHealth)
mux.HandleFunc("GET /api/status", s.handleStatus)
mux.HandleFunc("GET /api/block/{id}", s.handleBlock)
mux.HandleFunc("GET /api/tx/{hash}", s.handleTx)
mux.HandleFunc("GET /api/mempool", s.handleMempool)
mux.HandleFunc("GET /api/mempool/txs", s.handleMempoolTxs)
mux.HandleFunc("GET /api/peers", s.handlePeers)
mux.HandleFunc("GET /api/peers/banned", s.handleBannedPeers)
mux.HandleFunc("GET /api/stats", s.handleStats)
mux.HandleFunc("POST /api/verify", s.handleVerify)
mux.HandleFunc("POST /api/verify-proof", s.handleVerifyProof)
}
// registerPrivateRoutes adds wallet, mining, and control endpoints.
// Only registered for --api (always behind auth).
func (s *APIServer) registerPrivateRoutes(mux *http.ServeMux) {
// Wallet
mux.HandleFunc("POST /api/wallet/load", s.handleLoadWallet)
mux.HandleFunc("POST /api/wallet/create", s.handleCreateWallet)
mux.HandleFunc("POST /api/wallet/unload", s.handleUnloadWallet)
mux.HandleFunc("POST /api/wallet/import", s.handleImportWallet)
mux.HandleFunc("GET /api/wallet/balance", s.handleBalance)
mux.HandleFunc("GET /api/wallet/address", s.handleAddress)
mux.HandleFunc("GET /api/wallet/history", s.handleHistory)
mux.HandleFunc("GET /api/wallet/history/page", s.handleHistoryPage)
mux.HandleFunc("GET /api/wallet/sends", s.handleSends)
mux.HandleFunc("GET /api/wallet/outputs", s.handleOutputs)
mux.HandleFunc("POST /api/wallet/send", s.handleSend)
mux.HandleFunc("GET /api/wallet/send/status", s.handleSendStatus)
mux.HandleFunc("POST /api/wallet/send/advanced", s.handleSendAdvanced)
mux.HandleFunc("GET /api/wallet/send/advanced/status", s.handleSendAdvancedStatus)
mux.HandleFunc("POST /api/wallet/sign", s.handleSign)
mux.HandleFunc("POST /api/wallet/lock", s.handleLock)
mux.HandleFunc("POST /api/wallet/unlock", s.handleUnlock)
mux.HandleFunc("POST /api/wallet/seed", s.handleSeed)
mux.HandleFunc("POST /api/wallet/sync", s.handleWalletSync)
mux.HandleFunc("POST /api/wallet/prove", s.handleProve)
mux.HandleFunc("POST /api/wallet/audit", s.handleAudit)
mux.HandleFunc("POST /api/wallet/viewkeys", s.handleViewKeys)
// Chain verification
mux.HandleFunc("GET /api/certify", s.handleCertify)
// Checkpoints
mux.HandleFunc("POST /api/checkpoints/save", s.handleSaveCheckpoints)
mux.HandleFunc("POST /api/checkpoints/load", s.handleLoadCheckpoints)
// Mining
mux.HandleFunc("GET /api/mining", s.handleMiningStatus)
mux.HandleFunc("POST /api/mining/start", s.handleMiningStart)
mux.HandleFunc("POST /api/mining/stop", s.handleMiningStop)
mux.HandleFunc("POST /api/mining/threads", s.handleMiningThreads)
mux.HandleFunc("GET /api/mining/blocktemplate", s.handleBlockTemplate)
mux.HandleFunc("POST /api/mining/renewtemplate", s.handleRenewBlockTemplate)
mux.HandleFunc("POST /api/mining/submitblock", s.handleSubmitBlock)
// Dangerous operations
mux.HandleFunc("POST /api/purge", s.handlePurgeData)
// SSE
mux.HandleFunc("GET /api/events", s.handleEvents)
}