From 17ea0c19e09f2afc4c4783879beab0a56f841b28 Mon Sep 17 00:00:00 2001 From: Amin Moghaddam Date: Thu, 25 Jan 2024 10:34:20 +0100 Subject: [PATCH] Fix store saving/loading procedure (#1244) yaml file names were based on contract types but they were using the old format entropy contracts were not serialized --- contract_manager/src/store.ts | 10 ++++++---- ...ptosContracts.yaml => AptosPriceFeedContracts.yaml} | 0 ...mContracts.yaml => CosmWasmPriceFeedContracts.yaml} | 0 .../store/contracts/EvmEntropyContracts.yaml | 3 +++ .../{EvmContracts.yaml => EvmPriceFeedContracts.yaml} | 3 --- .../{SuiContracts.yaml => SuiPriceFeedContracts.yaml} | 0 6 files changed, 9 insertions(+), 7 deletions(-) rename contract_manager/store/contracts/{AptosContracts.yaml => AptosPriceFeedContracts.yaml} (100%) rename contract_manager/store/contracts/{CosmWasmContracts.yaml => CosmWasmPriceFeedContracts.yaml} (100%) create mode 100644 contract_manager/store/contracts/EvmEntropyContracts.yaml rename contract_manager/store/contracts/{EvmContracts.yaml => EvmPriceFeedContracts.yaml} (98%) rename contract_manager/store/contracts/{SuiContracts.yaml => SuiPriceFeedContracts.yaml} (100%) diff --git a/contract_manager/src/store.ts b/contract_manager/src/store.ts index 37707abd..a6dd842f 100644 --- a/contract_manager/src/store.ts +++ b/contract_manager/src/store.ts @@ -13,7 +13,7 @@ import { EvmPriceFeedContract, SuiPriceFeedContract, } from "./contracts"; -import { PriceFeedContract } from "./base"; +import { PriceFeedContract, Storable } from "./base"; import { parse, stringify } from "yaml"; import { readdirSync, readFileSync, statSync, writeFileSync } from "fs"; import { Vault } from "./governance"; @@ -30,7 +30,7 @@ export class Store { this.loadAllVaults(); } - static serialize(obj: PriceFeedContract | Chain | Vault) { + static serialize(obj: Storable) { return stringify([obj.toJson()]); } @@ -75,8 +75,10 @@ export class Store { } saveAllContracts() { - const contractsByType: Record = {}; - for (const contract of Object.values(this.contracts)) { + const contractsByType: Record = {}; + const contracts: Storable[] = Object.values(this.contracts); + contracts.push(...Object.values(this.entropy_contracts)); + for (const contract of contracts) { if (!contractsByType[contract.getType()]) { contractsByType[contract.getType()] = []; } diff --git a/contract_manager/store/contracts/AptosContracts.yaml b/contract_manager/store/contracts/AptosPriceFeedContracts.yaml similarity index 100% rename from contract_manager/store/contracts/AptosContracts.yaml rename to contract_manager/store/contracts/AptosPriceFeedContracts.yaml diff --git a/contract_manager/store/contracts/CosmWasmContracts.yaml b/contract_manager/store/contracts/CosmWasmPriceFeedContracts.yaml similarity index 100% rename from contract_manager/store/contracts/CosmWasmContracts.yaml rename to contract_manager/store/contracts/CosmWasmPriceFeedContracts.yaml diff --git a/contract_manager/store/contracts/EvmEntropyContracts.yaml b/contract_manager/store/contracts/EvmEntropyContracts.yaml new file mode 100644 index 00000000..26bc2877 --- /dev/null +++ b/contract_manager/store/contracts/EvmEntropyContracts.yaml @@ -0,0 +1,3 @@ +- chain: base_goerli + address: "0x4374e5a8b9C22271E9EB878A2AA31DE97DF15DAF" + type: EvmPriceFeedContract diff --git a/contract_manager/store/contracts/EvmContracts.yaml b/contract_manager/store/contracts/EvmPriceFeedContracts.yaml similarity index 98% rename from contract_manager/store/contracts/EvmContracts.yaml rename to contract_manager/store/contracts/EvmPriceFeedContracts.yaml index d15cce11..27fab157 100644 --- a/contract_manager/store/contracts/EvmContracts.yaml +++ b/contract_manager/store/contracts/EvmPriceFeedContracts.yaml @@ -250,6 +250,3 @@ - chain: filecoin address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729" type: EvmPriceFeedContract -- chain: base_goerli - address: "0x4374e5a8b9C22271E9EB878A2AA31DE97DF15DAF" - type: EvmEntropyContract diff --git a/contract_manager/store/contracts/SuiContracts.yaml b/contract_manager/store/contracts/SuiPriceFeedContracts.yaml similarity index 100% rename from contract_manager/store/contracts/SuiContracts.yaml rename to contract_manager/store/contracts/SuiPriceFeedContracts.yaml