@@ -12,7 +12,7 @@ import {
1212} from "./aptos" ;
1313import { AptosAccount } from "aptos" ;
1414import pino from "pino" ;
15-
15+ import { filterInvalidPriceItems } from "../utils" ;
1616export default {
1717 command : "aptos" ,
1818 describe : "run price pusher for aptos" ,
@@ -33,20 +33,20 @@ export default {
3333 default : 2 ,
3434 } as Options ,
3535 ...options . priceConfigFile ,
36- ...options . hermesEndpoint ,
36+ ...options . priceServiceEndpoint ,
3737 ...options . mnemonicFile ,
3838 ...options . pythContractAddress ,
3939 ...options . pollingFrequency ,
4040 ...options . pushingFrequency ,
4141 ...options . logLevel ,
4242 ...options . controllerLogLevel ,
4343 } ,
44- handler : function ( argv : any ) {
44+ handler : async function ( argv : any ) {
4545 // FIXME: type checks for this
4646 const {
4747 endpoint,
4848 priceConfigFile,
49- hermesEndpoint ,
49+ priceServiceEndpoint ,
5050 mnemonicFile,
5151 pythContractAddress,
5252 pushingFrequency,
@@ -59,7 +59,7 @@ export default {
5959 const logger = pino ( { level : logLevel } ) ;
6060
6161 const priceConfigs = readPriceConfigFile ( priceConfigFile ) ;
62- const hermesClient = new HermesClient ( hermesEndpoint ) ;
62+ const hermesClient = new HermesClient ( priceServiceEndpoint ) ;
6363
6464 const mnemonic = fs . readFileSync ( mnemonicFile , "utf-8" ) . trim ( ) ;
6565 const account = AptosAccount . fromDerivePath (
@@ -68,7 +68,21 @@ export default {
6868 ) ;
6969 logger . info ( `Pushing from account address: ${ account . address ( ) } ` ) ;
7070
71- const priceItems = priceConfigs . map ( ( { id, alias } ) => ( { id, alias } ) ) ;
71+ let priceItems = priceConfigs . map ( ( { id, alias } ) => ( { id, alias } ) ) ;
72+
73+ // Better to filter out invalid price items before creating the pyth listener
74+ const { existingPriceItems, invalidPriceItems } =
75+ await filterInvalidPriceItems ( hermesClient , priceItems ) ;
76+
77+ if ( invalidPriceItems . length > 0 ) {
78+ logger . error (
79+ `Invalid price id submitted for: ${ invalidPriceItems
80+ . map ( ( { alias } ) => alias )
81+ . join ( ", " ) } `
82+ ) ;
83+ }
84+
85+ priceItems = existingPriceItems ;
7286
7387 const pythListener = new PythPriceListener (
7488 hermesClient ,
0 commit comments