@@ -147,7 +147,9 @@ export function getConfig(params: GetConfigParams): RawConfig {
147
147
{
148
148
next : parsed . nextPriceAccountKey ,
149
149
address : account . pubkey ,
150
- publishers : parsed . priceComponents . map ( ( x ) => x . publisher ! ) ,
150
+ publishers : parsed . priceComponents
151
+ . filter ( ( x ) => x . publisher !== null && x . publisher !== undefined )
152
+ . map ( ( x ) => x . publisher ) ,
151
153
expo : parsed . exponent ,
152
154
minPub : parsed . minPublishers ,
153
155
maxLatency : parsed . maxLatency ,
@@ -752,17 +754,18 @@ export async function generateInstructions(
752
754
newChanges . priceAccounts [ 0 ] &&
753
755
newChanges . priceAccounts [ 0 ] . publishers
754
756
) {
757
+ // We've already checked that these properties exist above
758
+ const prevPublishers = prev . priceAccounts [ 0 ] . publishers ;
759
+ const newPublishers = newChanges . priceAccounts [ 0 ] . publishers ;
760
+
755
761
// check if publishers have changed
756
- const publisherKeysToAdd =
757
- newChanges . priceAccounts [ 0 ] . publishers . filter (
758
- ( newPublisher : string ) =>
759
- ! prev . priceAccounts ! [ 0 ] . publishers ! . includes ( newPublisher ) ,
760
- ) ;
762
+ const publisherKeysToAdd = newPublishers . filter (
763
+ ( newPublisher : string ) => ! prevPublishers . includes ( newPublisher ) ,
764
+ ) ;
761
765
762
766
// check if there are any publishers to remove by comparing prev and new
763
- const publisherKeysToRemove = prev . priceAccounts [ 0 ] . publishers . filter (
764
- ( prevPublisher : string ) =>
765
- ! newChanges . priceAccounts ! [ 0 ] . publishers ! . includes ( prevPublisher ) ,
767
+ const publisherKeysToRemove = prevPublishers . filter (
768
+ ( prevPublisher : string ) => ! newPublishers . includes ( prevPublisher ) ,
766
769
) ;
767
770
768
771
// add instructions to remove publishers
0 commit comments