specVersion: 0.0.2
description: Synthetix API
repository: https://github.com/Synthetixio/synthetix-subgraph
schema:
  file: ./subgraphs/synthetix-exchanges.graphql
dataSources:
  - kind: ethereum/contract
    name: Synthetix
    network: mainnet
    source:
      address: '0xc011a72400e58ecd99ee497cf89e3775d4bd732f' # ProxySynthetix
      abi: Synthetix
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.3
      language: wasm/assemblyscript
      file: ./src/exchanges-mapping.ts
      entities:
        - SynthExchange
      abis:
        - name: Synthetix
          file: ./abis/Synthetix_bytes4.json # Can assume bytes4 due to event signature below
      eventHandlers:
        - event: SynthExchange(indexed address,bytes4,uint256,bytes4,uint256,address)
          handler: handleSynthExchange4
  - kind: ethereum/contract
    name: Synthetix
    network: mainnet
    source:
      address: '0xc011a72400e58ecd99ee497cf89e3775d4bd732f' # ProxySynthetix
      abi: Synthetix
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.3
      language: wasm/assemblyscript
      file: ./src/exchanges-mapping.ts
      entities:
        - SynthExchange
      abis:
        - name: Synthetix
          file: ./abis/Synthetix_bytes32.json # Can assume bytes32 due to event signature below
      eventHandlers:
        - event: SynthExchange(indexed address,bytes32,uint256,bytes32,uint256,address)
          handler: handleSynthExchange32
