mirror of
https://github.com/fullstack-cash/bch-api.git
synced 2026-09-22 17:22:04 -07:00
perf(v4): Ported recent SLP validate changes to new v4 route
This commit is contained in:
+52
-1
@@ -41,9 +41,24 @@ const ElectrumXV3 = require('./routes/v3/electrumx')
|
||||
const EncryptionV3 = require('./routes/v3/encryption')
|
||||
const PriceV3 = require('./routes/v3/price')
|
||||
|
||||
// v4
|
||||
const healthCheckV4 = require('./routes/v4/health-check')
|
||||
const BlockchainV4 = require('./routes/v4/full-node/blockchain')
|
||||
const ControlV4 = require('./routes/v4/full-node/control')
|
||||
const MiningV4 = require('./routes/v4/full-node/mining')
|
||||
const networkV4 = require('./routes/v4/full-node/network')
|
||||
const RawtransactionsV4 = require('./routes/v4/full-node/rawtransactions')
|
||||
const utilV4 = require('./routes/v4/util')
|
||||
const SlpV4 = require('./routes/v4/slp')
|
||||
const xpubV4 = require('./routes/v4/xpub')
|
||||
const BlockbookV4 = require('./routes/v4/blockbook')
|
||||
const ElectrumXV4 = require('./routes/v4/electrumx')
|
||||
const EncryptionV4 = require('./routes/v4/encryption')
|
||||
const PriceV4 = require('./routes/v4/price')
|
||||
|
||||
require('dotenv').config()
|
||||
|
||||
// Instantiate route libraries.
|
||||
// Instantiate v3 route libraries.
|
||||
const blockchainV3 = new BlockchainV3()
|
||||
const controlV3 = new ControlV3()
|
||||
const miningV3 = new MiningV3()
|
||||
@@ -55,6 +70,18 @@ electrumxv3.connect()
|
||||
const encryptionv3 = new EncryptionV3()
|
||||
const pricev3 = new PriceV3()
|
||||
|
||||
// Instantiate v4 route libraries.
|
||||
const blockchainV4 = new BlockchainV4()
|
||||
const controlV4 = new ControlV4()
|
||||
const miningV4 = new MiningV4()
|
||||
const rawtransactionsV4 = new RawtransactionsV4()
|
||||
const slpV4 = new SlpV4()
|
||||
const blockbookV4 = new BlockbookV4()
|
||||
const electrumxv4 = new ElectrumXV4()
|
||||
electrumxv4.connect()
|
||||
const encryptionv4 = new EncryptionV4()
|
||||
const pricev4 = new PriceV4()
|
||||
|
||||
const app = express()
|
||||
|
||||
app.locals.env = process.env
|
||||
@@ -97,20 +124,28 @@ app.use('/', logReqInfo)
|
||||
|
||||
// const v2prefix = "v2"
|
||||
const v3prefix = 'v3'
|
||||
const v4prefix = 'v4'
|
||||
|
||||
// Inspect the header for a JWT token.
|
||||
app.use(`/${v3prefix}/`, jwtAuth.getTokenFromHeaders)
|
||||
app.use(`/${v4prefix}/`, jwtAuth.getTokenFromHeaders)
|
||||
|
||||
// Instantiate the authorization middleware, used to implement pro-tier rate limiting.
|
||||
// Handles Anonymous and Basic Authorization schemes used by passport.js
|
||||
const auth = new AuthMW()
|
||||
app.use(`/${v3prefix}/`, auth.mw())
|
||||
app.use(`/${v4prefix}/`, auth.mw())
|
||||
|
||||
// Rate limit on all v3 routes
|
||||
// Establish and enforce rate limits.
|
||||
// app.use(`/${v3prefix}/`, rateLimits.routeRateLimit)
|
||||
app.use(`/${v3prefix}/`, rateLimits.rateLimitByResource)
|
||||
|
||||
// Rate limit on all v4 routes
|
||||
// Establish and enforce rate limits.
|
||||
app.use(`/${v4prefix}/`, rateLimits.rateLimitByResource)
|
||||
|
||||
// Connect v3 routes
|
||||
app.use(`/${v3prefix}/` + 'health-check', healthCheckV3)
|
||||
app.use(`/${v3prefix}/` + 'blockchain', blockchainV3.router)
|
||||
app.use(`/${v3prefix}/` + 'control', controlV3.router)
|
||||
@@ -125,8 +160,24 @@ app.use(`/${v3prefix}/` + 'electrumx', electrumxv3.router)
|
||||
app.use(`/${v3prefix}/` + 'encryption', encryptionv3.router)
|
||||
app.use(`/${v3prefix}/` + 'price', pricev3.router)
|
||||
|
||||
// Connect v4 routes
|
||||
app.use(`/${v4prefix}/` + 'health-check', healthCheckV4)
|
||||
app.use(`/${v4prefix}/` + 'blockchain', blockchainV4.router)
|
||||
app.use(`/${v4prefix}/` + 'control', controlV4.router)
|
||||
app.use(`/${v4prefix}/` + 'mining', miningV4.router)
|
||||
app.use(`/${v4prefix}/` + 'network', networkV4)
|
||||
app.use(`/${v4prefix}/` + 'rawtransactions', rawtransactionsV4.router)
|
||||
app.use(`/${v4prefix}/` + 'util', utilV4.router)
|
||||
app.use(`/${v4prefix}/` + 'slp', slpV4.router)
|
||||
app.use(`/${v4prefix}/` + 'xpub', xpubV4.router)
|
||||
app.use(`/${v4prefix}/` + 'blockbook', blockbookV4.router)
|
||||
app.use(`/${v4prefix}/` + 'electrumx', electrumxv4.router)
|
||||
app.use(`/${v4prefix}/` + 'encryption', encryptionv4.router)
|
||||
app.use(`/${v4prefix}/` + 'price', pricev4.router)
|
||||
|
||||
const ninsight = new Ninsight()
|
||||
app.use(`/${v3prefix}/` + 'ninsight', ninsight.router)
|
||||
app.use(`/${v4prefix}/` + 'ninsight', ninsight.router)
|
||||
|
||||
// catch 404 and forward to error handler
|
||||
app.use((req, res, next) => {
|
||||
|
||||
Reference in New Issue
Block a user