Implement accelerations API & config setting
This commit is contained in:
parent
c246db1cf9
commit
20b3ceab1e
@ -136,5 +136,9 @@
|
|||||||
"trusted",
|
"trusted",
|
||||||
"servers"
|
"servers"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"MEMPOOL_SERVICES": {
|
||||||
|
"API": "https://mempool.space/api",
|
||||||
|
"ACCELERATIONS": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -127,5 +127,9 @@
|
|||||||
"AUDIT": false,
|
"AUDIT": false,
|
||||||
"AUDIT_START_HEIGHT": 774000,
|
"AUDIT_START_HEIGHT": 774000,
|
||||||
"SERVERS": []
|
"SERVERS": []
|
||||||
|
},
|
||||||
|
"MEMPOOl_SERVICES": {
|
||||||
|
"API": "__MEMPOOL_SERVICES_API__",
|
||||||
|
"ACCELERATIONS": "__MEMPOOL_SERVICES_ACCELERATIONS__"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -127,6 +127,11 @@ describe('Mempool Backend Config', () => {
|
|||||||
AUDIT_START_HEIGHT: 774000,
|
AUDIT_START_HEIGHT: 774000,
|
||||||
SERVERS: []
|
SERVERS: []
|
||||||
});
|
});
|
||||||
|
|
||||||
|
expect(config.MEMPOOL_SERVICES).toStrictEqual({
|
||||||
|
API: "",
|
||||||
|
ACCELERATIONS: false,
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -160,6 +165,8 @@ describe('Mempool Backend Config', () => {
|
|||||||
expect(config.PRICE_DATA_SERVER).toStrictEqual(fixture.PRICE_DATA_SERVER);
|
expect(config.PRICE_DATA_SERVER).toStrictEqual(fixture.PRICE_DATA_SERVER);
|
||||||
|
|
||||||
expect(config.EXTERNAL_DATA_SERVER).toStrictEqual(fixture.EXTERNAL_DATA_SERVER);
|
expect(config.EXTERNAL_DATA_SERVER).toStrictEqual(fixture.EXTERNAL_DATA_SERVER);
|
||||||
|
|
||||||
|
expect(config.MEMPOOL_SERVICES).toStrictEqual(fixture.MEMPOOL_SERVICES);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -337,6 +337,10 @@ class Mempool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async $updateAccelerations(): Promise<string[]> {
|
public async $updateAccelerations(): Promise<string[]> {
|
||||||
|
if (!config.MEMPOOL_SERVICES.ACCELERATIONS) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const newAccelerations = await accelerationApi.fetchAccelerations$();
|
const newAccelerations = await accelerationApi.fetchAccelerations$();
|
||||||
|
|
||||||
|
@ -137,7 +137,11 @@ interface IConfig {
|
|||||||
AUDIT: boolean;
|
AUDIT: boolean;
|
||||||
AUDIT_START_HEIGHT: number;
|
AUDIT_START_HEIGHT: number;
|
||||||
SERVERS: string[];
|
SERVERS: string[];
|
||||||
}
|
},
|
||||||
|
MEMPOOL_SERVICES: {
|
||||||
|
API: string;
|
||||||
|
ACCELERATIONS: boolean;
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaults: IConfig = {
|
const defaults: IConfig = {
|
||||||
@ -275,6 +279,10 @@ const defaults: IConfig = {
|
|||||||
'AUDIT': false,
|
'AUDIT': false,
|
||||||
'AUDIT_START_HEIGHT': 774000,
|
'AUDIT_START_HEIGHT': 774000,
|
||||||
'SERVERS': [],
|
'SERVERS': [],
|
||||||
|
},
|
||||||
|
'MEMPOOL_SERVICES': {
|
||||||
|
'API': '',
|
||||||
|
'ACCELERATIONS': false,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -296,6 +304,7 @@ class Config implements IConfig {
|
|||||||
EXTERNAL_DATA_SERVER: IConfig['EXTERNAL_DATA_SERVER'];
|
EXTERNAL_DATA_SERVER: IConfig['EXTERNAL_DATA_SERVER'];
|
||||||
MAXMIND: IConfig['MAXMIND'];
|
MAXMIND: IConfig['MAXMIND'];
|
||||||
REPLICATION: IConfig['REPLICATION'];
|
REPLICATION: IConfig['REPLICATION'];
|
||||||
|
MEMPOOL_SERVICES: IConfig['MEMPOOL_SERVICES'];
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
const configs = this.merge(configFromFile, defaults);
|
const configs = this.merge(configFromFile, defaults);
|
||||||
@ -316,6 +325,7 @@ class Config implements IConfig {
|
|||||||
this.EXTERNAL_DATA_SERVER = configs.EXTERNAL_DATA_SERVER;
|
this.EXTERNAL_DATA_SERVER = configs.EXTERNAL_DATA_SERVER;
|
||||||
this.MAXMIND = configs.MAXMIND;
|
this.MAXMIND = configs.MAXMIND;
|
||||||
this.REPLICATION = configs.REPLICATION;
|
this.REPLICATION = configs.REPLICATION;
|
||||||
|
this.MEMPOOL_SERVICES = configs.MEMPOOL_SERVICES;
|
||||||
}
|
}
|
||||||
|
|
||||||
merge = (...objects: object[]): IConfig => {
|
merge = (...objects: object[]): IConfig => {
|
||||||
|
@ -133,5 +133,9 @@
|
|||||||
"AUDIT": __REPLICATION_AUDIT__,
|
"AUDIT": __REPLICATION_AUDIT__,
|
||||||
"AUDIT_START_HEIGHT": __REPLICATION_AUDIT_START_HEIGHT__,
|
"AUDIT_START_HEIGHT": __REPLICATION_AUDIT_START_HEIGHT__,
|
||||||
"SERVERS": __REPLICATION_SERVERS__
|
"SERVERS": __REPLICATION_SERVERS__
|
||||||
|
},
|
||||||
|
"MEMPOOL_SERVICES": {
|
||||||
|
"API": "__MEMPOOL_SERVICES_API__",
|
||||||
|
"ACCELERATIONS": __MEMPOOL_SERVICES_ACCELERATIONS__
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,6 +136,10 @@ __REPLICATION_AUDIT__=${REPLICATION_AUDIT:=true}
|
|||||||
__REPLICATION_AUDIT_START_HEIGHT__=${REPLICATION_AUDIT_START_HEIGHT:=774000}
|
__REPLICATION_AUDIT_START_HEIGHT__=${REPLICATION_AUDIT_START_HEIGHT:=774000}
|
||||||
__REPLICATION_SERVERS__=${REPLICATION_SERVERS:=[]}
|
__REPLICATION_SERVERS__=${REPLICATION_SERVERS:=[]}
|
||||||
|
|
||||||
|
# MEMPOOL_SERVICES
|
||||||
|
__MEMPOOL_SERVICES_API__==${MEMPOOL_SERVICES_API:=""}
|
||||||
|
__MEMPOOL_SERVICES_ACCELERATIONS__==${MEMPOOL_SERVICES_ACCELERATIONS:=false}
|
||||||
|
|
||||||
|
|
||||||
mkdir -p "${__MEMPOOL_CACHE_DIR__}"
|
mkdir -p "${__MEMPOOL_CACHE_DIR__}"
|
||||||
|
|
||||||
@ -262,4 +266,9 @@ sed -i "s!__REPLICATION_AUDIT__!${__REPLICATION_AUDIT__}!g" mempool-config.json
|
|||||||
sed -i "s!__REPLICATION_AUDIT_START_HEIGHT__!${__REPLICATION_AUDIT_START_HEIGHT__}!g" mempool-config.json
|
sed -i "s!__REPLICATION_AUDIT_START_HEIGHT__!${__REPLICATION_AUDIT_START_HEIGHT__}!g" mempool-config.json
|
||||||
sed -i "s!__REPLICATION_SERVERS__!${__REPLICATION_SERVERS__}!g" mempool-config.json
|
sed -i "s!__REPLICATION_SERVERS__!${__REPLICATION_SERVERS__}!g" mempool-config.json
|
||||||
|
|
||||||
|
# MEMPOOL_SERVICES
|
||||||
|
sed -i "s!__MEMPOOL_SERVICES_API__!${__MEMPOOL_SERVICES_API__}!g" mempool-config.json
|
||||||
|
sed -i "s!__MEMPOOL_SERVICES_ACCELERATIONS__!${__MEMPOOL_SERVICES_ACCELERATIONS__}!g" mempool-config.json
|
||||||
|
|
||||||
|
|
||||||
node /backend/package/index.js
|
node /backend/package/index.js
|
||||||
|
Loading…
x
Reference in New Issue
Block a user