Implement accelerations API & config setting
This commit is contained in:
		
							parent
							
								
									c246db1cf9
								
							
						
					
					
						commit
						20b3ceab1e
					
				@ -136,5 +136,9 @@
 | 
			
		||||
      "trusted",
 | 
			
		||||
      "servers"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "MEMPOOL_SERVICES": {
 | 
			
		||||
    "API": "https://mempool.space/api",
 | 
			
		||||
    "ACCELERATIONS": false
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -127,5 +127,9 @@
 | 
			
		||||
    "AUDIT": false,
 | 
			
		||||
    "AUDIT_START_HEIGHT": 774000,
 | 
			
		||||
    "SERVERS": []
 | 
			
		||||
  },
 | 
			
		||||
  "MEMPOOl_SERVICES": {
 | 
			
		||||
    "API": "__MEMPOOL_SERVICES_API__",
 | 
			
		||||
    "ACCELERATIONS": "__MEMPOOL_SERVICES_ACCELERATIONS__"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -127,6 +127,11 @@ describe('Mempool Backend Config', () => {
 | 
			
		||||
        AUDIT_START_HEIGHT: 774000,
 | 
			
		||||
        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.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[]> {
 | 
			
		||||
    if (!config.MEMPOOL_SERVICES.ACCELERATIONS) {
 | 
			
		||||
      return [];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    try {
 | 
			
		||||
      const newAccelerations = await accelerationApi.fetchAccelerations$();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -137,7 +137,11 @@ interface IConfig {
 | 
			
		||||
    AUDIT: boolean;
 | 
			
		||||
    AUDIT_START_HEIGHT: number;
 | 
			
		||||
    SERVERS: string[];
 | 
			
		||||
  }
 | 
			
		||||
  },
 | 
			
		||||
  MEMPOOL_SERVICES: {
 | 
			
		||||
    API: string;
 | 
			
		||||
    ACCELERATIONS: boolean;
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const defaults: IConfig = {
 | 
			
		||||
@ -275,6 +279,10 @@ const defaults: IConfig = {
 | 
			
		||||
    'AUDIT': false,
 | 
			
		||||
    'AUDIT_START_HEIGHT': 774000,
 | 
			
		||||
    'SERVERS': [],
 | 
			
		||||
  },
 | 
			
		||||
  'MEMPOOL_SERVICES': {
 | 
			
		||||
    'API': '',
 | 
			
		||||
    'ACCELERATIONS': false,
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -296,6 +304,7 @@ class Config implements IConfig {
 | 
			
		||||
  EXTERNAL_DATA_SERVER: IConfig['EXTERNAL_DATA_SERVER'];
 | 
			
		||||
  MAXMIND: IConfig['MAXMIND'];
 | 
			
		||||
  REPLICATION: IConfig['REPLICATION'];
 | 
			
		||||
  MEMPOOL_SERVICES: IConfig['MEMPOOL_SERVICES'];
 | 
			
		||||
 | 
			
		||||
  constructor() {
 | 
			
		||||
    const configs = this.merge(configFromFile, defaults);
 | 
			
		||||
@ -316,6 +325,7 @@ class Config implements IConfig {
 | 
			
		||||
    this.EXTERNAL_DATA_SERVER = configs.EXTERNAL_DATA_SERVER;
 | 
			
		||||
    this.MAXMIND = configs.MAXMIND;
 | 
			
		||||
    this.REPLICATION = configs.REPLICATION;
 | 
			
		||||
    this.MEMPOOL_SERVICES = configs.MEMPOOL_SERVICES;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  merge = (...objects: object[]): IConfig => {
 | 
			
		||||
 | 
			
		||||
@ -133,5 +133,9 @@
 | 
			
		||||
    "AUDIT": __REPLICATION_AUDIT__,
 | 
			
		||||
    "AUDIT_START_HEIGHT": __REPLICATION_AUDIT_START_HEIGHT__,
 | 
			
		||||
    "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_SERVERS__=${REPLICATION_SERVERS:=[]}
 | 
			
		||||
 | 
			
		||||
# MEMPOOL_SERVICES
 | 
			
		||||
__MEMPOOL_SERVICES_API__==${MEMPOOL_SERVICES_API:=""}
 | 
			
		||||
__MEMPOOL_SERVICES_ACCELERATIONS__==${MEMPOOL_SERVICES_ACCELERATIONS:=false}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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_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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user