specVersion: 0.0.5
schema:
  file: schema.graphql
dataSources:
  - kind: ethereum
    name: PositionManager
    source:
      abi: PositionManager
      address: "0x0cEfA3be6496B8Ab0A66B01aABEf05A5aE38221b"
      startBlock: 3751042
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - Approval
        - ApprovalForAll
        - Burn
        - MemorializePosition
        - Mint
        - MoveLiquidity
        - RedeemPosition
        - Transfer
      abis:
        - name: PositionManager
          file: PositionManager/abis/PositionManager.json
        - name: ERC721
          file: PositionManager/abis/ERC721.json
        - name: PoolInfoUtils
          file: PositionManager/abis/PoolInfoUtils.json
      eventHandlers:
        - event: Approval(indexed address,indexed address,indexed uint256)
          handler: handleApproval
        - event: ApprovalForAll(indexed address,indexed address,bool)
          handler: handleApprovalForAll
        - event: Burn(indexed address,indexed uint256)
          handler: handleBurn
        - event: MemorializePosition(indexed address,uint256,uint256[])
          handler: handleMemorializePosition
        - event: Mint(indexed address,indexed address,uint256)
          handler: handleMint
        - event: MoveLiquidity(indexed address,uint256,uint256,uint256,uint256,uint256)
          handler: handleMoveLiquidity
        - event: RedeemPosition(indexed address,uint256,uint256[])
          handler: handleRedeemPosition
        - event: Transfer(indexed address,indexed address,indexed uint256)
          handler: handleTransfer
      file: PositionManager/PositionManager.wasm
    network: filecoin
  - kind: ethereum
    name: ERC20PoolFactory
    source:
      abi: ERC20PoolFactory
      address: "0x0E4a2276Ac259CF226eEC6536f2b447Fc26F2D8a"
      startBlock: 3750988
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - PoolCreated
      abis:
        - name: ERC20PoolFactory
          file: ERC20PoolFactory/abis/ERC20PoolFactory.json
        - name: ERC20Pool
          file: ERC20PoolFactory/abis/ERC20Pool.json
        - name: ERC20
          file: ERC20PoolFactory/abis/ERC20.json
        - name: PoolInfoUtils
          file: ERC20PoolFactory/abis/PoolInfoUtils.json
      eventHandlers:
        - event: PoolCreated(address,bytes32)
          handler: handlePoolCreated
      file: ERC20PoolFactory/ERC20PoolFactory.wasm
    network: filecoin
  - kind: ethereum
    name: ERC721PoolFactory
    source:
      abi: ERC721PoolFactory
      address: "0x07Eb44ca94cddA4016cECCe7FB9C7Ae73DBD4306"
      startBlock: 3750996
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - PoolCreated
      abis:
        - name: ERC721PoolFactory
          file: ERC721PoolFactory/abis/ERC721PoolFactory.json
        - name: ERC721Pool
          file: ERC721PoolFactory/abis/ERC721Pool.json
        - name: ERC20
          file: ERC721PoolFactory/abis/ERC20.json
        - name: ERC721
          file: ERC721PoolFactory/abis/ERC721.json
        - name: PoolInfoUtils
          file: ERC721PoolFactory/abis/PoolInfoUtils.json
      eventHandlers:
        - event: PoolCreated(address,bytes32)
          handler: handlePoolCreated
      file: ERC721PoolFactory/ERC721PoolFactory.wasm
    network: filecoin
  - kind: ethereum
    name: GrantFund
    source:
      abi: GrantFund
      address: "0x0000000000000000000000000000000000000000"
      startBlock: 3749104
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - DelegateRewardClaimed
        - FundTreasury
        - FundedSlateUpdated
        - ProposalCreated
        - ProposalExecuted
        - DistributionPeriodStarted
        - VoteCast
      abis:
        - name: GrantFund
          file: GrantFund/abis/GrantFund.json
      eventHandlers:
        - event: DelegateRewardClaimed(indexed address,indexed uint256,uint256)
          handler: handleDelegateRewardClaimed
        - event: FundTreasury(uint256,uint256)
          handler: handleFundTreasury
        - event: FundedSlateUpdated(indexed uint256,indexed bytes32)
          handler: handleFundedSlateUpdated
        - event: ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)
          handler: handleProposalCreated
        - event: ProposalExecuted(uint256)
          handler: handleProposalExecuted
        - event: DistributionPeriodStarted(indexed uint256,uint256,uint256)
          handler: handleDistributionPeriodStarted
        - event: VoteCast(indexed address,uint256,uint8,uint256,string)
          handler: handleVoteCast
      file: GrantFund/GrantFund.wasm
    network: filecoin
  - kind: ethereum
    name: AjnaToken
    network: filecoin
    source:
      abi: AjnaToken
      address: "0xe9DfbF0d7371638dc2662672435E1A3E75D0CeF4"
      startBlock: 3749104
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - DelegateChanged
        - DelegateVotesChanged
      abis:
        - name: AjnaToken
          file: AjnaToken/abis/AjnaToken.json
      eventHandlers:
        - event: DelegateChanged(indexed address,indexed address,indexed address)
          handler: handleDelegateChanged
        - event: DelegateVotesChanged(indexed address,uint256,uint256)
          handler: handleDelegateVotesChanged
      file: AjnaToken/AjnaToken.wasm
  - kind: ethereum
    name: BurnWrappedAjna
    network: filecoin
    source:
      abi: BurnWrappedAjna
      address: "0x0000000000000000000000000000000000000000"
      startBlock: 3749104
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - BurnWrap
      abis:
        - name: BurnWrappedAjna
          file: BurnWrappedAjna/abis/BurnWrappedAjna.json
      eventHandlers:
        - event: Transfer(indexed address,indexed address,uint256)
          handler: handleTransfer
      file: BurnWrappedAjna/BurnWrappedAjna.wasm
templates:
  - kind: ethereum
    name: ERC20Pool
    source:
      abi: ERC20Pool
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - AddCollateral
        - AddQuoteToken
        - ApproveLPTransferors
        - AuctionSettle
        - BondWithdrawn
        - BucketBankruptcy
        - BucketTake
        - BucketTakeLPAwarded
        - DecreaseLPAllowance
        - DrawDebt
        - IncreaseLPAllowance
        - Kick
        - LoanStamped
        - MoveQuoteToken
        - RemoveCollateral
        - RemoveQuoteToken
        - RepayDebt
        - ReserveAuctionKick
        - ReserveAuctionTake
        - ResetInterestRate
        - RevokeLPAllowance
        - RevokeLPTransferors
        - Settle
        - Take
        - TransferLP
        - UpdateInterestRate
      abis:
        - name: ERC20
          file: ERC20Pool/abis/ERC20.json
        - name: ERC721
          file: ERC20Pool/abis/ERC721.json
        - name: ERC20Pool
          file: ERC20Pool/abis/ERC20Pool.json
        - name: PoolInfoUtils
          file: ERC20Pool/abis/PoolInfoUtils.json
        - name: PoolInfoUtilsMulticall
          file: ERC20Pool/abis/PoolInfoUtilsMulticall.json
      eventHandlers:
        - event: AddCollateral(indexed address,indexed uint256,uint256,uint256)
          handler: handleAddCollateral
        - event: AddQuoteToken(indexed address,indexed uint256,uint256,uint256,uint256)
          handler: handleAddQuoteToken
        - event: ApproveLPTransferors(indexed address,address[])
          handler: handleApproveLPTransferors
        - event: AuctionSettle(indexed address,uint256)
          handler: handleAuctionSettle
        - event: BondWithdrawn(indexed address,indexed address,uint256)
          handler: handleBondWithdrawn
        - event: BucketBankruptcy(indexed uint256,uint256)
          handler: handleBucketBankruptcy
        - event: BucketTake(indexed address,uint256,uint256,uint256,uint256,bool)
          handler: handleBucketTake
        - event: BucketTakeLPAwarded(indexed address,indexed address,uint256,uint256)
          handler: handleBucketTakeLPAwarded
        - event: DecreaseLPAllowance(indexed address,indexed address,uint256[],uint256[])
          handler: handleDecreaseLPAllowance
        - event: DrawDebt(indexed address,uint256,uint256,uint256)
          handler: handleDrawDebt
        - event: Flashloan(indexed address,indexed address,uint256)
          handler: handleFlashloan
        - event: IncreaseLPAllowance(indexed address,indexed address,uint256[],uint256[])
          handler: handleIncreaseLPAllowance
        - event: Kick(indexed address,uint256,uint256,uint256)
          handler: handleKick
        - event: KickReserveAuction(uint256,uint256,uint256)
          handler: handleReserveAuctionKick
        - event: LoanStamped(indexed address)
          handler: handleLoanStamped
        - event: MoveQuoteToken(indexed address,indexed uint256,indexed
            uint256,uint256,uint256,uint256,uint256)
          handler: handleMoveQuoteToken
        - event: RemoveCollateral(indexed address,indexed uint256,uint256,uint256)
          handler: handleRemoveCollateral
        - event: RemoveQuoteToken(indexed address,indexed uint256,uint256,uint256,uint256)
          handler: handleRemoveQuoteToken
        - event: RepayDebt(indexed address,uint256,uint256,uint256)
          handler: handleRepayDebt
        - event: ReserveAuction(uint256,uint256,uint256)
          handler: handleReserveAuctionTake
        - event: ResetInterestRate(uint256,uint256)
          handler: handleResetInterestRate
        - event: RevokeLPAllowance(indexed address,indexed address,uint256[])
          handler: handleRevokeLPAllowance
        - event: RevokeLPTransferors(indexed address,address[])
          handler: handleRevokeLPTransferors
        - event: Settle(indexed address,uint256)
          handler: handleSettle
        - event: Take(indexed address,uint256,uint256,uint256,bool)
          handler: handleTake
        - event: TransferLP(address,address,uint256[],uint256)
          handler: handleTransferLP
        - event: UpdateInterestRate(uint256,uint256)
          handler: handleUpdateInterestRate
      file: templates/ERC20Pool/ERC20Pool.wasm
    network: filecoin
  - kind: ethereum
    name: ERC721Pool
    source:
      abi: ERC721Pool
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - AddCollateralNFT
        - AddQuoteToken
        - ApproveLPTransferors
        - AuctionNFTSettle
        - BondWithdrawn
        - BucketBankruptcy
        - BucketTake
        - BucketTakeLPAwarded
        - DecreaseLPAllowance
        - DrawDebtNFT
        - IncreaseLPAllowance
        - Kick
        - LoanStamped
        - MergeOrRemoveCollateralNFT
        - MoveQuoteToken
        - RemoveCollateral
        - RemoveQuoteToken
        - RepayDebt
        - ReserveAuctionKick
        - ReserveAuctionTake
        - ResetInterestRate
        - RevokeLPAllowance
        - RevokeLPTransferors
        - Settle
        - Take
        - TransferLP
        - UpdateInterestRate
      abis:
        - name: ERC20
          file: ERC721Pool/abis/ERC20.json
        - name: ERC721
          file: ERC721Pool/abis/ERC721.json
        - name: ERC20Pool
          file: ERC721Pool/abis/ERC20Pool.json
        - name: ERC721Pool
          file: ERC721Pool/abis/ERC721Pool.json
        - name: PoolInfoUtils
          file: ERC721Pool/abis/PoolInfoUtils.json
        - name: PoolInfoUtilsMulticall
          file: ERC721Pool/abis/PoolInfoUtilsMulticall.json
      eventHandlers:
        - event: AddCollateralNFT(indexed address,indexed uint256,uint256[],uint256)
          handler: handleAddCollateralNFT
        - event: AddQuoteToken(indexed address,indexed uint256,uint256,uint256,uint256)
          handler: handleAddQuoteToken
        - event: ApproveLPTransferors(indexed address,address[])
          handler: handleApproveLPTransferors
        - event: AuctionNFTSettle(indexed address,uint256,uint256,uint256)
          handler: handleAuctionNFTSettle
        - event: BondWithdrawn(indexed address,indexed address,uint256)
          handler: handleBondWithdrawn
        - event: BucketBankruptcy(indexed uint256,uint256)
          handler: handleBucketBankruptcy
        - event: BucketTake(indexed address,uint256,uint256,uint256,uint256,bool)
          handler: handleBucketTake
        - event: BucketTakeLPAwarded(indexed address,indexed address,uint256,uint256)
          handler: handleBucketTakeLPAwarded
        - event: DecreaseLPAllowance(indexed address,indexed address,uint256[],uint256[])
          handler: handleDecreaseLPAllowance
        - event: DrawDebtNFT(indexed address,uint256,uint256[],uint256)
          handler: handleDrawDebtNFT
        - event: Flashloan(indexed address,indexed address,uint256)
          handler: handleFlashloan
        - event: IncreaseLPAllowance(indexed address,indexed address,uint256[],uint256[])
          handler: handleIncreaseLPAllowance
        - event: Kick(indexed address,uint256,uint256,uint256)
          handler: handleKick
        - event: KickReserveAuction(uint256,uint256,uint256)
          handler: handleReserveAuctionKick
        - event: LoanStamped(indexed address)
          handler: handleLoanStamped
        - event: MergeOrRemoveCollateralNFT(indexed address,uint256,uint256)
          handler: handleMergeOrRemoveCollateralNFT
        - event: MoveQuoteToken(indexed address,indexed uint256,indexed
            uint256,uint256,uint256,uint256,uint256)
          handler: handleMoveQuoteToken
        - event: RemoveCollateral(indexed address,indexed uint256,uint256,uint256)
          handler: handleRemoveCollateral
        - event: RemoveQuoteToken(indexed address,indexed uint256,uint256,uint256,uint256)
          handler: handleRemoveQuoteToken
        - event: RepayDebt(indexed address,uint256,uint256,uint256)
          handler: handleRepayDebt
        - event: ReserveAuction(uint256,uint256,uint256)
          handler: handleReserveAuctionTake
        - event: ResetInterestRate(uint256,uint256)
          handler: handleResetInterestRate
        - event: RevokeLPAllowance(indexed address,indexed address,uint256[])
          handler: handleRevokeLPAllowance
        - event: RevokeLPTransferors(indexed address,address[])
          handler: handleRevokeLPTransferors
        - event: Settle(indexed address,uint256)
          handler: handleSettle
        - event: Take(indexed address,uint256,uint256,uint256,bool)
          handler: handleTake
        - event: TransferLP(address,address,uint256[],uint256)
          handler: handleTransferLP
        - event: UpdateInterestRate(uint256,uint256)
          handler: handleUpdateInterestRate
      file: templates/ERC721Pool/ERC721Pool.wasm
    network: filecoin
