All files / src oracle-registry.ts

55.55% Statements 10/18
0% Branches 0/1
16.66% Functions 1/6
50% Lines 7/14

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 323x         3x 3x 1x     3x   3x                       3x              
import {
  redstoneOraclesInitialState,
  RedstoneOraclesState,
} from "@redstone-finance/oracles-smartweave-contracts";
 
export const getOracleRegistryState =
  async (): Promise<RedstoneOraclesState> => {
    return await Promise.resolve(redstoneOraclesInitialState);
  };
 
export const getOracleRegistryStateSync = () => redstoneOraclesInitialState;
 
export const getDataServiceIdForSigner = (
  oracleState: RedstoneOraclesState,
  signerAddress: string
) => {
  for (const nodeDetails of Object.values(oracleState.nodes)) {
    Iif (nodeDetails.evmAddress.toLowerCase() === signerAddress.toLowerCase()) {
      return nodeDetails.dataServiceId;
    }
  }
  throw new Error(`Data service not found for ${signerAddress}`);
};
 
export const getSignersForDataServiceId = (
  oracleState: RedstoneOraclesState,
  dataServiceId: string
) =>
  Object.values(oracleState.nodes)
    .filter((node) => node.dataServiceId === dataServiceId)
    .map((node) => node.evmAddress);