specVersion: 0.0.2
description: Synthetix API
repository: https://github.com/Synthetixio/synthetix-subgraph
schema:
  file: ./subgraphs/synthetix-rates.graphql
dataSources:
  - kind: ethereum/contract
    name: ExchangeRates
    network: mainnet
    source:
      address: '0xba34e436C9383aa8FA1e3659D2807ae040592498' # ExchangeRates v2.3.1 (with inverse pricing)
      abi: ExchangeRates
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.3
      language: wasm/assemblyscript
      file: ./src/rates-mapping.ts
      entities:
        - RatesUpdated
      abis:
        - name: ExchangeRates
          file: ./abis/ExchangeRates_bytes4.json
      eventHandlers:
        - event: RatesUpdated(bytes4[],uint256[])
          handler: handleRatesUpdated
  - kind: ethereum/contract
    name: ExchangeRates
    network: mainnet
    source:
      address: '0x5cBB53Ca85A9E52B593Baf8ae90282C4B3dB0b25' # ExchangeRates v2.4.0 (with effectiveValue)
      abi: ExchangeRates
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.3
      language: wasm/assemblyscript
      file: ./src/rates-mapping.ts
      entities:
        - RatesUpdated
      abis:
        - name: ExchangeRates
          file: ./abis/ExchangeRates_bytes4.json
      eventHandlers:
        - event: RatesUpdated(bytes4[],uint256[])
          handler: handleRatesUpdated
  - kind: ethereum/contract
    name: ExchangeRates
    network: mainnet
    source:
      address: '0x70C629875daDBE702489a5E1E3bAaE60e38924fa' # ExchangeRates v2.7.2 (price lock)
      abi: ExchangeRates
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.3
      language: wasm/assemblyscript
      file: ./src/rates-mapping.ts
      entities:
        - RatesUpdated
      abis:
        - name: ExchangeRates
          file: ./abis/ExchangeRates_bytes4.json
      eventHandlers:
        - event: RatesUpdated(bytes4[],uint256[])
          handler: handleRatesUpdated
  - kind: ethereum/contract
    name: ExchangeRates
    network: mainnet
    source:
      address: '0x99a46c42689720d9118ff7af7ce80c2a92fc4f97' # ExchangeRates v2.10 (bytes32)
      abi: ExchangeRates
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.3
      language: wasm/assemblyscript
      file: ./src/rates-mapping.ts
      entities:
        - RatesUpdated
      abis:
        - name: ExchangeRates
          file: ./abis/ExchangeRates_bytes32.json
      eventHandlers:
        - event: RatesUpdated(bytes32[],uint256[])
          handler: handleRatesUpdated
