From 9c25a4c71776c9decd98a0cb3a01b860942fba74 Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Thu, 14 Mar 2024 11:56:15 +0530 Subject: [PATCH] Initial commit --- .eslintignore | 2 + .eslintrc.json | 28 + .gitignore | 6 + .husky/pre-commit | 4 + .npmrc | 1 + LICENSE | 661 + README.md | 212 + environments/local.toml | 97 + package.json | 76 + src/artifacts/AjnaToken.json | 676 + src/artifacts/BurnWrappedAjna.json | 462 + src/artifacts/ERC20Pool.json | 2474 ++++ src/artifacts/ERC20PoolFactory.json | 238 + src/artifacts/ERC721Pool.json | 2564 ++++ src/artifacts/ERC721PoolFactory.json | 301 + src/artifacts/GrantFund.json | 1033 ++ src/artifacts/PositionManager.json | 1023 ++ src/cli/checkpoint-cmds/create.ts | 44 + src/cli/checkpoint-cmds/verify.ts | 40 + src/cli/checkpoint.ts | 39 + src/cli/export-state.ts | 38 + src/cli/import-state.ts | 39 + src/cli/index-block.ts | 38 + src/cli/inspect-cid.ts | 38 + src/cli/reset-cmds/job-queue.ts | 22 + src/cli/reset-cmds/state.ts | 24 + src/cli/reset-cmds/watcher.ts | 37 + src/cli/reset.ts | 24 + src/cli/watch-contract.ts | 38 + src/client.ts | 55 + src/database.ts | 351 + src/entity/Account.ts | 74 + src/entity/AddCollateral.ts | 53 + src/entity/AddCollateralNFT.ts | 53 + src/entity/AddQuoteToken.ts | 56 + src/entity/Approval.ts | 43 + src/entity/ApprovalForAll.ts | 43 + src/entity/AuctionNFTSettle.ts | 53 + src/entity/AuctionSettle.ts | 47 + src/entity/BlockProgress.ts | 48 + src/entity/BondWithdrawn.ts | 44 + src/entity/Bucket.ts | 56 + src/entity/BucketBankruptcy.ts | 47 + src/entity/BucketTake.ts | 71 + src/entity/BucketTakeLPAwarded.ts | 50 + src/entity/Burn.ts | 40 + src/entity/BurnWrap.ts | 44 + src/entity/Contract.ts | 27 + src/entity/DelegateChanged.ts | 43 + src/entity/DelegateRewardClaimed.ts | 43 + src/entity/DelegateVotesChanged.ts | 44 + src/entity/DistributionPeriod.ts | 62 + src/entity/DistributionPeriodStarted.ts | 43 + src/entity/DistributionPeriodVote.ts | 50 + src/entity/DrawDebt.ts | 50 + src/entity/DrawDebtNFT.ts | 50 + src/entity/Event.ts | 38 + src/entity/Flashloan.ts | 35 + src/entity/FrothyEntity.ts | 21 + src/entity/FundTreasury.ts | 41 + src/entity/FundedSlate.ts | 41 + src/entity/FundedSlateUpdated.ts | 40 + src/entity/FundingVote.ts | 44 + src/entity/GrantFund.ts | 35 + src/entity/Kick.ts | 68 + src/entity/LPAllowance.ts | 32 + src/entity/LPAllowanceList.ts | 36 + src/entity/LPTransferorList.ts | 33 + src/entity/Lend.ts | 50 + src/entity/LiquidationAuction.ts | 92 + src/entity/Loan.ts | 56 + src/entity/LoanStamped.ts | 40 + src/entity/MemorializePosition.ts | 46 + src/entity/MergeOrRemoveCollateralNFT.ts | 47 + src/entity/Mint.ts | 43 + src/entity/MoveLiquidity.ts | 49 + src/entity/MoveQuoteToken.ts | 59 + src/entity/Pool.ts | 152 + src/entity/PoolCreated.ts | 43 + src/entity/PoolFactory.ts | 37 + src/entity/Position.ts | 43 + src/entity/PositionLend.ts | 44 + src/entity/Proposal.ts | 56 + src/entity/ProposalCreated.ts | 62 + src/entity/ProposalExecuted.ts | 37 + src/entity/ProposalParams.ts | 41 + src/entity/RedeemPosition.ts | 46 + src/entity/RemoveCollateral.ts | 53 + src/entity/RemoveQuoteToken.ts | 56 + src/entity/RepayDebt.ts | 50 + src/entity/ReserveAuction.ts | 47 + src/entity/ReserveAuctionKick.ts | 50 + src/entity/ReserveAuctionTake.ts | 56 + src/entity/ResetInterestRate.ts | 50 + src/entity/ScreeningVote.ts | 41 + src/entity/Settle.ts | 50 + src/entity/State.ts | 31 + src/entity/StateSyncStatus.ts | 17 + src/entity/Subscriber.ts | 21 + src/entity/SyncStatus.ts | 45 + src/entity/Take.ts | 65 + src/entity/Token.ts | 49 + src/entity/Transfer.ts | 49 + src/entity/TransferLP.ts | 47 + src/entity/UpdateInterestRate.ts | 56 + src/entity/VoteCast.ts | 50 + src/fill.ts | 48 + src/gql/index.ts | 3 + src/gql/mutations/index.ts | 4 + src/gql/mutations/watchContract.gql | 3 + src/gql/queries/_meta.gql | 11 + src/gql/queries/account.gql | 158 + src/gql/queries/accounts.gql | 158 + src/gql/queries/addCollateral.gql | 63 + src/gql/queries/addCollateralNFT.gql | 63 + src/gql/queries/addCollateralNFTS.gql | 63 + src/gql/queries/addCollaterals.gql | 63 + src/gql/queries/addQuoteToken.gql | 64 + src/gql/queries/addQuoteTokens.gql | 64 + src/gql/queries/approval.gql | 11 + src/gql/queries/approvalForAll.gql | 11 + src/gql/queries/approvalForAlls.gql | 11 + src/gql/queries/approvals.gql | 11 + src/gql/queries/auctionNFTSettle.gql | 64 + src/gql/queries/auctionNFTSettles.gql | 64 + src/gql/queries/auctionSettle.gql | 62 + src/gql/queries/auctionSettles.gql | 62 + src/gql/queries/bondWithdrawn.gql | 11 + src/gql/queries/bondWithdrawns.gql | 11 + src/gql/queries/bucket.gql | 70 + src/gql/queries/bucketBankruptcies.gql | 61 + src/gql/queries/bucketBankruptcy.gql | 61 + src/gql/queries/bucketTake.gql | 96 + src/gql/queries/bucketTakeLPAwarded.gql | 53 + src/gql/queries/bucketTakeLPAwardeds.gql | 53 + src/gql/queries/bucketTakes.gql | 96 + src/gql/queries/buckets.gql | 70 + src/gql/queries/burn.gql | 10 + src/gql/queries/burnWrap.gql | 16 + src/gql/queries/burnWraps.gql | 16 + src/gql/queries/burns.gql | 10 + src/gql/queries/delegateChanged.gql | 11 + src/gql/queries/delegateChangeds.gql | 11 + src/gql/queries/delegateRewardClaimed.gql | 21 + src/gql/queries/delegateRewardClaimeds.gql | 21 + src/gql/queries/delegateVotesChanged.gql | 11 + src/gql/queries/delegateVotesChangeds.gql | 11 + src/gql/queries/distributionPeriod.gql | 43 + src/gql/queries/distributionPeriodStarted.gql | 21 + .../queries/distributionPeriodStarteds.gql | 21 + src/gql/queries/distributionPeriodVote.gql | 35 + src/gql/queries/distributionPeriodVotes.gql | 35 + src/gql/queries/distributionPeriods.gql | 43 + src/gql/queries/drawDebt.gql | 53 + src/gql/queries/drawDebtNFT.gql | 53 + src/gql/queries/drawDebtNFTS.gql | 53 + src/gql/queries/drawDebts.gql | 53 + src/gql/queries/events.gql | 296 + src/gql/queries/eventsInRange.gql | 296 + src/gql/queries/flashloan.gql | 48 + src/gql/queries/flashloans.gql | 48 + src/gql/queries/fundTreasuries.gql | 10 + src/gql/queries/fundTreasury.gql | 10 + src/gql/queries/fundedSlate.gql | 30 + src/gql/queries/fundedSlateUpdated.gql | 10 + src/gql/queries/fundedSlateUpdateds.gql | 10 + src/gql/queries/fundedSlates.gql | 30 + src/gql/queries/fundingVote.gql | 46 + src/gql/queries/fundingVotes.gql | 46 + src/gql/queries/getState.gql | 15 + src/gql/queries/getStateByCID.gql | 15 + src/gql/queries/getSyncStatus.gql | 12 + src/gql/queries/grantFund.gql | 18 + src/gql/queries/grantFunds.gql | 18 + src/gql/queries/index.ts | 143 + src/gql/queries/kick.gql | 86 + src/gql/queries/kicks.gql | 86 + src/gql/queries/lend.gql | 62 + src/gql/queries/lends.gql | 62 + src/gql/queries/liquidationAuction.gql | 129 + src/gql/queries/liquidationAuctions.gql | 129 + src/gql/queries/loan.gql | 72 + src/gql/queries/loanStamped.gql | 50 + src/gql/queries/loanStampeds.gql | 50 + src/gql/queries/loans.gql | 72 + src/gql/queries/lpallowance.gql | 7 + src/gql/queries/lpallowanceList.gql | 53 + src/gql/queries/lpallowanceLists.gql | 53 + src/gql/queries/lpallowances.gql | 7 + src/gql/queries/lptransferorList.gql | 48 + src/gql/queries/lptransferorLists.gql | 48 + src/gql/queries/memorializePosition.gql | 52 + src/gql/queries/memorializePositions.gql | 52 + .../queries/mergeOrRemoveCollateralNFT.gql | 52 + .../queries/mergeOrRemoveCollateralNFTS.gql | 52 + src/gql/queries/mint.gql | 51 + src/gql/queries/mints.gql | 51 + src/gql/queries/moveLiquidities.gql | 53 + src/gql/queries/moveLiquidity.gql | 53 + src/gql/queries/moveQuoteToken.gql | 74 + src/gql/queries/moveQuoteTokens.gql | 74 + src/gql/queries/pool.gql | 88 + src/gql/queries/poolCreated.gql | 56 + src/gql/queries/poolCreateds.gql | 56 + src/gql/queries/poolFactories.gql | 49 + src/gql/queries/poolFactory.gql | 49 + src/gql/queries/pools.gql | 88 + src/gql/queries/position.gql | 67 + src/gql/queries/positionLend.gql | 20 + src/gql/queries/positionLends.gql | 20 + src/gql/queries/positions.gql | 67 + src/gql/queries/proposal.gql | 32 + src/gql/queries/proposalCreated.gql | 27 + src/gql/queries/proposalCreateds.gql | 27 + src/gql/queries/proposalExecuted.gql | 9 + src/gql/queries/proposalExecuteds.gql | 9 + src/gql/queries/proposalParams.gql | 10 + src/gql/queries/proposalParamss.gql | 10 + src/gql/queries/proposals.gql | 32 + src/gql/queries/redeemPosition.gql | 52 + src/gql/queries/redeemPositions.gql | 52 + src/gql/queries/removeCollateral.gql | 63 + src/gql/queries/removeCollaterals.gql | 63 + src/gql/queries/removeQuoteToken.gql | 64 + src/gql/queries/removeQuoteTokens.gql | 64 + src/gql/queries/repayDebt.gql | 53 + src/gql/queries/repayDebts.gql | 53 + src/gql/queries/reserveAuction.gql | 70 + src/gql/queries/reserveAuctionKick.gql | 59 + src/gql/queries/reserveAuctionKicks.gql | 59 + src/gql/queries/reserveAuctionTake.gql | 61 + src/gql/queries/reserveAuctionTakes.gql | 61 + src/gql/queries/reserveAuctions.gql | 70 + src/gql/queries/resetInterestRate.gql | 53 + src/gql/queries/resetInterestRates.gql | 53 + src/gql/queries/screeningVote.gql | 45 + src/gql/queries/screeningVotes.gql | 45 + src/gql/queries/settle.gql | 80 + src/gql/queries/settles.gql | 80 + src/gql/queries/take.gql | 85 + src/gql/queries/takes.gql | 85 + src/gql/queries/token.gql | 53 + src/gql/queries/tokens.gql | 53 + src/gql/queries/transfer.gql | 62 + src/gql/queries/transferLP.gql | 12 + src/gql/queries/transferLPS.gql | 12 + src/gql/queries/transfers.gql | 62 + src/gql/queries/updateInterestRate.gql | 55 + src/gql/queries/updateInterestRates.gql | 55 + src/gql/queries/voteCast.gql | 13 + src/gql/queries/voteCasts.gql | 13 + src/gql/subscriptions/index.ts | 4 + src/gql/subscriptions/onEvent.gql | 296 + src/hooks.ts | 86 + src/indexer.ts | 2289 ++++ src/job-runner.ts | 48 + src/resolvers.ts | 2884 ++++ src/schema.gql | 10902 ++++++++++++++++ src/server.ts | 43 + src/types.ts | 3 + subgraph-build/AjnaToken/AjnaToken.wasm | Bin 0 -> 686412 bytes subgraph-build/AjnaToken/abis/AjnaToken.json | 674 + .../BurnWrappedAjna/BurnWrappedAjna.wasm | Bin 0 -> 675236 bytes .../BurnWrappedAjna/abis/BurnWrappedAjna.json | 460 + subgraph-build/ERC20Pool/abis/ERC20.json | 288 + subgraph-build/ERC20Pool/abis/ERC20Pool.json | 2472 ++++ subgraph-build/ERC20Pool/abis/ERC721.json | 348 + .../ERC20Pool/abis/PoolInfoUtils.json | 789 ++ .../abis/PoolInfoUtilsMulticall.json | 295 + .../ERC20PoolFactory/ERC20PoolFactory.wasm | Bin 0 -> 705472 bytes .../ERC20PoolFactory/abis/ERC20.json | 288 + .../ERC20PoolFactory/abis/ERC20Pool.json | 2472 ++++ .../abis/ERC20PoolFactory.json | 236 + .../ERC20PoolFactory/abis/PoolInfoUtils.json | 789 ++ subgraph-build/ERC721Pool/abis/ERC20.json | 288 + subgraph-build/ERC721Pool/abis/ERC20Pool.json | 2472 ++++ subgraph-build/ERC721Pool/abis/ERC721.json | 348 + .../ERC721Pool/abis/ERC721Pool.json | 2562 ++++ .../ERC721Pool/abis/PoolInfoUtils.json | 789 ++ .../abis/PoolInfoUtilsMulticall.json | 295 + .../ERC721PoolFactory/ERC721PoolFactory.wasm | Bin 0 -> 707318 bytes .../ERC721PoolFactory/abis/ERC20.json | 288 + .../ERC721PoolFactory/abis/ERC721.json | 348 + .../ERC721PoolFactory/abis/ERC721Pool.json | 2562 ++++ .../abis/ERC721PoolFactory.json | 299 + .../ERC721PoolFactory/abis/PoolInfoUtils.json | 789 ++ subgraph-build/GrantFund/GrantFund.wasm | Bin 0 -> 747650 bytes subgraph-build/GrantFund/abis/GrantFund.json | 1031 ++ .../PositionManager/PositionManager.wasm | Bin 0 -> 739516 bytes .../PositionManager/abis/ERC721.json | 348 + .../PositionManager/abis/PoolInfoUtils.json | 789 ++ .../PositionManager/abis/PositionManager.json | 1021 ++ subgraph-build/schema.graphql | 990 ++ subgraph-build/subgraph.yaml | 398 + .../templates/ERC20Pool/ERC20Pool.wasm | Bin 0 -> 917359 bytes .../templates/ERC721Pool/ERC721Pool.wasm | Bin 0 -> 935480 bytes tsconfig.json | 74 + yarn.lock | 7379 +++++++++++ 298 files changed, 70391 insertions(+) create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100755 .husky/pre-commit create mode 100644 .npmrc create mode 100644 LICENSE create mode 100644 README.md create mode 100644 environments/local.toml create mode 100644 package.json create mode 100644 src/artifacts/AjnaToken.json create mode 100644 src/artifacts/BurnWrappedAjna.json create mode 100644 src/artifacts/ERC20Pool.json create mode 100644 src/artifacts/ERC20PoolFactory.json create mode 100644 src/artifacts/ERC721Pool.json create mode 100644 src/artifacts/ERC721PoolFactory.json create mode 100644 src/artifacts/GrantFund.json create mode 100644 src/artifacts/PositionManager.json create mode 100644 src/cli/checkpoint-cmds/create.ts create mode 100644 src/cli/checkpoint-cmds/verify.ts create mode 100644 src/cli/checkpoint.ts create mode 100644 src/cli/export-state.ts create mode 100644 src/cli/import-state.ts create mode 100644 src/cli/index-block.ts create mode 100644 src/cli/inspect-cid.ts create mode 100644 src/cli/reset-cmds/job-queue.ts create mode 100644 src/cli/reset-cmds/state.ts create mode 100644 src/cli/reset-cmds/watcher.ts create mode 100644 src/cli/reset.ts create mode 100644 src/cli/watch-contract.ts create mode 100644 src/client.ts create mode 100644 src/database.ts create mode 100644 src/entity/Account.ts create mode 100644 src/entity/AddCollateral.ts create mode 100644 src/entity/AddCollateralNFT.ts create mode 100644 src/entity/AddQuoteToken.ts create mode 100644 src/entity/Approval.ts create mode 100644 src/entity/ApprovalForAll.ts create mode 100644 src/entity/AuctionNFTSettle.ts create mode 100644 src/entity/AuctionSettle.ts create mode 100644 src/entity/BlockProgress.ts create mode 100644 src/entity/BondWithdrawn.ts create mode 100644 src/entity/Bucket.ts create mode 100644 src/entity/BucketBankruptcy.ts create mode 100644 src/entity/BucketTake.ts create mode 100644 src/entity/BucketTakeLPAwarded.ts create mode 100644 src/entity/Burn.ts create mode 100644 src/entity/BurnWrap.ts create mode 100644 src/entity/Contract.ts create mode 100644 src/entity/DelegateChanged.ts create mode 100644 src/entity/DelegateRewardClaimed.ts create mode 100644 src/entity/DelegateVotesChanged.ts create mode 100644 src/entity/DistributionPeriod.ts create mode 100644 src/entity/DistributionPeriodStarted.ts create mode 100644 src/entity/DistributionPeriodVote.ts create mode 100644 src/entity/DrawDebt.ts create mode 100644 src/entity/DrawDebtNFT.ts create mode 100644 src/entity/Event.ts create mode 100644 src/entity/Flashloan.ts create mode 100644 src/entity/FrothyEntity.ts create mode 100644 src/entity/FundTreasury.ts create mode 100644 src/entity/FundedSlate.ts create mode 100644 src/entity/FundedSlateUpdated.ts create mode 100644 src/entity/FundingVote.ts create mode 100644 src/entity/GrantFund.ts create mode 100644 src/entity/Kick.ts create mode 100644 src/entity/LPAllowance.ts create mode 100644 src/entity/LPAllowanceList.ts create mode 100644 src/entity/LPTransferorList.ts create mode 100644 src/entity/Lend.ts create mode 100644 src/entity/LiquidationAuction.ts create mode 100644 src/entity/Loan.ts create mode 100644 src/entity/LoanStamped.ts create mode 100644 src/entity/MemorializePosition.ts create mode 100644 src/entity/MergeOrRemoveCollateralNFT.ts create mode 100644 src/entity/Mint.ts create mode 100644 src/entity/MoveLiquidity.ts create mode 100644 src/entity/MoveQuoteToken.ts create mode 100644 src/entity/Pool.ts create mode 100644 src/entity/PoolCreated.ts create mode 100644 src/entity/PoolFactory.ts create mode 100644 src/entity/Position.ts create mode 100644 src/entity/PositionLend.ts create mode 100644 src/entity/Proposal.ts create mode 100644 src/entity/ProposalCreated.ts create mode 100644 src/entity/ProposalExecuted.ts create mode 100644 src/entity/ProposalParams.ts create mode 100644 src/entity/RedeemPosition.ts create mode 100644 src/entity/RemoveCollateral.ts create mode 100644 src/entity/RemoveQuoteToken.ts create mode 100644 src/entity/RepayDebt.ts create mode 100644 src/entity/ReserveAuction.ts create mode 100644 src/entity/ReserveAuctionKick.ts create mode 100644 src/entity/ReserveAuctionTake.ts create mode 100644 src/entity/ResetInterestRate.ts create mode 100644 src/entity/ScreeningVote.ts create mode 100644 src/entity/Settle.ts create mode 100644 src/entity/State.ts create mode 100644 src/entity/StateSyncStatus.ts create mode 100644 src/entity/Subscriber.ts create mode 100644 src/entity/SyncStatus.ts create mode 100644 src/entity/Take.ts create mode 100644 src/entity/Token.ts create mode 100644 src/entity/Transfer.ts create mode 100644 src/entity/TransferLP.ts create mode 100644 src/entity/UpdateInterestRate.ts create mode 100644 src/entity/VoteCast.ts create mode 100644 src/fill.ts create mode 100644 src/gql/index.ts create mode 100644 src/gql/mutations/index.ts create mode 100644 src/gql/mutations/watchContract.gql create mode 100644 src/gql/queries/_meta.gql create mode 100644 src/gql/queries/account.gql create mode 100644 src/gql/queries/accounts.gql create mode 100644 src/gql/queries/addCollateral.gql create mode 100644 src/gql/queries/addCollateralNFT.gql create mode 100644 src/gql/queries/addCollateralNFTS.gql create mode 100644 src/gql/queries/addCollaterals.gql create mode 100644 src/gql/queries/addQuoteToken.gql create mode 100644 src/gql/queries/addQuoteTokens.gql create mode 100644 src/gql/queries/approval.gql create mode 100644 src/gql/queries/approvalForAll.gql create mode 100644 src/gql/queries/approvalForAlls.gql create mode 100644 src/gql/queries/approvals.gql create mode 100644 src/gql/queries/auctionNFTSettle.gql create mode 100644 src/gql/queries/auctionNFTSettles.gql create mode 100644 src/gql/queries/auctionSettle.gql create mode 100644 src/gql/queries/auctionSettles.gql create mode 100644 src/gql/queries/bondWithdrawn.gql create mode 100644 src/gql/queries/bondWithdrawns.gql create mode 100644 src/gql/queries/bucket.gql create mode 100644 src/gql/queries/bucketBankruptcies.gql create mode 100644 src/gql/queries/bucketBankruptcy.gql create mode 100644 src/gql/queries/bucketTake.gql create mode 100644 src/gql/queries/bucketTakeLPAwarded.gql create mode 100644 src/gql/queries/bucketTakeLPAwardeds.gql create mode 100644 src/gql/queries/bucketTakes.gql create mode 100644 src/gql/queries/buckets.gql create mode 100644 src/gql/queries/burn.gql create mode 100644 src/gql/queries/burnWrap.gql create mode 100644 src/gql/queries/burnWraps.gql create mode 100644 src/gql/queries/burns.gql create mode 100644 src/gql/queries/delegateChanged.gql create mode 100644 src/gql/queries/delegateChangeds.gql create mode 100644 src/gql/queries/delegateRewardClaimed.gql create mode 100644 src/gql/queries/delegateRewardClaimeds.gql create mode 100644 src/gql/queries/delegateVotesChanged.gql create mode 100644 src/gql/queries/delegateVotesChangeds.gql create mode 100644 src/gql/queries/distributionPeriod.gql create mode 100644 src/gql/queries/distributionPeriodStarted.gql create mode 100644 src/gql/queries/distributionPeriodStarteds.gql create mode 100644 src/gql/queries/distributionPeriodVote.gql create mode 100644 src/gql/queries/distributionPeriodVotes.gql create mode 100644 src/gql/queries/distributionPeriods.gql create mode 100644 src/gql/queries/drawDebt.gql create mode 100644 src/gql/queries/drawDebtNFT.gql create mode 100644 src/gql/queries/drawDebtNFTS.gql create mode 100644 src/gql/queries/drawDebts.gql create mode 100644 src/gql/queries/events.gql create mode 100644 src/gql/queries/eventsInRange.gql create mode 100644 src/gql/queries/flashloan.gql create mode 100644 src/gql/queries/flashloans.gql create mode 100644 src/gql/queries/fundTreasuries.gql create mode 100644 src/gql/queries/fundTreasury.gql create mode 100644 src/gql/queries/fundedSlate.gql create mode 100644 src/gql/queries/fundedSlateUpdated.gql create mode 100644 src/gql/queries/fundedSlateUpdateds.gql create mode 100644 src/gql/queries/fundedSlates.gql create mode 100644 src/gql/queries/fundingVote.gql create mode 100644 src/gql/queries/fundingVotes.gql create mode 100644 src/gql/queries/getState.gql create mode 100644 src/gql/queries/getStateByCID.gql create mode 100644 src/gql/queries/getSyncStatus.gql create mode 100644 src/gql/queries/grantFund.gql create mode 100644 src/gql/queries/grantFunds.gql create mode 100644 src/gql/queries/index.ts create mode 100644 src/gql/queries/kick.gql create mode 100644 src/gql/queries/kicks.gql create mode 100644 src/gql/queries/lend.gql create mode 100644 src/gql/queries/lends.gql create mode 100644 src/gql/queries/liquidationAuction.gql create mode 100644 src/gql/queries/liquidationAuctions.gql create mode 100644 src/gql/queries/loan.gql create mode 100644 src/gql/queries/loanStamped.gql create mode 100644 src/gql/queries/loanStampeds.gql create mode 100644 src/gql/queries/loans.gql create mode 100644 src/gql/queries/lpallowance.gql create mode 100644 src/gql/queries/lpallowanceList.gql create mode 100644 src/gql/queries/lpallowanceLists.gql create mode 100644 src/gql/queries/lpallowances.gql create mode 100644 src/gql/queries/lptransferorList.gql create mode 100644 src/gql/queries/lptransferorLists.gql create mode 100644 src/gql/queries/memorializePosition.gql create mode 100644 src/gql/queries/memorializePositions.gql create mode 100644 src/gql/queries/mergeOrRemoveCollateralNFT.gql create mode 100644 src/gql/queries/mergeOrRemoveCollateralNFTS.gql create mode 100644 src/gql/queries/mint.gql create mode 100644 src/gql/queries/mints.gql create mode 100644 src/gql/queries/moveLiquidities.gql create mode 100644 src/gql/queries/moveLiquidity.gql create mode 100644 src/gql/queries/moveQuoteToken.gql create mode 100644 src/gql/queries/moveQuoteTokens.gql create mode 100644 src/gql/queries/pool.gql create mode 100644 src/gql/queries/poolCreated.gql create mode 100644 src/gql/queries/poolCreateds.gql create mode 100644 src/gql/queries/poolFactories.gql create mode 100644 src/gql/queries/poolFactory.gql create mode 100644 src/gql/queries/pools.gql create mode 100644 src/gql/queries/position.gql create mode 100644 src/gql/queries/positionLend.gql create mode 100644 src/gql/queries/positionLends.gql create mode 100644 src/gql/queries/positions.gql create mode 100644 src/gql/queries/proposal.gql create mode 100644 src/gql/queries/proposalCreated.gql create mode 100644 src/gql/queries/proposalCreateds.gql create mode 100644 src/gql/queries/proposalExecuted.gql create mode 100644 src/gql/queries/proposalExecuteds.gql create mode 100644 src/gql/queries/proposalParams.gql create mode 100644 src/gql/queries/proposalParamss.gql create mode 100644 src/gql/queries/proposals.gql create mode 100644 src/gql/queries/redeemPosition.gql create mode 100644 src/gql/queries/redeemPositions.gql create mode 100644 src/gql/queries/removeCollateral.gql create mode 100644 src/gql/queries/removeCollaterals.gql create mode 100644 src/gql/queries/removeQuoteToken.gql create mode 100644 src/gql/queries/removeQuoteTokens.gql create mode 100644 src/gql/queries/repayDebt.gql create mode 100644 src/gql/queries/repayDebts.gql create mode 100644 src/gql/queries/reserveAuction.gql create mode 100644 src/gql/queries/reserveAuctionKick.gql create mode 100644 src/gql/queries/reserveAuctionKicks.gql create mode 100644 src/gql/queries/reserveAuctionTake.gql create mode 100644 src/gql/queries/reserveAuctionTakes.gql create mode 100644 src/gql/queries/reserveAuctions.gql create mode 100644 src/gql/queries/resetInterestRate.gql create mode 100644 src/gql/queries/resetInterestRates.gql create mode 100644 src/gql/queries/screeningVote.gql create mode 100644 src/gql/queries/screeningVotes.gql create mode 100644 src/gql/queries/settle.gql create mode 100644 src/gql/queries/settles.gql create mode 100644 src/gql/queries/take.gql create mode 100644 src/gql/queries/takes.gql create mode 100644 src/gql/queries/token.gql create mode 100644 src/gql/queries/tokens.gql create mode 100644 src/gql/queries/transfer.gql create mode 100644 src/gql/queries/transferLP.gql create mode 100644 src/gql/queries/transferLPS.gql create mode 100644 src/gql/queries/transfers.gql create mode 100644 src/gql/queries/updateInterestRate.gql create mode 100644 src/gql/queries/updateInterestRates.gql create mode 100644 src/gql/queries/voteCast.gql create mode 100644 src/gql/queries/voteCasts.gql create mode 100644 src/gql/subscriptions/index.ts create mode 100644 src/gql/subscriptions/onEvent.gql create mode 100644 src/hooks.ts create mode 100644 src/indexer.ts create mode 100644 src/job-runner.ts create mode 100644 src/resolvers.ts create mode 100644 src/schema.gql create mode 100644 src/server.ts create mode 100644 src/types.ts create mode 100644 subgraph-build/AjnaToken/AjnaToken.wasm create mode 100644 subgraph-build/AjnaToken/abis/AjnaToken.json create mode 100644 subgraph-build/BurnWrappedAjna/BurnWrappedAjna.wasm create mode 100644 subgraph-build/BurnWrappedAjna/abis/BurnWrappedAjna.json create mode 100644 subgraph-build/ERC20Pool/abis/ERC20.json create mode 100644 subgraph-build/ERC20Pool/abis/ERC20Pool.json create mode 100644 subgraph-build/ERC20Pool/abis/ERC721.json create mode 100644 subgraph-build/ERC20Pool/abis/PoolInfoUtils.json create mode 100644 subgraph-build/ERC20Pool/abis/PoolInfoUtilsMulticall.json create mode 100644 subgraph-build/ERC20PoolFactory/ERC20PoolFactory.wasm create mode 100644 subgraph-build/ERC20PoolFactory/abis/ERC20.json create mode 100644 subgraph-build/ERC20PoolFactory/abis/ERC20Pool.json create mode 100644 subgraph-build/ERC20PoolFactory/abis/ERC20PoolFactory.json create mode 100644 subgraph-build/ERC20PoolFactory/abis/PoolInfoUtils.json create mode 100644 subgraph-build/ERC721Pool/abis/ERC20.json create mode 100644 subgraph-build/ERC721Pool/abis/ERC20Pool.json create mode 100644 subgraph-build/ERC721Pool/abis/ERC721.json create mode 100644 subgraph-build/ERC721Pool/abis/ERC721Pool.json create mode 100644 subgraph-build/ERC721Pool/abis/PoolInfoUtils.json create mode 100644 subgraph-build/ERC721Pool/abis/PoolInfoUtilsMulticall.json create mode 100644 subgraph-build/ERC721PoolFactory/ERC721PoolFactory.wasm create mode 100644 subgraph-build/ERC721PoolFactory/abis/ERC20.json create mode 100644 subgraph-build/ERC721PoolFactory/abis/ERC721.json create mode 100644 subgraph-build/ERC721PoolFactory/abis/ERC721Pool.json create mode 100644 subgraph-build/ERC721PoolFactory/abis/ERC721PoolFactory.json create mode 100644 subgraph-build/ERC721PoolFactory/abis/PoolInfoUtils.json create mode 100644 subgraph-build/GrantFund/GrantFund.wasm create mode 100644 subgraph-build/GrantFund/abis/GrantFund.json create mode 100644 subgraph-build/PositionManager/PositionManager.wasm create mode 100644 subgraph-build/PositionManager/abis/ERC721.json create mode 100644 subgraph-build/PositionManager/abis/PoolInfoUtils.json create mode 100644 subgraph-build/PositionManager/abis/PositionManager.json create mode 100644 subgraph-build/schema.graphql create mode 100644 subgraph-build/subgraph.yaml create mode 100644 subgraph-build/templates/ERC20Pool/ERC20Pool.wasm create mode 100644 subgraph-build/templates/ERC721Pool/ERC721Pool.wasm create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..55cb522 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +# Don't lint build output. +dist diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..a2b842c --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,28 @@ +{ + "env": { + "browser": true, + "es2021": true + }, + "extends": [ + "semistandard", + "plugin:@typescript-eslint/recommended" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 12, + "sourceType": "module" + }, + "plugins": [ + "@typescript-eslint" + ], + "rules": { + "indent": ["error", 2, { "SwitchCase": 1 }], + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/explicit-module-boundary-types": [ + "warn", + { + "allowArgumentsExplicitlyTypedAsAny": true + } + ] + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0b4cc3f --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules/ +dist/ +out/ + +.vscode +.idea diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..9dcd433 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn lint diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..6b64c5b --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +@cerc-io:registry=https://git.vdb.to/api/packages/cerc-io/npm/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..331f7cf --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for + software and other kinds of works, specifically designed to ensure + cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed + to take away your freedom to share and change the works. By contrast, + our General Public Licenses are intended to guarantee your freedom to + share and change all versions of a program--to make sure it remains free + software for all its users. + + When we speak of free software, we are referring to freedom, not + price. Our General Public Licenses are designed to make sure that you + have the freedom to distribute copies of free software (and charge for + them if you wish), that you receive source code or can get it if you + want it, that you can change the software or use pieces of it in new + free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights + with two steps: (1) assert copyright on the software, and (2) offer + you this License which gives you legal permission to copy, distribute + and/or modify the software. + + A secondary benefit of defending all users' freedom is that + improvements made in alternate versions of the program, if they + receive widespread use, become available for other developers to + incorporate. Many developers of free software are heartened and + encouraged by the resulting cooperation. However, in the case of + software used on network servers, this result may fail to come about. + The GNU General Public License permits making a modified version and + letting the public access it on a server without ever releasing its + source code to the public. + + The GNU Affero General Public License is designed specifically to + ensure that, in such cases, the modified source code becomes available + to the community. It requires the operator of a network server to + provide the source code of the modified version running there to the + users of that server. Therefore, public use of a modified version, on + a publicly accessible server, gives the public access to the source + code of the modified version. + + An older license, called the Affero General Public License and + published by Affero, was designed to accomplish similar goals. This is + a different license, not a version of the Affero GPL, but Affero has + released a new version of the Affero GPL which permits relicensing under + this license. + + The precise terms and conditions for copying, distribution and + modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this + License. Each licensee is addressed as "you". "Licensees" and + "recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work + in a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a "modified version" of the + earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based + on the Program. + + To "propagate" a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through + a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" + to the extent that it includes a convenient and prominently visible + feature that (1) displays an appropriate copyright notice, and (2) + tells the user that there is no warranty for the work (except to the + extent that warranties are provided), that licensees may convey the + work under this License, and how to view a copy of this License. If + the interface presents a list of user commands or options, such as a + menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work + for making modifications to it. "Object code" means any non-source + form of a work. + + A "Standard Interface" means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that + is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other + than the work as a whole, that (a) is included in the normal form of + packaging a Major Component, but which is not part of that Major + Component, and (b) serves only to enable use of the work with that + Major Component, or to implement a Standard Interface for which an + implementation is available to the public in source code form. A + "Major Component", in this context, means a major essential component + (kernel, window system, and so on) of the specific operating system + (if any) on which the executable work runs, or a compiler used to + produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all + the source code needed to generate, install, and (for an executable + work) run the object code and to modify the work, including scripts to + control those activities. However, it does not include the work's + System Libraries, or general-purpose tools or generally available free + programs which are used unmodified in performing those activities but + which are not part of the work. For example, Corresponding Source + includes interface definition files associated with source files for + the work, and the source code for shared libraries and dynamically + linked subprograms that the work is specifically designed to require, + such as by intimate data communication or control flow between those + subprograms and other parts of the work. + + The Corresponding Source need not include anything that users + can regenerate automatically from other parts of the Corresponding + Source. + + The Corresponding Source for a work in source code form is that + same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program. The output from running a + covered work is covered by this License only if the output, given its + content, constitutes a covered work. This License acknowledges your + rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not + convey, without conditions so long as your license otherwise remains + in force. You may convey covered works to others for the sole purpose + of having them make modifications exclusively for you, or provide you + with facilities for running those works, provided that you comply with + the terms of this License in conveying all material for which you do + not control copyright. Those thus making or running the covered works + for you must do so exclusively on your behalf, under your direction + and control, on terms that prohibit them from making any copies of + your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under + the conditions stated below. Sublicensing is not allowed; section 10 + makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article + 11 of the WIPO copyright treaty adopted on 20 December 1996, or + similar laws prohibiting or restricting circumvention of such + measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention + is effected by exercising rights under this License with respect to + the covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's + users, your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; + keep intact all notices stating that this License and any + non-permissive terms added in accord with section 7 apply to the code; + keep intact all notices of the absence of any warranty; and give all + recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, + and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the + terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, + and which are not combined with it such as to form a larger program, + in or on a volume of a storage or distribution medium, is called an + "aggregate" if the compilation and its resulting copyright are not + used to limit the access or legal rights of the compilation's users + beyond what the individual works permit. Inclusion of a covered work + in an aggregate does not cause this License to apply to the other + parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms + of sections 4 and 5, provided that you also convey the + machine-readable Corresponding Source under the terms of this License, + in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be + included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, "normally used" refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as + part of a transaction in which the right of possession and use of the + User Product is transferred to the recipient in perpetuity or for a + fixed term (regardless of how the transaction is characterized), the + Corresponding Source conveyed under this section must be accompanied + by the Installation Information. But this requirement does not apply + if neither you nor any third party retains the ability to install + modified object code on the User Product (for example, the work has + been installed in ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access to a + network may be denied when the modification itself materially and + adversely affects the operation of the network or violates the rules and + protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, + in accord with this section must be in a format that is publicly + documented (and with an implementation available to the public in + source code form), and must require no special password or key for + unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall + be treated as though they were included in this License, to the extent + that they are valid under applicable law. If additional permissions + apply only to part of the Program, that part may be used separately + under those permissions, but the entire Program remains governed by + this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option + remove any additional permissions from that copy, or from any part of + it. (Additional permissions may be written to require their own + removal in certain cases when you modify the work.) You may place + additional permissions on material, added by you to a covered work, + for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you + add to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further + restrictions" within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further + restriction, you may remove that term. If a license document contains + a further restriction but permits relicensing or conveying under this + License, you may add to a covered work material governed by the terms + of that license document, provided that the further restriction does + not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you + must place, in the relevant source files, a statement of the + additional terms that apply to those files, or a notice indicating + where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the + form of a separately written license, or stated as exceptions; + the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or + modify it is void, and will automatically terminate your rights under + this License (including any patent licenses granted under the third + paragraph of section 11). + + However, if you cease all violation of this License, then your + license from a particular copyright holder is reinstated (a) + provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and (b) permanently, if the copyright + holder fails to notify you of the violation by some reasonable means + prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is + reinstated permanently if the copyright holder notifies you of the + violation by some reasonable means, this is the first time you have + received notice of violation of this License (for any work) from that + copyright holder, and you cure the violation prior to 30 days after + your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or + run a copy of the Program. Ancillary propagation of a covered work + occurring solely as a consequence of using peer-to-peer transmission + to receive a copy likewise does not require acceptance. However, + nothing other than this License grants you permission to propagate or + modify any covered work. These actions infringe copyright if you do + not accept this License. Therefore, by modifying or propagating a + covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically + receives a license from the original licensors, to run, modify and + propagate that work, subject to this License. You are not responsible + for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered + work results from an entity transaction, each party to that + transaction who receives a copy of the work also receives whatever + licenses to the work the party's predecessor in interest had or could + give under the previous paragraph, plus a right to possession of the + Corresponding Source of the work from the predecessor in interest, if + the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the + rights granted or affirmed under this License. For example, you may + not impose a license fee, royalty, or other charge for exercise of + rights granted under this License, and you may not initiate litigation + (including a cross-claim or counterclaim in a lawsuit) alleging that + any patent claim is infringed by making, using, selling, offering for + sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The + work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims + owned or controlled by the contributor, whether already acquired or + hereafter acquired, that would be infringed by some manner, permitted + by this License, of making, using, or selling its contributor version, + but do not include claims that would be infringed only as a + consequence of further modification of the contributor version. For + purposes of this definition, "control" includes the right to grant + patent sublicenses in a manner consistent with the requirements of + this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to + make, use, sell, offer for sale, import and otherwise run, modify and + propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To "grant" such a patent license to a + party means to make such an agreement or commitment not to enforce a + patent against the party. + + If you convey a covered work, knowingly relying on a patent license, + and the Corresponding Source of the work is not available for anyone + to copy, free of charge and under the terms of this License, through a + publicly available network server or other readily accessible means, + then you must either (1) cause the Corresponding Source to be so + available, or (2) arrange to deprive yourself of the benefit of the + patent license for this particular work, or (3) arrange, in a manner + consistent with the requirements of this License, to extend the patent + license to downstream recipients. "Knowingly relying" means you have + actual knowledge that, but for the patent license, your conveying the + covered work in a country, or your recipient's use of the covered work + in a country, would infringe one or more identifiable patents in that + country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties + receiving the covered work authorizing them to use, propagate, modify + or convey a specific copy of the covered work, then the patent license + you grant is automatically extended to all recipients of the covered + work and works based on it. + + A patent license is "discriminatory" if it does not include within + the scope of its coverage, prohibits the exercise of, or is + conditioned on the non-exercise of one or more of the rights that are + specifically granted under this License. You may not convey a covered + work if you are a party to an arrangement with a third party that is + in the business of distributing software, under which you make payment + to the third party based on the extent of your activity of conveying + the work, and under which the third party grants, to any of the + parties who would receive the covered work from you, a discriminatory + patent license (a) in connection with copies of the covered work + conveyed by you (or copies made from those copies), or (b) primarily + for and in connection with specific products or compilations that + contain the covered work, unless you entered into that arrangement, + or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting + any implied license or other defenses to infringement that may + otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot convey a + covered work so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you may + not convey it at all. For example, if you agree to terms that obligate you + to collect a royalty for further conveying from those to whom you convey + the Program, the only way you could satisfy both those terms and this + License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the + Program, your modified version must prominently offer all users + interacting with it remotely through a computer network (if your version + supports such interaction) an opportunity to receive the Corresponding + Source of your version by providing access to the Corresponding Source + from a network server at no charge, through some standard or customary + means of facilitating copying of software. This Corresponding Source + shall include the Corresponding Source for any work covered by version 3 + of the GNU General Public License that is incorporated pursuant to the + following paragraph. + + Notwithstanding any other provision of this License, you have + permission to link or combine any covered work with a work licensed + under version 3 of the GNU General Public License into a single + combined work, and to convey the resulting work. The terms of this + License will continue to apply to the part which is the covered work, + but the work with which it is combined will remain governed by version + 3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of + the GNU Affero General Public License from time to time. Such new versions + will be similar in spirit to the present version, but may differ in detail to + address new problems or concerns. + + Each version is given a distinguishing version number. If the + Program specifies that a certain numbered version of the GNU Affero General + Public License "or any later version" applies to it, you have the + option of following the terms and conditions either of that numbered + version or of any later version published by the Free Software + Foundation. If the Program does not specify a version number of the + GNU Affero General Public License, you may choose any version ever published + by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future + versions of the GNU Affero General Public License can be used, that proxy's + public statement of acceptance of a version permanently authorizes you + to choose that version for the Program. + + Later license versions may give you additional or different + permissions. However, no additional obligations are imposed on any + author or copyright holder as a result of your choosing to follow a + later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY + GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE + USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF + DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD + PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), + EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF + SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided + above cannot be given local legal effect according to their terms, + reviewing courts shall apply local law that most closely approximates + an absolute waiver of all civil liability in connection with the + Program, unless a warranty or assumption of liability accompanies a + copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest + possible use to the public, the best way to achieve this is to make it + free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest + to attach them to the start of each source file to most effectively + state the exclusion of warranty; and each file should have at least + the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer + network, you should also make sure that it provides a way for users to + get its source. For example, if your program is a web application, its + interface could display a "Source" link that leads users to an archive + of the code. There are many ways you could offer source, and different + solutions will be better for different programs; see section 13 for the + specific requirements. + + You should also get your employer (if you work as a programmer) or school, + if any, to sign a "copyright disclaimer" for the program, if necessary. + For more information on this, and how to apply and follow the GNU AGPL, see + . diff --git a/README.md b/README.md new file mode 100644 index 0000000..b338d82 --- /dev/null +++ b/README.md @@ -0,0 +1,212 @@ +# ajna-watcher-ts + +## Setup + +* Run the following command to install required packages: + + ```bash + yarn + ``` + +* Create a postgres12 database for the watcher: + + ```bash + sudo su - postgres + createdb ajna-watcher-ts + ``` + +* If the watcher is an `active` watcher: + + Create database for the job queue and enable the `pgcrypto` extension on them (https://github.com/timgit/pg-boss/blob/master/docs/usage.md#intro): + + ``` + createdb ajna-watcher-ts-job-queue + ``` + + ``` + postgres@tesla:~$ psql -U postgres -h localhost ajna-watcher-ts-job-queue + Password for user postgres: + psql (12.7 (Ubuntu 12.7-1.pgdg18.04+1)) + SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) + Type "help" for help. + + ajna-watcher-ts-job-queue=# CREATE EXTENSION pgcrypto; + CREATE EXTENSION + ajna-watcher-ts-job-queue=# exit + ``` + +* In the [config file](./environments/local.toml): + + * Update the database connection settings. + + * Update the `upstream` config and provide the `ipld-eth-server` GQL API endpoint. + + * Update the `server` config with state checkpoint settings. + +## Customize + +* Indexing on an event: + + * Edit the custom hook function `handleEvent` (triggered on an event) in [hooks.ts](./src/hooks.ts) to perform corresponding indexing using the `Indexer` object. + + * While using the indexer storage methods for indexing, pass `diff` as true if default state is desired to be generated using the state variables being indexed. + +* Generating state: + + * Edit the custom hook function `createInitialState` (triggered if the watcher passes the start block, checkpoint: `true`) in [hooks.ts](./src/hooks.ts) to save an initial `State` using the `Indexer` object. + + * Edit the custom hook function `createStateDiff` (triggered on a block) in [hooks.ts](./src/hooks.ts) to save the state in a `diff` `State` using the `Indexer` object. The default state (if exists) is updated. + + * Edit the custom hook function `createStateCheckpoint` (triggered just before default and CLI checkpoint) in [hooks.ts](./src/hooks.ts) to save the state in a `checkpoint` `State` using the `Indexer` object. + +### GQL Caching + +To enable GQL requests caching: + +* Update the `server.gqlCache` config with required settings. + +* In the GQL [schema file](./src/schema.gql), use the `cacheControl` directive to apply cache hints at schema level. + + * Eg. Set `inheritMaxAge` to true for non-scalar fields of a type. + +* In the GQL [resolvers file](./src/resolvers.ts), uncomment the `setGQLCacheHints()` calls in resolvers for required queries. + +## Run + +* If the watcher is a `lazy` watcher: + + * Run the server: + + ```bash + yarn server + ``` + + GQL console: http://localhost:3008/graphql + +* If the watcher is an `active` watcher: + + * Run the job-runner: + + ```bash + yarn job-runner + ``` + + * Run the server: + + ```bash + yarn server + ``` + + GQL console: http://localhost:3008/graphql + + * To watch a contract: + + ```bash + yarn watch:contract --address --kind --checkpoint --starting-block [block-number] + ``` + + * `address`: Address or identifier of the contract to be watched. + * `kind`: Kind of the contract. + * `checkpoint`: Turn checkpointing on (`true` | `false`). + * `starting-block`: Starting block for the contract (default: `1`). + + Examples: + + Watch a contract with its address and checkpointing on: + + ```bash + yarn watch:contract --address 0x1F78641644feB8b64642e833cE4AFE93DD6e7833 --kind ERC20 --checkpoint true + ``` + + Watch a contract with its identifier and checkpointing on: + + ```bash + yarn watch:contract --address MyProtocol --kind protocol --checkpoint true + ``` + + * To fill a block range: + + ```bash + yarn fill --start-block --end-block + ``` + + * `start-block`: Block number to start filling from. + * `end-block`: Block number till which to fill. + + * To create a checkpoint for a contract: + + ```bash + yarn checkpoint create --address --block-hash [block-hash] + ``` + + * `address`: Address or identifier of the contract for which to create a checkpoint. + * `block-hash`: Hash of a block (in the pruned region) at which to create the checkpoint (default: latest canonical block hash). + + * To verify a checkpoint: + + ```bash + yarn checkpoint verify --cid + ``` + + `cid`: CID of the checkpoint for which to verify. + + * To reset the watcher to a previous block number: + + * Reset watcher: + + ```bash + yarn reset watcher --block-number + ``` + + * Reset job-queue: + + ```bash + yarn reset job-queue + ``` + + * Reset state: + + ```bash + yarn reset state --block-number + ``` + + * `block-number`: Block number to which to reset the watcher. + + * To export and import the watcher state: + + * In source watcher, export watcher state: + + ```bash + yarn export-state --export-file [export-file-path] --block-number [snapshot-block-height] + ``` + + * `export-file`: Path of file to which to export the watcher data. + * `block-number`: Block height at which to take snapshot for export. + + * In target watcher, run job-runner: + + ```bash + yarn job-runner + ``` + + * Import watcher state: + + ```bash + yarn import-state --import-file + ``` + + * `import-file`: Path of file from which to import the watcher data. + + * Run server: + + ```bash + yarn server + ``` + + * To inspect a CID: + + ```bash + yarn inspect-cid --cid + ``` + + * `cid`: CID to be inspected. diff --git a/environments/local.toml b/environments/local.toml new file mode 100644 index 0000000..0fa7d0f --- /dev/null +++ b/environments/local.toml @@ -0,0 +1,97 @@ +[server] + host = "127.0.0.1" + port = 3008 + kind = "active" + gqlPath = "/graphql" + + # Checkpointing state. + checkpointing = true + + # Checkpoint interval in number of blocks. + checkpointInterval = 2000 + + # Enable state creation + # CAUTION: Disable only if state creation is not desired or can be filled subsequently + enableState = false + + subgraphPath = "./subgraph-build" + + # Interval to restart wasm instance periodically + wasmRestartBlocksInterval = 20 + + # Interval in number of blocks at which to clear entities cache. + clearEntitiesCacheInterval = 1000 + + # Max block range for which to return events in eventsInRange GQL query. + # Use -1 for skipping check on block range. + maxEventsBlockRange = 1000 + + # Flag to specify whether RPC endpoint supports block hash as block tag parameter + rpcSupportsBlockHashParam = false + + # GQL cache settings + [server.gqlCache] + enabled = true + + # Max in-memory cache size (in bytes) (default 8 MB) + # maxCacheSize + + # GQL cache-control max-age settings (in seconds) + maxAge = 15 + timeTravelMaxAge = 86400 # 1 day + +[metrics] + host = "127.0.0.1" + port = 9000 + [metrics.gql] + port = 9001 + +[database] + type = "postgres" + host = "localhost" + port = 5432 + database = "ajna-watcher-ts" + username = "postgres" + password = "postgres" + synchronize = true + logging = false + +[upstream] + [upstream.ethServer] + rpcProviderEndpoint = "http://127.0.0.1:8081" + + # Boolean flag to specify if rpc-eth-client should be used for RPC endpoint instead of ipld-eth-client (ipld-eth-server GQL client) + rpcClient = true + + # Boolean flag to specify if rpcProviderEndpoint is an FEVM RPC endpoint + isFEVM = true + + # Boolean flag to filter event logs by contracts + filterLogsByAddresses = true + # Boolean flag to filter event logs by topics + filterLogsByTopics = true + + [upstream.cache] + name = "requests" + enabled = false + deleteOnStart = false + +[jobQueue] + dbConnectionString = "postgres://postgres:postgres@localhost/ajna-watcher-ts-job-queue" + maxCompletionLagInSecs = 300 + jobDelayInMilliSecs = 100 + eventsInBatch = 50 + subgraphEventsOrder = true + blockDelayInMilliSecs = 2000 + + # Boolean to switch between modes of processing events when starting the server. + # Setting to true will fetch filtered events and required blocks in a range of blocks and then process them. + # Setting to false will fetch blocks consecutively with its events and then process them (Behaviour is followed in realtime processing near head). + useBlockRanges = true + + # Block range in which logs are fetched during historical blocks processing + historicalLogsBlockRange = 2000 + + # Max block range of historical processing after which it waits for completion of events processing + # If set to -1 historical processing does not wait for events processing and completes till latest canonical block + historicalMaxFetchAhead = 10000 diff --git a/package.json b/package.json new file mode 100644 index 0000000..24ac055 --- /dev/null +++ b/package.json @@ -0,0 +1,76 @@ +{ + "name": "@cerc-io/ajna-watcher-ts", + "version": "0.1.0", + "description": "ajna-watcher-ts", + "private": true, + "main": "dist/index.js", + "scripts": { + "lint": "eslint --max-warnings=0 .", + "build": "yarn clean && tsc && yarn copy-assets", + "clean": "rm -rf ./dist", + "prepare": "husky install", + "copy-assets": "copyfiles -u 1 src/**/*.gql dist/", + "server": "DEBUG=vulcanize:* YARN_CHILD_PROCESS=true node --enable-source-maps dist/server.js", + "server:dev": "DEBUG=vulcanize:* YARN_CHILD_PROCESS=true ts-node src/server.ts", + "job-runner": "DEBUG=vulcanize:* YARN_CHILD_PROCESS=true node --enable-source-maps dist/job-runner.js", + "job-runner:dev": "DEBUG=vulcanize:* YARN_CHILD_PROCESS=true ts-node src/job-runner.ts", + "watch:contract": "DEBUG=vulcanize:* ts-node src/cli/watch-contract.ts", + "fill": "DEBUG=vulcanize:* ts-node src/fill.ts", + "fill:state": "DEBUG=vulcanize:* ts-node src/fill.ts --state", + "reset": "DEBUG=vulcanize:* ts-node src/cli/reset.ts", + "checkpoint": "DEBUG=vulcanize:* node --enable-source-maps dist/cli/checkpoint.js", + "checkpoint:dev": "DEBUG=vulcanize:* ts-node src/cli/checkpoint.ts", + "export-state": "DEBUG=vulcanize:* node --enable-source-maps dist/cli/export-state.js", + "export-state:dev": "DEBUG=vulcanize:* ts-node src/cli/export-state.ts", + "import-state": "DEBUG=vulcanize:* node --enable-source-maps dist/cli/import-state.js", + "import-state:dev": "DEBUG=vulcanize:* ts-node src/cli/import-state.ts", + "inspect-cid": "DEBUG=vulcanize:* ts-node src/cli/inspect-cid.ts", + "index-block": "DEBUG=vulcanize:* ts-node src/cli/index-block.ts" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/cerc-io/watcher-ts.git" + }, + "author": "", + "license": "AGPL-3.0", + "bugs": { + "url": "https://github.com/cerc-io/watcher-ts/issues" + }, + "homepage": "https://github.com/cerc-io/watcher-ts#readme", + "dependencies": { + "@apollo/client": "^3.3.19", + "@cerc-io/cli": "^0.2.82", + "@cerc-io/ipld-eth-client": "^0.2.82", + "@cerc-io/solidity-mapper": "^0.2.82", + "@cerc-io/util": "^0.2.82", + "@cerc-io/graph-node": "^0.2.82", + "@ethersproject/providers": "^5.4.4", + "debug": "^4.3.1", + "decimal.js": "^10.3.1", + "ethers": "^5.4.4", + "graphql": "^15.5.0", + "json-bigint": "^1.0.0", + "reflect-metadata": "^0.1.13", + "typeorm": "0.2.37", + "yargs": "^17.0.1" + }, + "devDependencies": { + "@ethersproject/abi": "^5.3.0", + "@types/debug": "^4.1.5", + "@types/json-bigint": "^1.0.0", + "@types/yargs": "^17.0.0", + "@typescript-eslint/eslint-plugin": "^5.47.1", + "@typescript-eslint/parser": "^5.47.1", + "copyfiles": "^2.4.1", + "eslint": "^8.35.0", + "eslint-config-semistandard": "^15.0.1", + "eslint-config-standard": "^16.0.3", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^5.1.0", + "eslint-plugin-standard": "^5.0.0", + "husky": "^7.0.2", + "ts-node": "^10.2.1", + "typescript": "^5.0.2" + } +} diff --git a/src/artifacts/AjnaToken.json b/src/artifacts/AjnaToken.json new file mode 100644 index 0000000..d803dc4 --- /dev/null +++ b/src/artifacts/AjnaToken.json @@ -0,0 +1,676 @@ +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "tokenReceiver_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burnFrom", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoints", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "pos", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct ERC20Votes.Checkpoint", + "components": [ + { + "name": "fromBlock", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "votes", + "type": "uint224", + "internalType": "uint224" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "subtractedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "delegate", + "inputs": [ + { + "name": "delegatee", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "delegateBySig", + "inputs": [ + { + "name": "delegatee", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "delegates", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPastTotalSupply", + "inputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPastVotes", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVotes", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "increaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "addedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "numCheckpoints", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint32", + "internalType": "uint32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromWithPermit", + "inputs": [ + { + "name": "from_", + "type": "address", + "internalType": "address" + }, + { + "name": "to_", + "type": "address", + "internalType": "address" + }, + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "value_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v_", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r_", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DelegateChanged", + "inputs": [ + { + "name": "delegator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "fromDelegate", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "toDelegate", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DelegateVotesChanged", + "inputs": [ + { + "name": "delegate", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "previousBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } + ] +} \ No newline at end of file diff --git a/src/artifacts/BurnWrappedAjna.json b/src/artifacts/BurnWrappedAjna.json new file mode 100644 index 0000000..1e2caa7 --- /dev/null +++ b/src/artifacts/BurnWrappedAjna.json @@ -0,0 +1,462 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "wrappedToken", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "InvalidWrappedToken", + "type": "error" + }, + { + "inputs": [], + "name": "UnwrapNotAllowed", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "depositFor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "underlying", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "withdrawTo", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ] +} \ No newline at end of file diff --git a/src/artifacts/ERC20Pool.json b/src/artifacts/ERC20Pool.json new file mode 100644 index 0000000..d338ad3 --- /dev/null +++ b/src/artifacts/ERC20Pool.json @@ -0,0 +1,2474 @@ +{ + "abi": [ + { + "type": "function", + "name": "addCollateral", + "inputs": [ + { + "name": "amountToAdd_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addQuoteToken", + "inputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "addedAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approveLPTransferors", + "inputs": [ + { + "name": "transferors_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approvedTransferors", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "auctionInfo", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + }, + { + "name": "bondFactor_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondSize_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "kickTime_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referencePrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "neutralPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCollateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "head_", + "type": "address", + "internalType": "address" + }, + { + "name": "next_", + "type": "address", + "internalType": "address" + }, + { + "name": "prev_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowerInfo", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketCollateralDust", + "inputs": [ + { + "name": "bucketIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "bucketExchangeRate", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "exchangeRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketInfo", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketTake", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "depositTake_", + "type": "bool", + "internalType": "bool" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burnInfo", + "inputs": [ + { + "name": "burnEventEpoch_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "collateralAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "collateralScale", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "currentBurnEpoch", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "debtInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "amounts_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "depositIndex", + "inputs": [ + { + "name": "debt_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositScale", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositSize", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositUpToIndex", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositUtilization", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "drawDebt", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "amountToBorrow_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "limitIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateralToPledge_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "emasInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashFee", + "inputs": [ + { + "name": "token_", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiver_", + "type": "address", + "internalType": "contract IERC3156FlashBorrower" + }, + { + "name": "token_", + "type": "address", + "internalType": "address" + }, + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data_", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "increaseLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "amounts_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "inflatorInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "interestRateInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kick", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + }, + { + "name": "npLimitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kickReserveAuction", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kickerInfo", + "inputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lenderInfo", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lender_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "lpBalance_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "depositTime_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lenderKick", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "npLimitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "loanInfo", + "inputs": [ + { + "name": "loanId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "loansInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lpAllowance", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "owner_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "allowance_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFlashLoan", + "inputs": [ + { + "name": "token_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxLoan_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "moveQuoteToken", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fromIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "fromBucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toBucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "movedAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "multicall", + "inputs": [ + { + "name": "data", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "results", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "pledgedCollateral", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolType", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "quoteTokenAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "quoteTokenScale", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "removeCollateral", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "removedAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "redeemedLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeQuoteToken", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "removedAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "redeemedLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayDebt", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxQuoteTokenAmountToRepay_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateralAmountToPull_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateralReceiver_", + "type": "address", + "internalType": "address" + }, + { + "name": "limitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "amountRepaid_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "reservesInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "revokeLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokeLPTransferors", + "inputs": [ + { + "name": "transferors_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "settle", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxDepth_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "collateralSettled_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "isBorrowerSettled_", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stampLoan", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "take", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "callee_", + "type": "address", + "internalType": "address" + }, + { + "name": "data_", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "collateralTaken_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "takeReserves", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "totalAuctionsInPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalT0Debt", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalT0DebtInAuction", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferLP", + "inputs": [ + { + "name": "owner_", + "type": "address", + "internalType": "address" + }, + { + "name": "newOwner_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateInterest", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawBonds", + "inputs": [ + { + "name": "recipient_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "withdrawnAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddCollateral", + "inputs": [ + { + "name": "actor", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwarded", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AddQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwarded", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApproveLPTransferors", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "transferors", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuctionNFTSettle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lp", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuctionSettle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BondWithdrawn", + "inputs": [ + { + "name": "kicker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "reciever", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketBankruptcy", + "inputs": [ + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "lpForfeited", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketTake", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondChange", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "isReward", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketTakeLPAwarded", + "inputs": [ + { + "name": "taker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "kicker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAwardedTaker", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwardedKicker", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DecreaseLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DrawDebt", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountBorrowed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateralPledged", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Flashloan", + "inputs": [ + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IncreaseLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InterestUpdateFailure", + "inputs": [], + "anonymous": false + }, + { + "type": "event", + "name": "Kick", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bond", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "KickReserveAuction", + "inputs": [ + { + "name": "claimableReservesRemaining", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "auctionPrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBurnEpoch", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LoanStamped", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MoveQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "to", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemedFrom", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwardedTo", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveCollateral", + "inputs": [ + { + "name": "claimer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RepayDebt", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "quoteRepaid", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateralPulled", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveAuction", + "inputs": [ + { + "name": "claimableReservesRemaining", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "auctionPrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBurnEpoch", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResetInterestRate", + "inputs": [ + { + "name": "oldRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RevokeLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RevokeLPTransferors", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "transferors", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Settle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "settledDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Take", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondChange", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "isReward", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferLP", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "lp", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UpdateInterestRate", + "inputs": [ + { + "name": "oldRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddAboveAuctionPrice", + "inputs": [] + }, + { + "type": "error", + "name": "AddAboveAuctionPrice", + "inputs": [] + }, + { + "type": "error", + "name": "AlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "AmountLTMinDebt", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionActive", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionActive", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotClearable", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotCleared", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotCleared", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotTakeable", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionPriceGtBucketPrice", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerNotSender", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerOk", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerUnderCollateralized", + "inputs": [] + }, + { + "type": "error", + "name": "BucketBankruptcyBlock", + "inputs": [] + }, + { + "type": "error", + "name": "BucketIndexOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "CannotMergeToHigherPrice", + "inputs": [] + }, + { + "type": "error", + "name": "DustAmountNotExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanCallbackFailed", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanIncorrectBalance", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanUnavailableForToken", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientCollateral", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLP", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAllowancesInput", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndex", + "inputs": [] + }, + { + "type": "error", + "name": "LUPBelowHTP", + "inputs": [] + }, + { + "type": "error", + "name": "LimitIndexExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "MoveToSameIndex", + "inputs": [] + }, + { + "type": "error", + "name": "NoAllowance", + "inputs": [] + }, + { + "type": "error", + "name": "NoAuction", + "inputs": [] + }, + { + "type": "error", + "name": "NoClaim", + "inputs": [] + }, + { + "type": "error", + "name": "NoDebt", + "inputs": [] + }, + { + "type": "error", + "name": "NoReserves", + "inputs": [] + }, + { + "type": "error", + "name": "NoReservesAuction", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__DivInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__DivOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__Exp2InputTooBig", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntUnderflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__LogInputTooSmall", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__SqrtNegativeInput", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__SqrtOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivFixedPointOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "denominator", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PriceBelowLUP", + "inputs": [] + }, + { + "type": "error", + "name": "RemoveDepositLockedByAuctionDebt", + "inputs": [] + }, + { + "type": "error", + "name": "RemoveDepositLockedByAuctionDebt", + "inputs": [] + }, + { + "type": "error", + "name": "ReserveAuctionTooSoon", + "inputs": [] + }, + { + "type": "error", + "name": "TransactionExpired", + "inputs": [] + }, + { + "type": "error", + "name": "TransactionExpired", + "inputs": [] + }, + { + "type": "error", + "name": "TransferToSameOwner", + "inputs": [] + }, + { + "type": "error", + "name": "TransferorNotApproved", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroDebtToCollateral", + "inputs": [] + } + ] +} \ No newline at end of file diff --git a/src/artifacts/ERC20PoolFactory.json b/src/artifacts/ERC20PoolFactory.json new file mode 100644 index 0000000..0353fb3 --- /dev/null +++ b/src/artifacts/ERC20PoolFactory.json @@ -0,0 +1,238 @@ +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "ajna_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ERC20_NON_SUBSET_HASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_RATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MIN_RATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ajna", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployPool", + "inputs": [ + { + "name": "collateral_", + "type": "address", + "internalType": "address" + }, + { + "name": "quote_", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployedPools", + "inputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployedPoolsList", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedPoolsList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNumberOfDeployedPools", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "implementation", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ERC20Pool" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "PoolCreated", + "inputs": [ + { + "name": "pool_", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "subsetHash_", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "CreateFail", + "inputs": [] + }, + { + "type": "error", + "name": "DecimalsNotCompliant", + "inputs": [] + }, + { + "type": "error", + "name": "DeployQuoteCollateralSameToken", + "inputs": [] + }, + { + "type": "error", + "name": "DeployWithZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyExists", + "inputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "PoolInterestRateInvalid", + "inputs": [] + } + ] +} \ No newline at end of file diff --git a/src/artifacts/ERC721Pool.json b/src/artifacts/ERC721Pool.json new file mode 100644 index 0000000..500f073 --- /dev/null +++ b/src/artifacts/ERC721Pool.json @@ -0,0 +1,2564 @@ +{ + "abi": [ + { + "type": "function", + "name": "addCollateral", + "inputs": [ + { + "name": "tokenIds_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addQuoteToken", + "inputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "addedAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approveLPTransferors", + "inputs": [ + { + "name": "transferors_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approvedTransferors", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "auctionInfo", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + }, + { + "name": "bondFactor_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondSize_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "kickTime_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referencePrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "neutralPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCollateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "head_", + "type": "address", + "internalType": "address" + }, + { + "name": "next_", + "type": "address", + "internalType": "address" + }, + { + "name": "prev_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowerInfo", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowerTokenIds", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketExchangeRate", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "exchangeRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketInfo", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketTake", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "depositTake_", + "type": "bool", + "internalType": "bool" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "bucketTokenIds", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burnInfo", + "inputs": [ + { + "name": "burnEventEpoch_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "collateralAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "currentBurnEpoch", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "debtInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "amounts_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "depositIndex", + "inputs": [ + { + "name": "debt_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositScale", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositSize", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositUpToIndex", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositUtilization", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "drawDebt", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "amountToBorrow_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "limitIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "tokenIdsToPledge_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "emasInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashFee", + "inputs": [ + { + "name": "token_", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiver_", + "type": "address", + "internalType": "contract IERC3156FlashBorrower" + }, + { + "name": "token_", + "type": "address", + "internalType": "address" + }, + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data_", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowerTokenIds", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBucketTokenIds", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "increaseLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "amounts_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "inflatorInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "tokenIds_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "interestRateInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isSubset", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "kick", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + }, + { + "name": "npLimitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kickReserveAuction", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kickerInfo", + "inputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lenderInfo", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lender_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "lpBalance_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "depositTime_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lenderKick", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "npLimitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "loanInfo", + "inputs": [ + { + "name": "loanId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "loansInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lpAllowance", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "owner_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "allowance_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFlashLoan", + "inputs": [ + { + "name": "token_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxLoan_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mergeOrRemoveCollateral", + "inputs": [ + { + "name": "removalIndexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "noOfNFTsToRemove_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "collateralMerged_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "moveQuoteToken", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fromIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "fromBucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toBucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "movedAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "multicall", + "inputs": [ + { + "name": "data", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "results", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "pledgedCollateral", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolType", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "quoteTokenAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "quoteTokenScale", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "removeCollateral", + "inputs": [ + { + "name": "noOfNFTsToRemove_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "removedAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "redeemedLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeQuoteToken", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "removedAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "redeemedLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayDebt", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxQuoteTokenAmountToRepay_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "noOfNFTsToPull_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateralReceiver_", + "type": "address", + "internalType": "address" + }, + { + "name": "limitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "amountRepaid_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "reservesInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "revokeLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokeLPTransferors", + "inputs": [ + { + "name": "transferors_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "settle", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxDepth_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "collateralSettled_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "isBorrowerSettled_", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stampLoan", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "take", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "collateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "callee_", + "type": "address", + "internalType": "address" + }, + { + "name": "data_", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "collateralTaken_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "takeReserves", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "tokenIdsAllowed", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAuctionsInPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalT0Debt", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalT0DebtInAuction", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferLP", + "inputs": [ + { + "name": "owner_", + "type": "address", + "internalType": "address" + }, + { + "name": "newOwner_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateInterest", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawBonds", + "inputs": [ + { + "name": "recipient_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "withdrawnAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddCollateralNFT", + "inputs": [ + { + "name": "actor", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "tokenIds", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "lpAwarded", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AddQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwarded", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApproveLPTransferors", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "transferors", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuctionNFTSettle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lp", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuctionSettle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BondWithdrawn", + "inputs": [ + { + "name": "kicker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "reciever", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketBankruptcy", + "inputs": [ + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "lpForfeited", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketTake", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondChange", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "isReward", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketTakeLPAwarded", + "inputs": [ + { + "name": "taker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "kicker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAwardedTaker", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwardedKicker", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DecreaseLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DrawDebtNFT", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountBorrowed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "tokenIdsPledged", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Flashloan", + "inputs": [ + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IncreaseLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InterestUpdateFailure", + "inputs": [], + "anonymous": false + }, + { + "type": "event", + "name": "Kick", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bond", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "KickReserveAuction", + "inputs": [ + { + "name": "claimableReservesRemaining", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "auctionPrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBurnEpoch", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LoanStamped", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MergeOrRemoveCollateralNFT", + "inputs": [ + { + "name": "actor", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateralMerged", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "toIndexLps", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MoveQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "to", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemedFrom", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwardedTo", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveCollateral", + "inputs": [ + { + "name": "claimer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RepayDebt", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "quoteRepaid", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateralPulled", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveAuction", + "inputs": [ + { + "name": "claimableReservesRemaining", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "auctionPrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBurnEpoch", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResetInterestRate", + "inputs": [ + { + "name": "oldRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RevokeLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RevokeLPTransferors", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "transferors", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Settle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "settledDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Take", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondChange", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "isReward", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferLP", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "lp", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UpdateInterestRate", + "inputs": [ + { + "name": "oldRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddAboveAuctionPrice", + "inputs": [] + }, + { + "type": "error", + "name": "AddAboveAuctionPrice", + "inputs": [] + }, + { + "type": "error", + "name": "AlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "AmountLTMinDebt", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionActive", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionActive", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotClearable", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotCleared", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotCleared", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotTakeable", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionPriceGtBucketPrice", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerNotSender", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerOk", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerUnderCollateralized", + "inputs": [] + }, + { + "type": "error", + "name": "BucketBankruptcyBlock", + "inputs": [] + }, + { + "type": "error", + "name": "BucketIndexOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "CannotMergeToHigherPrice", + "inputs": [] + }, + { + "type": "error", + "name": "DustAmountNotExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanCallbackFailed", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanIncorrectBalance", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanUnavailableForToken", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientCollateral", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLP", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAllowancesInput", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndex", + "inputs": [] + }, + { + "type": "error", + "name": "LUPBelowHTP", + "inputs": [] + }, + { + "type": "error", + "name": "LimitIndexExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "MoveToSameIndex", + "inputs": [] + }, + { + "type": "error", + "name": "NoAllowance", + "inputs": [] + }, + { + "type": "error", + "name": "NoAuction", + "inputs": [] + }, + { + "type": "error", + "name": "NoClaim", + "inputs": [] + }, + { + "type": "error", + "name": "NoDebt", + "inputs": [] + }, + { + "type": "error", + "name": "NoReserves", + "inputs": [] + }, + { + "type": "error", + "name": "NoReservesAuction", + "inputs": [] + }, + { + "type": "error", + "name": "OnlySubset", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__Exp2InputTooBig", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntUnderflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__LogInputTooSmall", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivFixedPointOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PriceBelowLUP", + "inputs": [] + }, + { + "type": "error", + "name": "RemoveDepositLockedByAuctionDebt", + "inputs": [] + }, + { + "type": "error", + "name": "RemoveDepositLockedByAuctionDebt", + "inputs": [] + }, + { + "type": "error", + "name": "ReserveAuctionTooSoon", + "inputs": [] + }, + { + "type": "error", + "name": "TransactionExpired", + "inputs": [] + }, + { + "type": "error", + "name": "TransactionExpired", + "inputs": [] + }, + { + "type": "error", + "name": "TransferToSameOwner", + "inputs": [] + }, + { + "type": "error", + "name": "TransferorNotApproved", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroDebtToCollateral", + "inputs": [] + } + ] +} \ No newline at end of file diff --git a/src/artifacts/ERC721PoolFactory.json b/src/artifacts/ERC721PoolFactory.json new file mode 100644 index 0000000..ea7442a --- /dev/null +++ b/src/artifacts/ERC721PoolFactory.json @@ -0,0 +1,301 @@ +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "ajna_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ERC721_NON_SUBSET_HASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_RATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MIN_RATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ajna", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployPool", + "inputs": [ + { + "name": "collateral_", + "type": "address", + "internalType": "address" + }, + { + "name": "quote_", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployPool", + "inputs": [ + { + "name": "collateral_", + "type": "address", + "internalType": "address" + }, + { + "name": "quote_", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenIds_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployedPools", + "inputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployedPoolsList", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedPoolsList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNFTSubsetHash", + "inputs": [ + { + "name": "tokenIds_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getNumberOfDeployedPools", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "implementation", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ERC721Pool" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "PoolCreated", + "inputs": [ + { + "name": "pool_", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "subsetHash_", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "CreateFail", + "inputs": [] + }, + { + "type": "error", + "name": "DecimalsNotCompliant", + "inputs": [] + }, + { + "type": "error", + "name": "DeployQuoteCollateralSameToken", + "inputs": [] + }, + { + "type": "error", + "name": "DeployWithZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "NFTNotSupported", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyExists", + "inputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "PoolInterestRateInvalid", + "inputs": [] + }, + { + "type": "error", + "name": "TokenIdSubsetInvalid", + "inputs": [] + } + ] +} \ No newline at end of file diff --git a/src/artifacts/GrantFund.json b/src/artifacts/GrantFund.json new file mode 100644 index 0000000..d6de98f --- /dev/null +++ b/src/artifacts/GrantFund.json @@ -0,0 +1,1033 @@ +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "ajnaToken_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_voterInfo", + "inputs": [ + { + "name": "distributionId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "voter", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "fundingVotingPower", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fundingRemainingVotingPower", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "screeningVotesCast", + "type": "uint248", + "internalType": "uint248" + }, + { + "name": "hasClaimedReward", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ajnaTokenAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "claimDelegateReward", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [ + { + "name": "rewardClaimed_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "execute", + "inputs": [ + { + "name": "targets_", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "values_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "calldatas_", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "descriptionHash_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fundTreasury", + "inputs": [ + { + "name": "fundingAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fundingVote", + "inputs": [ + { + "name": "voteParams_", + "type": "tuple[]", + "internalType": "struct IGrantFundState.FundingVoteParams[]", + "components": [ + { + "name": "proposalId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "votesUsed", + "type": "int256", + "internalType": "int256" + } + ] + } + ], + "outputs": [ + { + "name": "votesCast_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getChallengeStageStartBlock", + "inputs": [ + { + "name": "endBlock_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getDelegateReward", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "voter_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "rewards_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDescriptionHash", + "inputs": [ + { + "name": "description_", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getDistributionId", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint24", + "internalType": "uint24" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDistributionPeriodInfo", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [ + { + "name": "", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFundedProposalSlate", + "inputs": [ + { + "name": "slateHash_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFundingStageEndBlock", + "inputs": [ + { + "name": "startBlock_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getFundingVotesCast", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IGrantFundState.FundingVoteParams[]", + "components": [ + { + "name": "proposalId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "votesUsed", + "type": "int256", + "internalType": "int256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getHasClaimedRewards", + "inputs": [ + { + "name": "distributionId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getProposalInfo", + "inputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "int128", + "internalType": "int128" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScreeningStageEndBlock", + "inputs": [ + { + "name": "startBlock_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getScreeningVotesCast", + "inputs": [ + { + "name": "distributionId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSlateHash", + "inputs": [ + { + "name": "proposalIds_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getStage", + "inputs": [], + "outputs": [ + { + "name": "stage_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTopTenProposals", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVoterInfo", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVotesFunding", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "votes_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVotesScreening", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "votes_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hashProposal", + "inputs": [ + { + "name": "targets_", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "values_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "calldatas_", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "descriptionHash_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "propose", + "inputs": [ + { + "name": "targets_", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "values_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "calldatas_", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "description_", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "screeningVote", + "inputs": [ + { + "name": "voteParams_", + "type": "tuple[]", + "internalType": "struct IGrantFundState.ScreeningVoteParams[]", + "components": [ + { + "name": "proposalId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "votes", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "votesCast_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startNewDistributionPeriod", + "inputs": [], + "outputs": [ + { + "name": "newDistributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "state", + "inputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "enum IGrantFundState.ProposalState" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "treasury", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateSlate", + "inputs": [ + { + "name": "proposalIds_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [ + { + "name": "newTopSlate_", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "DelegateRewardClaimed", + "inputs": [ + { + "name": "delegateeAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "distributionId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "rewardClaimed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DistributionPeriodStarted", + "inputs": [ + { + "name": "distributionId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "startBlock", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "endBlock", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundTreasury", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "treasuryBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundedSlateUpdated", + "inputs": [ + { + "name": "distributionId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "fundedSlateHash", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ProposalCreated", + "inputs": [ + { + "name": "proposalId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "proposer", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "targets", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + }, + { + "name": "values", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "signatures", + "type": "string[]", + "indexed": false, + "internalType": "string[]" + }, + { + "name": "calldatas", + "type": "bytes[]", + "indexed": false, + "internalType": "bytes[]" + }, + { + "name": "startBlock", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "endBlock", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "description", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ProposalExecuted", + "inputs": [ + { + "name": "proposalId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "VoteCast", + "inputs": [ + { + "name": "voter", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "proposalId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "support", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "weight", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "reason", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DelegateRewardInvalid", + "inputs": [] + }, + { + "type": "error", + "name": "DistributionPeriodStillActive", + "inputs": [] + }, + { + "type": "error", + "name": "ExecuteProposalInvalid", + "inputs": [] + }, + { + "type": "error", + "name": "FundingVoteWrongDirection", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientRemainingVotingPower", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientVotingPower", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidProposal", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidProposalSlate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVote", + "inputs": [] + }, + { + "type": "error", + "name": "ProposalAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "ProposalNotSuccessful", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAlreadyClaimed", + "inputs": [] + }, + { + "type": "error", + "name": "ScreeningPeriodEnded", + "inputs": [] + } + ] +} \ No newline at end of file diff --git a/src/artifacts/PositionManager.json b/src/artifacts/PositionManager.json new file mode 100644 index 0000000..addda9a --- /dev/null +++ b/src/artifacts/PositionManager.json @@ -0,0 +1,1023 @@ +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { + "name": "erc20Factory_", + "type": "address", + "internalType": "contract ERC20PoolFactory" + }, + { + "name": "erc721Factory_", + "type": "address", + "internalType": "contract ERC721PoolFactory" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "PERMIT_TYPEHASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLP", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPositionIndexes", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPositionIndexesFiltered", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "filteredIndexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPositionInfo", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isAjnaPool", + "inputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + }, + { + "name": "subsetHash_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isIndexInPosition", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPositionBucketBankrupt", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "memorializePositions", + "inputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "mint", + "inputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + }, + { + "name": "recipient_", + "type": "address", + "internalType": "address" + }, + { + "name": "poolSubsetHash_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "moveLiquidity", + "inputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fromIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "multicall", + "inputs": [ + { + "name": "data", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "results", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "signature_", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "poolKey", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "redeemPositions", + "inputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenURI", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Burn", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MemorializePosition", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Mint", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "pool", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MoveLiquidity", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "fromIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "toIndex", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemedFrom", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwardedTo", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RedeemPosition", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AllowanceTooLow", + "inputs": [] + }, + { + "type": "error", + "name": "BucketBankrupt", + "inputs": [] + }, + { + "type": "error", + "name": "BucketIndexOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "DeployWithZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "LiquidityNotRemoved", + "inputs": [] + }, + { + "type": "error", + "name": "NoAuth", + "inputs": [] + }, + { + "type": "error", + "name": "NoToken", + "inputs": [] + }, + { + "type": "error", + "name": "NonExistentToken", + "inputs": [] + }, + { + "type": "error", + "name": "NotAjnaPool", + "inputs": [] + }, + { + "type": "error", + "name": "NotAuthorized", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__Exp2InputTooBig", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntUnderflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__LogInputTooSmall", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivFixedPointOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PermitExpired", + "inputs": [] + }, + { + "type": "error", + "name": "RemovePositionFailed", + "inputs": [] + }, + { + "type": "error", + "name": "WrongPool", + "inputs": [] + } + ] +} \ No newline at end of file diff --git a/src/cli/checkpoint-cmds/create.ts b/src/cli/checkpoint-cmds/create.ts new file mode 100644 index 0000000..e771c70 --- /dev/null +++ b/src/cli/checkpoint-cmds/create.ts @@ -0,0 +1,44 @@ +// +// Copyright 2022 Vulcanize, Inc. +// + +import { CreateCheckpointCmd } from '@cerc-io/cli'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from '../../database'; +import { Indexer } from '../../indexer'; + +export const command = 'create'; + +export const desc = 'Create checkpoint'; + +export const builder = { + address: { + type: 'string', + require: true, + demandOption: true, + describe: 'Contract address to create the checkpoint for.' + }, + blockHash: { + type: 'string', + describe: 'Blockhash at which to create the checkpoint.' + } +}; + +export const handler = async (argv: any): Promise => { + const createCheckpointCmd = new CreateCheckpointCmd(); + await createCheckpointCmd.init(argv, Database); + + const { graphWatcher } = await getGraphDbAndWatcher( + createCheckpointCmd.config.server, + createCheckpointCmd.clients.ethClient, + createCheckpointCmd.ethProvider, + createCheckpointCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await createCheckpointCmd.initIndexer(Indexer, graphWatcher); + + await createCheckpointCmd.exec(); +}; diff --git a/src/cli/checkpoint-cmds/verify.ts b/src/cli/checkpoint-cmds/verify.ts new file mode 100644 index 0000000..3709f54 --- /dev/null +++ b/src/cli/checkpoint-cmds/verify.ts @@ -0,0 +1,40 @@ +// +// Copyright 2022 Vulcanize, Inc. +// + +import { VerifyCheckpointCmd } from '@cerc-io/cli'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from '../../database'; +import { Indexer } from '../../indexer'; + +export const command = 'verify'; + +export const desc = 'Verify checkpoint'; + +export const builder = { + cid: { + type: 'string', + alias: 'c', + demandOption: true, + describe: 'Checkpoint CID to be verified' + } +}; + +export const handler = async (argv: any): Promise => { + const verifyCheckpointCmd = new VerifyCheckpointCmd(); + await verifyCheckpointCmd.init(argv, Database); + + const { graphWatcher, graphDb } = await getGraphDbAndWatcher( + verifyCheckpointCmd.config.server, + verifyCheckpointCmd.clients.ethClient, + verifyCheckpointCmd.ethProvider, + verifyCheckpointCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await verifyCheckpointCmd.initIndexer(Indexer, graphWatcher); + + await verifyCheckpointCmd.exec(graphDb); +}; diff --git a/src/cli/checkpoint.ts b/src/cli/checkpoint.ts new file mode 100644 index 0000000..d05ad8a --- /dev/null +++ b/src/cli/checkpoint.ts @@ -0,0 +1,39 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import yargs from 'yargs'; +import 'reflect-metadata'; +import debug from 'debug'; + +import { DEFAULT_CONFIG_PATH } from '@cerc-io/util'; + +import { hideBin } from 'yargs/helpers'; + +const log = debug('vulcanize:checkpoint'); + +const main = async () => { + return yargs(hideBin(process.argv)) + .parserConfiguration({ + 'parse-numbers': false + }).options({ + configFile: { + alias: 'f', + type: 'string', + require: true, + demandOption: true, + describe: 'configuration file path (toml)', + default: DEFAULT_CONFIG_PATH + } + }) + .commandDir('checkpoint-cmds', { extensions: ['ts', 'js'], exclude: /([a-zA-Z0-9\s_\\.\-:])+(.d.ts)$/ }) + .demandCommand(1) + .help() + .argv; +}; + +main().then(() => { + process.exit(); +}).catch(err => { + log(err); +}); diff --git a/src/cli/export-state.ts b/src/cli/export-state.ts new file mode 100644 index 0000000..bcd1c8a --- /dev/null +++ b/src/cli/export-state.ts @@ -0,0 +1,38 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import 'reflect-metadata'; +import debug from 'debug'; + +import { ExportStateCmd } from '@cerc-io/cli'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from '../database'; +import { Indexer } from '../indexer'; + +const log = debug('vulcanize:export-state'); + +const main = async (): Promise => { + const exportStateCmd = new ExportStateCmd(); + await exportStateCmd.init(Database); + + const { graphWatcher } = await getGraphDbAndWatcher( + exportStateCmd.config.server, + exportStateCmd.clients.ethClient, + exportStateCmd.ethProvider, + exportStateCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await exportStateCmd.initIndexer(Indexer, graphWatcher); + + await exportStateCmd.exec(); +}; + +main().catch(err => { + log(err); +}).finally(() => { + process.exit(0); +}); diff --git a/src/cli/import-state.ts b/src/cli/import-state.ts new file mode 100644 index 0000000..04ce0e8 --- /dev/null +++ b/src/cli/import-state.ts @@ -0,0 +1,39 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import 'reflect-metadata'; +import debug from 'debug'; + +import { ImportStateCmd } from '@cerc-io/cli'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from '../database'; +import { Indexer } from '../indexer'; +import { State } from '../entity/State'; + +const log = debug('vulcanize:import-state'); + +export const main = async (): Promise => { + const importStateCmd = new ImportStateCmd(); + await importStateCmd.init(Database); + + const { graphWatcher, graphDb } = await getGraphDbAndWatcher( + importStateCmd.config.server, + importStateCmd.clients.ethClient, + importStateCmd.ethProvider, + importStateCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await importStateCmd.initIndexer(Indexer, graphWatcher); + + await importStateCmd.exec(State, graphDb); +}; + +main().catch(err => { + log(err); +}).finally(() => { + process.exit(0); +}); diff --git a/src/cli/index-block.ts b/src/cli/index-block.ts new file mode 100644 index 0000000..19a302a --- /dev/null +++ b/src/cli/index-block.ts @@ -0,0 +1,38 @@ +// +// Copyright 2022 Vulcanize, Inc. +// + +import 'reflect-metadata'; +import debug from 'debug'; + +import { IndexBlockCmd } from '@cerc-io/cli'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from '../database'; +import { Indexer } from '../indexer'; + +const log = debug('vulcanize:index-block'); + +const main = async (): Promise => { + const indexBlockCmd = new IndexBlockCmd(); + await indexBlockCmd.init(Database); + + const { graphWatcher } = await getGraphDbAndWatcher( + indexBlockCmd.config.server, + indexBlockCmd.clients.ethClient, + indexBlockCmd.ethProvider, + indexBlockCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await indexBlockCmd.initIndexer(Indexer, graphWatcher); + + await indexBlockCmd.exec(); +}; + +main().catch(err => { + log(err); +}).finally(() => { + process.exit(0); +}); diff --git a/src/cli/inspect-cid.ts b/src/cli/inspect-cid.ts new file mode 100644 index 0000000..4f5955e --- /dev/null +++ b/src/cli/inspect-cid.ts @@ -0,0 +1,38 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import 'reflect-metadata'; +import debug from 'debug'; + +import { InspectCIDCmd } from '@cerc-io/cli'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from '../database'; +import { Indexer } from '../indexer'; + +const log = debug('vulcanize:inspect-cid'); + +const main = async (): Promise => { + const inspectCIDCmd = new InspectCIDCmd(); + await inspectCIDCmd.init(Database); + + const { graphWatcher } = await getGraphDbAndWatcher( + inspectCIDCmd.config.server, + inspectCIDCmd.clients.ethClient, + inspectCIDCmd.ethProvider, + inspectCIDCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await inspectCIDCmd.initIndexer(Indexer, graphWatcher); + + await inspectCIDCmd.exec(); +}; + +main().catch(err => { + log(err); +}).finally(() => { + process.exit(0); +}); diff --git a/src/cli/reset-cmds/job-queue.ts b/src/cli/reset-cmds/job-queue.ts new file mode 100644 index 0000000..c33cbfd --- /dev/null +++ b/src/cli/reset-cmds/job-queue.ts @@ -0,0 +1,22 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import debug from 'debug'; + +import { getConfig, resetJobs, Config } from '@cerc-io/util'; + +const log = debug('vulcanize:reset-job-queue'); + +export const command = 'job-queue'; + +export const desc = 'Reset job queue'; + +export const builder = {}; + +export const handler = async (argv: any): Promise => { + const config: Config = await getConfig(argv.configFile); + await resetJobs(config); + + log('Job queue reset successfully'); +}; diff --git a/src/cli/reset-cmds/state.ts b/src/cli/reset-cmds/state.ts new file mode 100644 index 0000000..33211d6 --- /dev/null +++ b/src/cli/reset-cmds/state.ts @@ -0,0 +1,24 @@ +// +// Copyright 2022 Vulcanize, Inc. +// + +import { ResetStateCmd } from '@cerc-io/cli'; + +import { Database } from '../../database'; + +export const command = 'state'; + +export const desc = 'Reset State to a given block number'; + +export const builder = { + blockNumber: { + type: 'number' + } +}; + +export const handler = async (argv: any): Promise => { + const resetStateCmd = new ResetStateCmd(); + await resetStateCmd.init(argv, Database); + + await resetStateCmd.exec(); +}; diff --git a/src/cli/reset-cmds/watcher.ts b/src/cli/reset-cmds/watcher.ts new file mode 100644 index 0000000..827fd28 --- /dev/null +++ b/src/cli/reset-cmds/watcher.ts @@ -0,0 +1,37 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { ResetWatcherCmd } from '@cerc-io/cli'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from '../../database'; +import { Indexer } from '../../indexer'; + +export const command = 'watcher'; + +export const desc = 'Reset watcher to a block number'; + +export const builder = { + blockNumber: { + type: 'number' + } +}; + +export const handler = async (argv: any): Promise => { + const resetWatcherCmd = new ResetWatcherCmd(); + await resetWatcherCmd.init(argv, Database); + + const { graphWatcher } = await getGraphDbAndWatcher( + resetWatcherCmd.config.server, + resetWatcherCmd.clients.ethClient, + resetWatcherCmd.ethProvider, + resetWatcherCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await resetWatcherCmd.initIndexer(Indexer, graphWatcher); + + await resetWatcherCmd.exec(); +}; diff --git a/src/cli/reset.ts b/src/cli/reset.ts new file mode 100644 index 0000000..95648c8 --- /dev/null +++ b/src/cli/reset.ts @@ -0,0 +1,24 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import 'reflect-metadata'; +import debug from 'debug'; + +import { getResetYargs } from '@cerc-io/util'; + +const log = debug('vulcanize:reset'); + +const main = async () => { + return getResetYargs() + .commandDir('reset-cmds', { extensions: ['ts', 'js'], exclude: /([a-zA-Z0-9\s_\\.\-:])+(.d.ts)$/ }) + .demandCommand(1) + .help() + .argv; +}; + +main().then(() => { + process.exit(); +}).catch(err => { + log(err); +}); diff --git a/src/cli/watch-contract.ts b/src/cli/watch-contract.ts new file mode 100644 index 0000000..7d6ce1a --- /dev/null +++ b/src/cli/watch-contract.ts @@ -0,0 +1,38 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import 'reflect-metadata'; +import debug from 'debug'; + +import { WatchContractCmd } from '@cerc-io/cli'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from '../database'; +import { Indexer } from '../indexer'; + +const log = debug('vulcanize:watch-contract'); + +const main = async (): Promise => { + const watchContractCmd = new WatchContractCmd(); + await watchContractCmd.init(Database); + + const { graphWatcher } = await getGraphDbAndWatcher( + watchContractCmd.config.server, + watchContractCmd.clients.ethClient, + watchContractCmd.ethProvider, + watchContractCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await watchContractCmd.initIndexer(Indexer, graphWatcher); + + await watchContractCmd.exec(); +}; + +main().catch(err => { + log(err); +}).finally(() => { + process.exit(0); +}); diff --git a/src/client.ts b/src/client.ts new file mode 100644 index 0000000..8bb2bb0 --- /dev/null +++ b/src/client.ts @@ -0,0 +1,55 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { gql } from '@apollo/client/core'; +import { GraphQLClient, GraphQLConfig } from '@cerc-io/ipld-eth-client'; + +import { queries, mutations, subscriptions } from './gql'; + +export class Client { + _config: GraphQLConfig; + _client: GraphQLClient; + + constructor (config: GraphQLConfig) { + this._config = config; + + this._client = new GraphQLClient(config); + } + + async getEvents (blockHash: string, contractAddress: string, name: string): Promise { + const { events } = await this._client.query( + gql(queries.events), + { blockHash, contractAddress, name } + ); + + return events; + } + + async getEventsInRange (fromBlockNumber: number, toBlockNumber: number): Promise { + const { eventsInRange } = await this._client.query( + gql(queries.eventsInRange), + { fromBlockNumber, toBlockNumber } + ); + + return eventsInRange; + } + + async watchContract (contractAddress: string, startingBlock?: number): Promise { + const { watchContract } = await this._client.mutate( + gql(mutations.watchContract), + { contractAddress, startingBlock } + ); + + return watchContract; + } + + async watchEvents (onNext: (value: any) => void): Promise { + return this._client.subscribe( + gql(subscriptions.onEvent), + ({ data }) => { + onNext(data.onEvent); + } + ); + } +} diff --git a/src/database.ts b/src/database.ts new file mode 100644 index 0000000..9986c68 --- /dev/null +++ b/src/database.ts @@ -0,0 +1,351 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import assert from 'assert'; +import { Connection, ConnectionOptions, DeepPartial, FindConditions, QueryRunner, FindManyOptions, EntityTarget } from 'typeorm'; +import path from 'path'; + +import { + ENTITY_QUERY_TYPE, + Database as BaseDatabase, + DatabaseInterface, + QueryOptions, + StateKind, + Where +} from '@cerc-io/util'; + +import { Contract } from './entity/Contract'; +import { Event } from './entity/Event'; +import { SyncStatus } from './entity/SyncStatus'; +import { StateSyncStatus } from './entity/StateSyncStatus'; +import { BlockProgress } from './entity/BlockProgress'; +import { State } from './entity/State'; +import { Token } from './entity/Token'; +import { PoolFactory } from './entity/PoolFactory'; +import { Pool } from './entity/Pool'; +import { Bucket } from './entity/Bucket'; +import { Lend } from './entity/Lend'; +import { Loan } from './entity/Loan'; +import { Account } from './entity/Account'; +import { LiquidationAuction } from './entity/LiquidationAuction'; +import { ReserveAuction } from './entity/ReserveAuction'; +import { LPTransferorList } from './entity/LPTransferorList'; +import { LPAllowance } from './entity/LPAllowance'; +import { LPAllowanceList } from './entity/LPAllowanceList'; +import { AddCollateral } from './entity/AddCollateral'; +import { AddQuoteToken } from './entity/AddQuoteToken'; +import { AuctionSettle } from './entity/AuctionSettle'; +import { BondWithdrawn } from './entity/BondWithdrawn'; +import { BucketBankruptcy } from './entity/BucketBankruptcy'; +import { BucketTake } from './entity/BucketTake'; +import { BucketTakeLPAwarded } from './entity/BucketTakeLPAwarded'; +import { DrawDebt } from './entity/DrawDebt'; +import { Flashloan } from './entity/Flashloan'; +import { Kick } from './entity/Kick'; +import { LoanStamped } from './entity/LoanStamped'; +import { MoveQuoteToken } from './entity/MoveQuoteToken'; +import { RemoveCollateral } from './entity/RemoveCollateral'; +import { RemoveQuoteToken } from './entity/RemoveQuoteToken'; +import { RepayDebt } from './entity/RepayDebt'; +import { ReserveAuctionKick } from './entity/ReserveAuctionKick'; +import { ReserveAuctionTake } from './entity/ReserveAuctionTake'; +import { ResetInterestRate } from './entity/ResetInterestRate'; +import { Settle } from './entity/Settle'; +import { Take } from './entity/Take'; +import { TransferLP } from './entity/TransferLP'; +import { UpdateInterestRate } from './entity/UpdateInterestRate'; +import { Approval } from './entity/Approval'; +import { ApprovalForAll } from './entity/ApprovalForAll'; +import { MoveLiquidity } from './entity/MoveLiquidity'; +import { Transfer } from './entity/Transfer'; +import { PoolCreated } from './entity/PoolCreated'; +import { AddCollateralNFT } from './entity/AddCollateralNFT'; +import { AuctionNFTSettle } from './entity/AuctionNFTSettle'; +import { DrawDebtNFT } from './entity/DrawDebtNFT'; +import { MergeOrRemoveCollateralNFT } from './entity/MergeOrRemoveCollateralNFT'; +import { Position } from './entity/Position'; +import { PositionLend } from './entity/PositionLend'; +import { Burn } from './entity/Burn'; +import { MemorializePosition } from './entity/MemorializePosition'; +import { Mint } from './entity/Mint'; +import { RedeemPosition } from './entity/RedeemPosition'; +import { GrantFund } from './entity/GrantFund'; +import { DistributionPeriod } from './entity/DistributionPeriod'; +import { Proposal } from './entity/Proposal'; +import { ProposalParams } from './entity/ProposalParams'; +import { DistributionPeriodVote } from './entity/DistributionPeriodVote'; +import { ScreeningVote } from './entity/ScreeningVote'; +import { FundingVote } from './entity/FundingVote'; +import { FundedSlate } from './entity/FundedSlate'; +import { DelegateRewardClaimed } from './entity/DelegateRewardClaimed'; +import { FundTreasury } from './entity/FundTreasury'; +import { FundedSlateUpdated } from './entity/FundedSlateUpdated'; +import { ProposalCreated } from './entity/ProposalCreated'; +import { ProposalExecuted } from './entity/ProposalExecuted'; +import { DistributionPeriodStarted } from './entity/DistributionPeriodStarted'; +import { VoteCast } from './entity/VoteCast'; +import { DelegateChanged } from './entity/DelegateChanged'; +import { DelegateVotesChanged } from './entity/DelegateVotesChanged'; +import { BurnWrap } from './entity/BurnWrap'; + +export const SUBGRAPH_ENTITIES = new Set([Token, PoolFactory, Pool, Bucket, Lend, Loan, Account, LiquidationAuction, ReserveAuction, LPTransferorList, LPAllowance, LPAllowanceList, AddCollateral, AddQuoteToken, AuctionSettle, BondWithdrawn, BucketBankruptcy, BucketTake, BucketTakeLPAwarded, DrawDebt, Flashloan, Kick, LoanStamped, MoveQuoteToken, RemoveCollateral, RemoveQuoteToken, RepayDebt, ReserveAuctionKick, ReserveAuctionTake, ResetInterestRate, Settle, Take, TransferLP, UpdateInterestRate, Approval, ApprovalForAll, MoveLiquidity, Transfer, PoolCreated, AddCollateralNFT, AuctionNFTSettle, DrawDebtNFT, MergeOrRemoveCollateralNFT, Position, PositionLend, Burn, MemorializePosition, Mint, RedeemPosition, GrantFund, DistributionPeriod, Proposal, ProposalParams, DistributionPeriodVote, ScreeningVote, FundingVote, FundedSlate, DelegateRewardClaimed, FundTreasury, FundedSlateUpdated, ProposalCreated, ProposalExecuted, DistributionPeriodStarted, VoteCast, DelegateChanged, DelegateVotesChanged, BurnWrap]); +export const ENTITIES = [...SUBGRAPH_ENTITIES]; +// Map: Entity to suitable query type. +export const ENTITY_QUERY_TYPE_MAP = new Map any, ENTITY_QUERY_TYPE>([]); + +export const ENTITY_TO_LATEST_ENTITY_MAP: Map = new Map(); + +export class Database implements DatabaseInterface { + _config: ConnectionOptions; + _conn!: Connection; + _baseDatabase: BaseDatabase; + _propColMaps: { [key: string]: Map; }; + + constructor (config: ConnectionOptions) { + assert(config); + + this._config = { + ...config, + subscribers: [path.join(__dirname, 'entity/Subscriber.*')], + entities: [path.join(__dirname, 'entity/*')] + }; + + this._baseDatabase = new BaseDatabase(this._config); + this._propColMaps = {}; + } + + get baseDatabase (): BaseDatabase { + return this._baseDatabase; + } + + async init (): Promise { + this._conn = await this._baseDatabase.init(); + } + + async close (): Promise { + return this._baseDatabase.close(); + } + + getNewState (): State { + return new State(); + } + + async getStates (where: FindConditions): Promise { + const repo = this._conn.getRepository(State); + + return this._baseDatabase.getStates(repo, where); + } + + async getLatestState (contractAddress: string, kind: StateKind | null, blockNumber?: number): Promise { + const repo = this._conn.getRepository(State); + + return this._baseDatabase.getLatestState(repo, contractAddress, kind, blockNumber); + } + + async getPrevState (blockHash: string, contractAddress: string, kind?: string): Promise { + const repo = this._conn.getRepository(State); + + return this._baseDatabase.getPrevState(repo, blockHash, contractAddress, kind); + } + + // Fetch all diff States after the specified block number. + async getDiffStatesInRange (contractAddress: string, startblock: number, endBlock: number): Promise { + const repo = this._conn.getRepository(State); + + return this._baseDatabase.getDiffStatesInRange(repo, contractAddress, startblock, endBlock); + } + + async saveOrUpdateState (dbTx: QueryRunner, state: State): Promise { + const repo = dbTx.manager.getRepository(State); + + return this._baseDatabase.saveOrUpdateState(repo, state); + } + + async removeStates (dbTx: QueryRunner, blockNumber: number, kind: string): Promise { + const repo = dbTx.manager.getRepository(State); + + await this._baseDatabase.removeStates(repo, blockNumber, kind); + } + + async removeStatesAfterBlock (dbTx: QueryRunner, blockNumber: number): Promise { + const repo = dbTx.manager.getRepository(State); + + await this._baseDatabase.removeStatesAfterBlock(repo, blockNumber); + } + + async getStateSyncStatus (): Promise { + const repo = this._conn.getRepository(StateSyncStatus); + + return this._baseDatabase.getStateSyncStatus(repo); + } + + async updateStateSyncStatusIndexedBlock (queryRunner: QueryRunner, blockNumber: number, force?: boolean): Promise { + const repo = queryRunner.manager.getRepository(StateSyncStatus); + + return this._baseDatabase.updateStateSyncStatusIndexedBlock(repo, blockNumber, force); + } + + async updateStateSyncStatusCheckpointBlock (queryRunner: QueryRunner, blockNumber: number, force?: boolean): Promise { + const repo = queryRunner.manager.getRepository(StateSyncStatus); + + return this._baseDatabase.updateStateSyncStatusCheckpointBlock(repo, blockNumber, force); + } + + async getContracts (): Promise { + const repo = this._conn.getRepository(Contract); + + return this._baseDatabase.getContracts(repo); + } + + async createTransactionRunner (): Promise { + return this._baseDatabase.createTransactionRunner(); + } + + async getProcessedBlockCountForRange (fromBlockNumber: number, toBlockNumber: number): Promise<{ expected: number, actual: number }> { + const repo = this._conn.getRepository(BlockProgress); + + return this._baseDatabase.getProcessedBlockCountForRange(repo, fromBlockNumber, toBlockNumber); + } + + async getEventsInRange (fromBlockNumber: number, toBlockNumber: number): Promise> { + const repo = this._conn.getRepository(Event); + + return this._baseDatabase.getEventsInRange(repo, fromBlockNumber, toBlockNumber); + } + + async saveEventEntity (queryRunner: QueryRunner, entity: Event): Promise { + const repo = queryRunner.manager.getRepository(Event); + return this._baseDatabase.saveEventEntity(repo, entity); + } + + async getBlockEvents (blockHash: string, where: Where, queryOptions: QueryOptions): Promise { + const repo = this._conn.getRepository(Event); + + return this._baseDatabase.getBlockEvents(repo, blockHash, where, queryOptions); + } + + async saveBlockWithEvents (queryRunner: QueryRunner, block: DeepPartial, events: DeepPartial[]): Promise { + const blockRepo = queryRunner.manager.getRepository(BlockProgress); + const eventRepo = queryRunner.manager.getRepository(Event); + + return this._baseDatabase.saveBlockWithEvents(blockRepo, eventRepo, block, events); + } + + async saveEvents (queryRunner: QueryRunner, events: Event[]): Promise { + const eventRepo = queryRunner.manager.getRepository(Event); + + return this._baseDatabase.saveEvents(eventRepo, events); + } + + async saveBlockProgress (queryRunner: QueryRunner, block: DeepPartial): Promise { + const repo = queryRunner.manager.getRepository(BlockProgress); + + return this._baseDatabase.saveBlockProgress(repo, block); + } + + async saveContract (queryRunner: QueryRunner, address: string, kind: string, checkpoint: boolean, startingBlock: number, context?: any): Promise { + const repo = queryRunner.manager.getRepository(Contract); + + return this._baseDatabase.saveContract(repo, address, kind, checkpoint, startingBlock, context); + } + + async updateSyncStatusIndexedBlock (queryRunner: QueryRunner, blockHash: string, blockNumber: number, force = false): Promise { + const repo = queryRunner.manager.getRepository(SyncStatus); + + return this._baseDatabase.updateSyncStatusIndexedBlock(repo, blockHash, blockNumber, force); + } + + async updateSyncStatusCanonicalBlock (queryRunner: QueryRunner, blockHash: string, blockNumber: number, force = false): Promise { + const repo = queryRunner.manager.getRepository(SyncStatus); + + return this._baseDatabase.updateSyncStatusCanonicalBlock(repo, blockHash, blockNumber, force); + } + + async updateSyncStatusChainHead (queryRunner: QueryRunner, blockHash: string, blockNumber: number, force = false): Promise { + const repo = queryRunner.manager.getRepository(SyncStatus); + + return this._baseDatabase.updateSyncStatusChainHead(repo, blockHash, blockNumber, force); + } + + async updateSyncStatusProcessedBlock (queryRunner: QueryRunner, blockHash: string, blockNumber: number, force = false): Promise { + const repo = queryRunner.manager.getRepository(SyncStatus); + + return this._baseDatabase.updateSyncStatusProcessedBlock(repo, blockHash, blockNumber, force); + } + + async updateSyncStatusIndexingError (queryRunner: QueryRunner, hasIndexingError: boolean): Promise { + const repo = queryRunner.manager.getRepository(SyncStatus); + + return this._baseDatabase.updateSyncStatusIndexingError(repo, hasIndexingError); + } + + async updateSyncStatus (queryRunner: QueryRunner, syncStatus: DeepPartial): Promise { + const repo = queryRunner.manager.getRepository(SyncStatus); + + return this._baseDatabase.updateSyncStatus(repo, syncStatus); + } + + async getSyncStatus (queryRunner: QueryRunner): Promise { + const repo = queryRunner.manager.getRepository(SyncStatus); + + return this._baseDatabase.getSyncStatus(repo); + } + + async getEvent (id: string): Promise { + const repo = this._conn.getRepository(Event); + + return this._baseDatabase.getEvent(repo, id); + } + + async getBlocksAtHeight (height: number, isPruned: boolean): Promise { + const repo = this._conn.getRepository(BlockProgress); + + return this._baseDatabase.getBlocksAtHeight(repo, height, isPruned); + } + + async markBlocksAsPruned (queryRunner: QueryRunner, blocks: BlockProgress[]): Promise { + const repo = queryRunner.manager.getRepository(BlockProgress); + + return this._baseDatabase.markBlocksAsPruned(repo, blocks); + } + + async getBlockProgress (blockHash: string): Promise { + const repo = this._conn.getRepository(BlockProgress); + return this._baseDatabase.getBlockProgress(repo, blockHash); + } + + async getBlockProgressEntities (where: FindConditions, options: FindManyOptions): Promise { + const repo = this._conn.getRepository(BlockProgress); + + return this._baseDatabase.getBlockProgressEntities(repo, where, options); + } + + async getEntitiesForBlock (blockHash: string, tableName: string): Promise { + return this._baseDatabase.getEntitiesForBlock(blockHash, tableName); + } + + async updateBlockProgress (queryRunner: QueryRunner, block: BlockProgress, lastProcessedEventIndex: number): Promise { + const repo = queryRunner.manager.getRepository(BlockProgress); + + return this._baseDatabase.updateBlockProgress(repo, block, lastProcessedEventIndex); + } + + async removeEntities (queryRunner: QueryRunner, entity: new () => Entity, findConditions?: FindManyOptions | FindConditions): Promise { + return this._baseDatabase.removeEntities(queryRunner, entity, findConditions); + } + + async deleteEntitiesByConditions (queryRunner: QueryRunner, entity: EntityTarget, findConditions: FindConditions): Promise { + await this._baseDatabase.deleteEntitiesByConditions(queryRunner, entity, findConditions); + } + + async getAncestorAtHeight (blockHash: string, height: number): Promise { + return this._baseDatabase.getAncestorAtHeight(blockHash, height); + } + + _getPropertyColumnMapForEntity (entityName: string): Map { + return this._conn.getMetadata(entityName).ownColumns.reduce((acc, curr) => { + return acc.set(curr.propertyName, curr.databaseName); + }, new Map()); + } +} diff --git a/src/entity/Account.ts b/src/entity/Account.ts new file mode 100644 index 0000000..740520c --- /dev/null +++ b/src/entity/Account.ts @@ -0,0 +1,74 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Account { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar', { array: true }) + pools!: string[]; + + @Column('varchar', { array: true }) + kicks!: string[]; + + @Column('varchar', { array: true }) + lends!: string[]; + + @Column('varchar', { array: true }) + loans!: string[]; + + @Column('varchar', { array: true }) + settles!: string[]; + + @Column('varchar', { array: true }) + takes!: string[]; + + @Column('varchar', { array: true }) + reserveAuctions!: string[]; + + @Column('varchar', { array: true }) + proposalsCreated!: string[]; + + @Column('varchar', { array: true }) + proposalsExecuted!: string[]; + + @Column('varchar', { nullable: true }) + delegatedTo!: string | null; + + @Column('varchar', { array: true }) + delegatedFrom!: string[]; + + @Column('numeric', { transformer: decimalTransformer }) + rewardsClaimed!: Decimal; + + @Column('varchar', { array: true }) + distributionPeriodVotes!: string[]; + + @Column('numeric', { transformer: decimalTransformer }) + tokensDelegated!: Decimal; + + @Column('varchar', { array: true }) + positions!: string[]; + + @Column('numeric', { transformer: bigintTransformer }) + txCount!: bigint; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/AddCollateral.ts b/src/entity/AddCollateral.ts new file mode 100644 index 0000000..3230384 --- /dev/null +++ b/src/entity/AddCollateral.ts @@ -0,0 +1,53 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class AddCollateral { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + bucket!: string; + + @Column('varchar') + actor!: string; + + @Column('integer') + index!: number; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpAwarded!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/AddCollateralNFT.ts b/src/entity/AddCollateralNFT.ts new file mode 100644 index 0000000..4379bb0 --- /dev/null +++ b/src/entity/AddCollateralNFT.ts @@ -0,0 +1,53 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer, bigintArrayTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class AddCollateralNFT { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + bucket!: string; + + @Column('varchar') + actor!: string; + + @Column('numeric', { transformer: bigintTransformer }) + index!: bigint; + + @Column('numeric', { array: true, transformer: bigintArrayTransformer }) + tokenIds!: bigint[]; + + @Column('numeric', { transformer: decimalTransformer }) + lpAwarded!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/AddQuoteToken.ts b/src/entity/AddQuoteToken.ts new file mode 100644 index 0000000..1e9baf0 --- /dev/null +++ b/src/entity/AddQuoteToken.ts @@ -0,0 +1,56 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class AddQuoteToken { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + bucket!: string; + + @Column('varchar') + lender!: string; + + @Column('integer') + index!: number; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpAwarded!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lup!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Approval.ts b/src/entity/Approval.ts new file mode 100644 index 0000000..4f7b540 --- /dev/null +++ b/src/entity/Approval.ts @@ -0,0 +1,43 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class Approval { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + owner!: string; + + @Column('varchar') + approved!: string; + + @Column('numeric', { transformer: bigintTransformer }) + tokenId!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/ApprovalForAll.ts b/src/entity/ApprovalForAll.ts new file mode 100644 index 0000000..1001213 --- /dev/null +++ b/src/entity/ApprovalForAll.ts @@ -0,0 +1,43 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class ApprovalForAll { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + owner!: string; + + @Column('varchar') + operator!: string; + + @Column('boolean') + approved!: boolean; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/AuctionNFTSettle.ts b/src/entity/AuctionNFTSettle.ts new file mode 100644 index 0000000..c2d4cb3 --- /dev/null +++ b/src/entity/AuctionNFTSettle.ts @@ -0,0 +1,53 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class AuctionNFTSettle { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + loan!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + collateral!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lp!: Decimal; + + @Column('integer') + index!: number; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/AuctionSettle.ts b/src/entity/AuctionSettle.ts new file mode 100644 index 0000000..0b3c3d7 --- /dev/null +++ b/src/entity/AuctionSettle.ts @@ -0,0 +1,47 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class AuctionSettle { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + loan!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + collateral!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/BlockProgress.ts b/src/entity/BlockProgress.ts new file mode 100644 index 0000000..ded4a86 --- /dev/null +++ b/src/entity/BlockProgress.ts @@ -0,0 +1,48 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryGeneratedColumn, Column, Index, CreateDateColumn } from 'typeorm'; +import { BlockProgressInterface } from '@cerc-io/util'; + +@Entity() +@Index(['blockHash'], { unique: true }) +@Index(['blockNumber']) +@Index(['parentHash']) +export class BlockProgress implements BlockProgressInterface { + @PrimaryGeneratedColumn() + id!: number; + + @Column('varchar', { nullable: true }) + cid!: string | null; + + @Column('varchar', { length: 66 }) + blockHash!: string; + + @Column('varchar', { length: 66 }) + parentHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('integer') + blockTimestamp!: number; + + @Column('integer') + numEvents!: number; + + @Column('integer') + numProcessedEvents!: number; + + @Column('integer') + lastProcessedEventIndex!: number; + + @Column('boolean') + isComplete!: boolean; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @CreateDateColumn() + createdAt!: Date; +} diff --git a/src/entity/BondWithdrawn.ts b/src/entity/BondWithdrawn.ts new file mode 100644 index 0000000..0cb79cb --- /dev/null +++ b/src/entity/BondWithdrawn.ts @@ -0,0 +1,44 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class BondWithdrawn { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + kicker!: string; + + @Column('varchar') + reciever!: string; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Bucket.ts b/src/entity/Bucket.ts new file mode 100644 index 0000000..40a0cab --- /dev/null +++ b/src/entity/Bucket.ts @@ -0,0 +1,56 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Bucket { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('integer') + bucketIndex!: number; + + @Column('numeric', { transformer: decimalTransformer }) + bucketPrice!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + exchangeRate!: Decimal; + + @Column('varchar') + poolAddress!: string; + + @Column('varchar') + pool!: string; + + @Column('numeric', { transformer: decimalTransformer }) + collateral!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + deposit!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpb!: Decimal; + + @Column('varchar', { array: true }) + lends!: string[]; + + @Column('varchar', { array: true }) + positionLends!: string[]; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/BucketBankruptcy.ts b/src/entity/BucketBankruptcy.ts new file mode 100644 index 0000000..bf9b758 --- /dev/null +++ b/src/entity/BucketBankruptcy.ts @@ -0,0 +1,47 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class BucketBankruptcy { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + bucket!: string; + + @Column('integer') + index!: number; + + @Column('varchar') + pool!: string; + + @Column('numeric', { transformer: decimalTransformer }) + lpForfeited!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/BucketTake.ts b/src/entity/BucketTake.ts new file mode 100644 index 0000000..5581b9a --- /dev/null +++ b/src/entity/BucketTake.ts @@ -0,0 +1,71 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class BucketTake { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + borrower!: string; + + @Column('varchar') + taker!: string; + + @Column('varchar') + liquidationAuction!: string; + + @Column('varchar') + loan!: string; + + @Column('varchar') + pool!: string; + + @Column('integer') + index!: number; + + @Column('numeric', { transformer: decimalTransformer }) + auctionPrice!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + collateral!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + bondChange!: Decimal; + + @Column('boolean') + isReward!: boolean; + + @Column('varchar') + lpAwarded!: string; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/BucketTakeLPAwarded.ts b/src/entity/BucketTakeLPAwarded.ts new file mode 100644 index 0000000..05c7e19 --- /dev/null +++ b/src/entity/BucketTakeLPAwarded.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class BucketTakeLPAwarded { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + taker!: string; + + @Column('varchar') + pool!: string; + + @Column('varchar') + kicker!: string; + + @Column('numeric', { transformer: decimalTransformer }) + lpAwardedTaker!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpAwardedKicker!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Burn.ts b/src/entity/Burn.ts new file mode 100644 index 0000000..fcdf189 --- /dev/null +++ b/src/entity/Burn.ts @@ -0,0 +1,40 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class Burn { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + lender!: string; + + @Column('numeric', { transformer: bigintTransformer }) + tokenId!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/BurnWrap.ts b/src/entity/BurnWrap.ts new file mode 100644 index 0000000..9c3da61 --- /dev/null +++ b/src/entity/BurnWrap.ts @@ -0,0 +1,44 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class BurnWrap { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + wrapper!: string; + + @Column('varchar', { nullable: true }) + account!: string | null; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Contract.ts b/src/entity/Contract.ts new file mode 100644 index 0000000..e4defa8 --- /dev/null +++ b/src/entity/Contract.ts @@ -0,0 +1,27 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryGeneratedColumn, Column, Index } from 'typeorm'; + +@Entity() +@Index(['address'], { unique: true }) +export class Contract { + @PrimaryGeneratedColumn() + id!: number; + + @Column('varchar', { length: 42 }) + address!: string; + + @Column('varchar') + kind!: string; + + @Column('boolean') + checkpoint!: boolean; + + @Column('integer') + startingBlock!: number; + + @Column('jsonb', { nullable: true }) + context!: Record; +} diff --git a/src/entity/DelegateChanged.ts b/src/entity/DelegateChanged.ts new file mode 100644 index 0000000..83170cd --- /dev/null +++ b/src/entity/DelegateChanged.ts @@ -0,0 +1,43 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class DelegateChanged { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + delegator!: string; + + @Column('varchar') + fromDelegate!: string; + + @Column('varchar') + toDelegate!: string; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/DelegateRewardClaimed.ts b/src/entity/DelegateRewardClaimed.ts new file mode 100644 index 0000000..c5f011f --- /dev/null +++ b/src/entity/DelegateRewardClaimed.ts @@ -0,0 +1,43 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class DelegateRewardClaimed { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + delegateeAddress_!: string; + + @Column('varchar') + distribution!: string; + + @Column('numeric', { transformer: bigintTransformer }) + rewardClaimed_!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/DelegateVotesChanged.ts b/src/entity/DelegateVotesChanged.ts new file mode 100644 index 0000000..1bf8890 --- /dev/null +++ b/src/entity/DelegateVotesChanged.ts @@ -0,0 +1,44 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class DelegateVotesChanged { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + delegate!: string; + + @Column('numeric', { transformer: decimalTransformer }) + previousBalance!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + newBalance!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/DistributionPeriod.ts b/src/entity/DistributionPeriod.ts new file mode 100644 index 0000000..db2923e --- /dev/null +++ b/src/entity/DistributionPeriod.ts @@ -0,0 +1,62 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class DistributionPeriod { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('numeric', { transformer: bigintTransformer }) + distributionId!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + startBlock!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + endBlock!: bigint; + + @Column('varchar', { nullable: true }) + topSlate!: string | null; + + @Column('varchar', { array: true }) + slatesSubmitted!: string[]; + + @Column('numeric', { transformer: decimalTransformer }) + fundsAvailable!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + delegationRewardsClaimed!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + fundingVotePowerUsed!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + screeningVotesCast!: Decimal; + + @Column('varchar', { array: true }) + votes!: string[]; + + @Column('varchar', { array: true }) + proposals!: string[]; + + @Column('numeric', { transformer: decimalTransformer }) + totalTokensDistributed!: Decimal; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/DistributionPeriodStarted.ts b/src/entity/DistributionPeriodStarted.ts new file mode 100644 index 0000000..a0922ab --- /dev/null +++ b/src/entity/DistributionPeriodStarted.ts @@ -0,0 +1,43 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class DistributionPeriodStarted { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + distribution!: string; + + @Column('numeric', { transformer: bigintTransformer }) + startBlock!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + endBlock!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/DistributionPeriodVote.ts b/src/entity/DistributionPeriodVote.ts new file mode 100644 index 0000000..ec97c4c --- /dev/null +++ b/src/entity/DistributionPeriodVote.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class DistributionPeriodVote { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + voter!: string; + + @Column('varchar') + distribution!: string; + + @Column('numeric', { transformer: decimalTransformer }) + initialFundingStageVotingPowerRecordedPostVote!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + remainingFundingStageVotingPowerRecordedPostVote!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + initialScreeningStageVotingPowerRecordedPostVote!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + remainingScreeningStageVotingPowerRecordedPostVote!: Decimal; + + @Column('varchar', { array: true }) + screeningVotes!: string[]; + + @Column('varchar', { array: true }) + fundingVotes!: string[]; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/DrawDebt.ts b/src/entity/DrawDebt.ts new file mode 100644 index 0000000..9ccee47 --- /dev/null +++ b/src/entity/DrawDebt.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class DrawDebt { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + amountBorrowed!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + collateralPledged!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lup!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/DrawDebtNFT.ts b/src/entity/DrawDebtNFT.ts new file mode 100644 index 0000000..b55e0ea --- /dev/null +++ b/src/entity/DrawDebtNFT.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintArrayTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class DrawDebtNFT { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + amountBorrowed!: Decimal; + + @Column('numeric', { array: true, transformer: bigintArrayTransformer }) + tokenIdsPledged!: bigint[]; + + @Column('numeric', { transformer: decimalTransformer }) + lup!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Event.ts b/src/entity/Event.ts new file mode 100644 index 0000000..91f1e6d --- /dev/null +++ b/src/entity/Event.ts @@ -0,0 +1,38 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryGeneratedColumn, Column, Index, ManyToOne } from 'typeorm'; +import { BlockProgress } from './BlockProgress'; + +@Entity() +@Index(['block', 'contract']) +@Index(['block', 'contract', 'eventName']) +export class Event { + @PrimaryGeneratedColumn() + id!: number; + + @ManyToOne(() => BlockProgress, { onDelete: 'CASCADE' }) + block!: BlockProgress; + + @Column('varchar', { length: 66 }) + txHash!: string; + + @Column('integer') + index!: number; + + @Column('varchar', { length: 42 }) + contract!: string; + + @Column('varchar', { length: 256 }) + eventName!: string; + + @Column('text') + eventInfo!: string; + + @Column('text') + extraInfo!: string; + + @Column('text') + proof!: string; +} diff --git a/src/entity/Flashloan.ts b/src/entity/Flashloan.ts new file mode 100644 index 0000000..fa513bc --- /dev/null +++ b/src/entity/Flashloan.ts @@ -0,0 +1,35 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Flashloan { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/FrothyEntity.ts b/src/entity/FrothyEntity.ts new file mode 100644 index 0000000..9898ce8 --- /dev/null +++ b/src/entity/FrothyEntity.ts @@ -0,0 +1,21 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; + +@Entity() +@Index(['blockNumber']) +export class FrothyEntity { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar') + name!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; +} diff --git a/src/entity/FundTreasury.ts b/src/entity/FundTreasury.ts new file mode 100644 index 0000000..8335d6c --- /dev/null +++ b/src/entity/FundTreasury.ts @@ -0,0 +1,41 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class FundTreasury { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('numeric', { transformer: bigintTransformer }) + amount!: bigint; + + @Column('numeric', { transformer: decimalTransformer }) + treasuryBalance!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/FundedSlate.ts b/src/entity/FundedSlate.ts new file mode 100644 index 0000000..5706702 --- /dev/null +++ b/src/entity/FundedSlate.ts @@ -0,0 +1,41 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class FundedSlate { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + distribution!: string; + + @Column('varchar', { array: true }) + proposals!: string[]; + + @Column('numeric', { transformer: decimalTransformer }) + totalTokensRequested!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + totalFundingVotesReceived!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + updateBlock!: bigint; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/FundedSlateUpdated.ts b/src/entity/FundedSlateUpdated.ts new file mode 100644 index 0000000..88be392 --- /dev/null +++ b/src/entity/FundedSlateUpdated.ts @@ -0,0 +1,40 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class FundedSlateUpdated { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('numeric', { transformer: bigintTransformer }) + distributionId_!: bigint; + + @Column('varchar') + fundedSlateHash_!: string; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/FundingVote.ts b/src/entity/FundingVote.ts new file mode 100644 index 0000000..5c506cb --- /dev/null +++ b/src/entity/FundingVote.ts @@ -0,0 +1,44 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class FundingVote { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + distribution!: string; + + @Column('varchar') + voter!: string; + + @Column('varchar') + proposal!: string; + + @Column('numeric', { transformer: decimalTransformer }) + totalVotesCast!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + votingPowerUsed!: Decimal; + + @Column('varchar', { array: true }) + votesCast!: string[]; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/GrantFund.ts b/src/entity/GrantFund.ts new file mode 100644 index 0000000..80b913f --- /dev/null +++ b/src/entity/GrantFund.ts @@ -0,0 +1,35 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class GrantFund { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('numeric', { transformer: decimalTransformer }) + treasury!: Decimal; + + @Column('varchar', { array: true }) + distributionPeriods!: string[]; + + @Column('numeric', { transformer: decimalTransformer }) + totalDelegationRewardsClaimed!: Decimal; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Kick.ts b/src/entity/Kick.ts new file mode 100644 index 0000000..2f77df1 --- /dev/null +++ b/src/entity/Kick.ts @@ -0,0 +1,68 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Kick { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + kicker!: string; + + @Column('varchar') + pool!: string; + + @Column('varchar') + loan!: string; + + @Column('numeric', { transformer: decimalTransformer }) + locked!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + claimable!: Decimal; + + @Column('varchar') + liquidationAuction!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + debt!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + collateral!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + bond!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + startingPrice!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/LPAllowance.ts b/src/entity/LPAllowance.ts new file mode 100644 index 0000000..f0cd0fd --- /dev/null +++ b/src/entity/LPAllowance.ts @@ -0,0 +1,32 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class LPAllowance { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('integer') + index!: number; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/LPAllowanceList.ts b/src/entity/LPAllowanceList.ts new file mode 100644 index 0000000..bbae9fa --- /dev/null +++ b/src/entity/LPAllowanceList.ts @@ -0,0 +1,36 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; + +@Entity() +@Index(['blockNumber']) +export class LPAllowanceList { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + lender!: string; + + @Column('varchar') + spender!: string; + + @Column('varchar', { array: true }) + allowances!: string[]; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/LPTransferorList.ts b/src/entity/LPTransferorList.ts new file mode 100644 index 0000000..01acb9f --- /dev/null +++ b/src/entity/LPTransferorList.ts @@ -0,0 +1,33 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; + +@Entity() +@Index(['blockNumber']) +export class LPTransferorList { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + lender!: string; + + @Column('varchar', { array: true }) + transferors!: string[]; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Lend.ts b/src/entity/Lend.ts new file mode 100644 index 0000000..056548e --- /dev/null +++ b/src/entity/Lend.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Lend { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + bucket!: string; + + @Column('integer') + bucketIndex!: number; + + @Column('varchar') + poolAddress!: string; + + @Column('varchar') + lender!: string; + + @Column('varchar') + pool!: string; + + @Column('numeric', { transformer: decimalTransformer }) + lpb!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpbValueInQuote!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + depositTime!: bigint; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/LiquidationAuction.ts b/src/entity/LiquidationAuction.ts new file mode 100644 index 0000000..3b6a218 --- /dev/null +++ b/src/entity/LiquidationAuction.ts @@ -0,0 +1,92 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class LiquidationAuction { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + lastTakePrice!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + collateral!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + collateralRemaining!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + debt!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + debtRemaining!: Decimal; + + @Column('varchar') + loan!: string; + + @Column('varchar') + kicker!: string; + + @Column('varchar') + kick!: string; + + @Column('numeric', { transformer: bigintTransformer }) + kickTime!: bigint; + + @Column('varchar', { array: true }) + takes!: string[]; + + @Column('varchar', { array: true }) + bucketTakes!: string[]; + + @Column('varchar', { array: true }) + settles!: string[]; + + @Column('varchar', { nullable: true }) + settle!: string | null; + + @Column('numeric', { nullable: true, transformer: bigintTransformer }) + settleTime!: bigint | null; + + @Column('boolean') + settled!: boolean; + + @Column('numeric', { transformer: decimalTransformer }) + bondSize!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + bondFactor!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + neutralPrice!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + referencePrice!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + thresholdPrice!: Decimal; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Loan.ts b/src/entity/Loan.ts new file mode 100644 index 0000000..580243b --- /dev/null +++ b/src/entity/Loan.ts @@ -0,0 +1,56 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintArrayTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Loan { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + poolAddress!: string; + + @Column('varchar') + borrower!: string; + + @Column('varchar') + pool!: string; + + @Column('boolean') + inLiquidation!: boolean; + + @Column('varchar', { nullable: true }) + liquidationAuction!: string | null; + + @Column('numeric', { transformer: decimalTransformer }) + collateralPledged!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + thresholdPrice!: Decimal; + + @Column('numeric', { array: true, transformer: bigintArrayTransformer }) + tokenIdsPledged!: bigint[]; + + @Column('numeric', { transformer: decimalTransformer }) + t0debt!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + t0Np!: Decimal; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/LoanStamped.ts b/src/entity/LoanStamped.ts new file mode 100644 index 0000000..697a666 --- /dev/null +++ b/src/entity/LoanStamped.ts @@ -0,0 +1,40 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class LoanStamped { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/MemorializePosition.ts b/src/entity/MemorializePosition.ts new file mode 100644 index 0000000..96de65c --- /dev/null +++ b/src/entity/MemorializePosition.ts @@ -0,0 +1,46 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class MemorializePosition { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + lender!: string; + + @Column('numeric', { transformer: bigintTransformer }) + tokenId!: bigint; + + @Column('integer', { array: true }) + indexes!: number[]; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/MergeOrRemoveCollateralNFT.ts b/src/entity/MergeOrRemoveCollateralNFT.ts new file mode 100644 index 0000000..e6f95de --- /dev/null +++ b/src/entity/MergeOrRemoveCollateralNFT.ts @@ -0,0 +1,47 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class MergeOrRemoveCollateralNFT { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + actor!: string; + + @Column('numeric', { transformer: decimalTransformer }) + collateralMerged!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + toIndexLps!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Mint.ts b/src/entity/Mint.ts new file mode 100644 index 0000000..ce20585 --- /dev/null +++ b/src/entity/Mint.ts @@ -0,0 +1,43 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class Mint { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + lender!: string; + + @Column('varchar') + pool!: string; + + @Column('numeric', { transformer: bigintTransformer }) + tokenId!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/MoveLiquidity.ts b/src/entity/MoveLiquidity.ts new file mode 100644 index 0000000..f93c3d3 --- /dev/null +++ b/src/entity/MoveLiquidity.ts @@ -0,0 +1,49 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class MoveLiquidity { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + lender!: string; + + @Column('numeric', { transformer: bigintTransformer }) + tokenId!: bigint; + + @Column('varchar') + pool!: string; + + @Column('integer') + fromIndex!: number; + + @Column('integer') + toIndex!: number; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/MoveQuoteToken.ts b/src/entity/MoveQuoteToken.ts new file mode 100644 index 0000000..a96c313 --- /dev/null +++ b/src/entity/MoveQuoteToken.ts @@ -0,0 +1,59 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class MoveQuoteToken { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + lender!: string; + + @Column('varchar') + from!: string; + + @Column('varchar') + to!: string; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpRedeemedFrom!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpAwardedTo!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lup!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Pool.ts b/src/entity/Pool.ts new file mode 100644 index 0000000..7d50b51 --- /dev/null +++ b/src/entity/Pool.ts @@ -0,0 +1,152 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer, bigintArrayTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Pool { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('numeric', { transformer: bigintTransformer }) + createdAtBlockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + createdAtTimestamp!: bigint; + + @Column('varchar') + collateralToken!: string; + + @Column('varchar') + quoteToken!: string; + + @Column('numeric', { transformer: decimalTransformer }) + poolSize!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + t0debt!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + inflator!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + borrowRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lendRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + borrowFeeRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + depositFeeRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + pledgedCollateral!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + totalInterestEarned!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + txCount!: bigint; + + @Column('varchar') + poolType!: string; + + @Column('numeric', { transformer: bigintTransformer }) + loansCount!: bigint; + + @Column('varchar') + maxBorrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + quoteTokenFlashloaned!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + collateralFlashloaned!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + hpb!: Decimal; + + @Column('integer') + hpbIndex!: number; + + @Column('numeric', { transformer: decimalTransformer }) + htp!: Decimal; + + @Column('integer') + htpIndex!: number; + + @Column('numeric', { transformer: decimalTransformer }) + lup!: Decimal; + + @Column('integer') + lupIndex!: number; + + @Column('numeric', { transformer: decimalTransformer }) + reserves!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + claimableReserves!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + claimableReservesRemaining!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + burnEpoch!: bigint; + + @Column('numeric', { transformer: decimalTransformer }) + totalAjnaBurned!: Decimal; + + @Column('varchar', { array: true }) + reserveAuctions!: string[]; + + @Column('numeric', { transformer: decimalTransformer }) + minDebtAmount!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + actualUtilization!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + targetUtilization!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + totalBondEscrowed!: Decimal; + + @Column('varchar', { array: true }) + liquidationAuctions!: string[]; + + @Column('numeric', { transformer: decimalTransformer }) + quoteTokenBalance!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + collateralBalance!: Decimal; + + @Column('varchar') + subsetHash!: string; + + @Column('numeric', { array: true, transformer: bigintArrayTransformer }) + tokenIdsPledged!: bigint[]; + + @Column('numeric', { array: true, transformer: bigintArrayTransformer }) + bucketTokenIds!: bigint[]; + + @Column('numeric', { array: true, transformer: bigintArrayTransformer }) + tokenIdsAllowed!: bigint[]; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/PoolCreated.ts b/src/entity/PoolCreated.ts new file mode 100644 index 0000000..0c48845 --- /dev/null +++ b/src/entity/PoolCreated.ts @@ -0,0 +1,43 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class PoolCreated { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + poolType!: string; + + @Column('varchar') + factory!: string; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/PoolFactory.ts b/src/entity/PoolFactory.ts new file mode 100644 index 0000000..39b779a --- /dev/null +++ b/src/entity/PoolFactory.ts @@ -0,0 +1,37 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class PoolFactory { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + poolType!: string; + + @Column('numeric', { transformer: bigintTransformer }) + poolCount!: bigint; + + @Column('varchar', { array: true }) + pools!: string[]; + + @Column('numeric', { transformer: bigintTransformer }) + txCount!: bigint; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Position.ts b/src/entity/Position.ts new file mode 100644 index 0000000..b02463a --- /dev/null +++ b/src/entity/Position.ts @@ -0,0 +1,43 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class Position { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('numeric', { nullable: true, transformer: bigintTransformer }) + tokenId!: bigint | null; + + @Column('varchar', { array: true }) + indexes!: string[]; + + @Column('varchar') + owner!: string; + + @Column('varchar') + pool!: string; + + @Column('varchar') + token!: string; + + @Column('varchar') + tokenURI!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/PositionLend.ts b/src/entity/PositionLend.ts new file mode 100644 index 0000000..1e0d8a7 --- /dev/null +++ b/src/entity/PositionLend.ts @@ -0,0 +1,44 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class PositionLend { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + bucket!: string; + + @Column('integer') + bucketIndex!: number; + + @Column('numeric', { transformer: bigintTransformer }) + depositTime!: bigint; + + @Column('numeric', { transformer: decimalTransformer }) + lpb!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpbValueInQuote!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + tokenId!: bigint; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Proposal.ts b/src/entity/Proposal.ts new file mode 100644 index 0000000..3266f5e --- /dev/null +++ b/src/entity/Proposal.ts @@ -0,0 +1,56 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Proposal { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('numeric', { transformer: bigintTransformer }) + proposalId!: bigint; + + @Column('varchar') + description!: string; + + @Column('varchar', { nullable: true }) + distribution!: string | null; + + @Column('boolean') + executed!: boolean; + + @Column('numeric', { transformer: decimalTransformer }) + screeningVotesReceived!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + fundingVotesReceived!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + fundingVotesNegative!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + fundingVotesPositive!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + totalTokensRequested!: Decimal; + + @Column('varchar', { array: true }) + params!: string[]; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/ProposalCreated.ts b/src/entity/ProposalCreated.ts new file mode 100644 index 0000000..cfe4fa7 --- /dev/null +++ b/src/entity/ProposalCreated.ts @@ -0,0 +1,62 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalArrayTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class ProposalCreated { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + proposal!: string; + + @Column('varchar') + proposer!: string; + + @Column('varchar', { array: true }) + targets!: string[]; + + @Column('numeric', { array: true, transformer: decimalArrayTransformer }) + values!: Decimal[]; + + @Column('varchar', { array: true }) + signatures!: string[]; + + @Column('varchar', { array: true }) + calldatas!: string[]; + + @Column('numeric', { transformer: bigintTransformer }) + startBlock!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + endBlock!: bigint; + + @Column('varchar') + description!: string; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/ProposalExecuted.ts b/src/entity/ProposalExecuted.ts new file mode 100644 index 0000000..0700e0b --- /dev/null +++ b/src/entity/ProposalExecuted.ts @@ -0,0 +1,37 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class ProposalExecuted { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('numeric', { transformer: bigintTransformer }) + proposalId!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/ProposalParams.ts b/src/entity/ProposalParams.ts new file mode 100644 index 0000000..9034d4e --- /dev/null +++ b/src/entity/ProposalParams.ts @@ -0,0 +1,41 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class ProposalParams { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + target!: string; + + @Column('numeric', { transformer: bigintTransformer }) + value!: bigint; + + @Column('varchar') + calldata!: string; + + @Column('varchar') + recipient!: string; + + @Column('numeric', { transformer: decimalTransformer }) + tokensRequested!: Decimal; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/RedeemPosition.ts b/src/entity/RedeemPosition.ts new file mode 100644 index 0000000..bab40a4 --- /dev/null +++ b/src/entity/RedeemPosition.ts @@ -0,0 +1,46 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class RedeemPosition { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + lender!: string; + + @Column('numeric', { transformer: bigintTransformer }) + tokenId!: bigint; + + @Column('integer', { array: true }) + indexes!: number[]; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/RemoveCollateral.ts b/src/entity/RemoveCollateral.ts new file mode 100644 index 0000000..dbbd733 --- /dev/null +++ b/src/entity/RemoveCollateral.ts @@ -0,0 +1,53 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class RemoveCollateral { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + bucket!: string; + + @Column('varchar') + claimer!: string; + + @Column('integer') + index!: number; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpRedeemed!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/RemoveQuoteToken.ts b/src/entity/RemoveQuoteToken.ts new file mode 100644 index 0000000..2f849f3 --- /dev/null +++ b/src/entity/RemoveQuoteToken.ts @@ -0,0 +1,56 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class RemoveQuoteToken { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + bucket!: string; + + @Column('varchar') + lender!: string; + + @Column('integer') + index!: number; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lpRedeemed!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lup!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/RepayDebt.ts b/src/entity/RepayDebt.ts new file mode 100644 index 0000000..951e0a4 --- /dev/null +++ b/src/entity/RepayDebt.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class RepayDebt { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + quoteRepaid!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + collateralPulled!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lup!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/ReserveAuction.ts b/src/entity/ReserveAuction.ts new file mode 100644 index 0000000..462f468 --- /dev/null +++ b/src/entity/ReserveAuction.ts @@ -0,0 +1,47 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class ReserveAuction { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('numeric', { transformer: decimalTransformer }) + claimableReservesRemaining!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + lastTakePrice!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + burnEpoch!: bigint; + + @Column('varchar') + kick!: string; + + @Column('varchar', { array: true }) + takes!: string[]; + + @Column('numeric', { transformer: decimalTransformer }) + ajnaBurned!: Decimal; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/ReserveAuctionKick.ts b/src/entity/ReserveAuctionKick.ts new file mode 100644 index 0000000..cd245dd --- /dev/null +++ b/src/entity/ReserveAuctionKick.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class ReserveAuctionKick { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar', { nullable: true }) + kicker!: string | null; + + @Column('varchar') + reserveAuction!: string; + + @Column('varchar') + pool!: string; + + @Column('numeric', { transformer: decimalTransformer }) + claimableReserves!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + startingPrice!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/ReserveAuctionTake.ts b/src/entity/ReserveAuctionTake.ts new file mode 100644 index 0000000..e0f80a5 --- /dev/null +++ b/src/entity/ReserveAuctionTake.ts @@ -0,0 +1,56 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class ReserveAuctionTake { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar', { nullable: true }) + taker!: string | null; + + @Column('varchar') + reserveAuction!: string; + + @Column('varchar') + pool!: string; + + @Column('numeric', { transformer: decimalTransformer }) + claimableReservesRemaining!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + auctionPrice!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + quotePurchased!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + ajnaBurned!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/ResetInterestRate.ts b/src/entity/ResetInterestRate.ts new file mode 100644 index 0000000..ac5dfc2 --- /dev/null +++ b/src/entity/ResetInterestRate.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class ResetInterestRate { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('numeric', { transformer: decimalTransformer }) + oldBorrowRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + newBorrowRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + oldLendRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + newLendRate!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/ScreeningVote.ts b/src/entity/ScreeningVote.ts new file mode 100644 index 0000000..4a1d1c9 --- /dev/null +++ b/src/entity/ScreeningVote.ts @@ -0,0 +1,41 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class ScreeningVote { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + distribution!: string; + + @Column('varchar') + voter!: string; + + @Column('varchar') + proposal!: string; + + @Column('numeric', { transformer: decimalTransformer }) + totalVotesCast!: Decimal; + + @Column('varchar', { array: true }) + votesCast!: string[]; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Settle.ts b/src/entity/Settle.ts new file mode 100644 index 0000000..22ba79a --- /dev/null +++ b/src/entity/Settle.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Settle { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('varchar') + liquidationAuction!: string; + + @Column('varchar') + loan!: string; + + @Column('varchar') + borrower!: string; + + @Column('numeric', { transformer: decimalTransformer }) + settledDebt!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/State.ts b/src/entity/State.ts new file mode 100644 index 0000000..bc05bca --- /dev/null +++ b/src/entity/State.ts @@ -0,0 +1,31 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryGeneratedColumn, Column, Index, ManyToOne } from 'typeorm'; +import { StateKind } from '@cerc-io/util'; +import { BlockProgress } from './BlockProgress'; + +@Entity() +@Index(['cid'], { unique: true }) +@Index(['block', 'contractAddress']) +@Index(['block', 'contractAddress', 'kind'], { unique: true }) +export class State { + @PrimaryGeneratedColumn() + id!: number; + + @ManyToOne(() => BlockProgress, { onDelete: 'CASCADE' }) + block!: BlockProgress; + + @Column('varchar', { length: 42 }) + contractAddress!: string; + + @Column('varchar') + cid!: string; + + @Column({ type: 'enum', enum: StateKind }) + kind!: StateKind; + + @Column('bytea') + data!: Buffer; +} diff --git a/src/entity/StateSyncStatus.ts b/src/entity/StateSyncStatus.ts new file mode 100644 index 0000000..1535eb4 --- /dev/null +++ b/src/entity/StateSyncStatus.ts @@ -0,0 +1,17 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm'; + +@Entity() +export class StateSyncStatus { + @PrimaryGeneratedColumn() + id!: number; + + @Column('integer') + latestIndexedBlockNumber!: number; + + @Column('integer') + latestCheckpointBlockNumber!: number; +} diff --git a/src/entity/Subscriber.ts b/src/entity/Subscriber.ts new file mode 100644 index 0000000..2cccb84 --- /dev/null +++ b/src/entity/Subscriber.ts @@ -0,0 +1,21 @@ +// +// Copyright 2022 Vulcanize, Inc. +// + +import { EventSubscriber, EntitySubscriberInterface, InsertEvent, UpdateEvent } from 'typeorm'; + +import { afterEntityInsertOrUpdate } from '@cerc-io/util'; + +import { FrothyEntity } from './FrothyEntity'; +import { ENTITY_TO_LATEST_ENTITY_MAP, SUBGRAPH_ENTITIES } from '../database'; + +@EventSubscriber() +export class EntitySubscriber implements EntitySubscriberInterface { + async afterInsert (event: InsertEvent): Promise { + await afterEntityInsertOrUpdate(FrothyEntity, SUBGRAPH_ENTITIES, event, ENTITY_TO_LATEST_ENTITY_MAP); + } + + async afterUpdate (event: UpdateEvent): Promise { + await afterEntityInsertOrUpdate(FrothyEntity, SUBGRAPH_ENTITIES, event, ENTITY_TO_LATEST_ENTITY_MAP); + } +} diff --git a/src/entity/SyncStatus.ts b/src/entity/SyncStatus.ts new file mode 100644 index 0000000..cc13c70 --- /dev/null +++ b/src/entity/SyncStatus.ts @@ -0,0 +1,45 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm'; +import { SyncStatusInterface } from '@cerc-io/util'; + +@Entity() +export class SyncStatus implements SyncStatusInterface { + @PrimaryGeneratedColumn() + id!: number; + + @Column('varchar', { length: 66 }) + chainHeadBlockHash!: string; + + @Column('integer') + chainHeadBlockNumber!: number; + + @Column('varchar', { length: 66 }) + latestIndexedBlockHash!: string; + + @Column('integer') + latestIndexedBlockNumber!: number; + + @Column('varchar', { length: 66 }) + latestProcessedBlockHash!: string; + + @Column('integer') + latestProcessedBlockNumber!: number; + + @Column('varchar', { length: 66 }) + latestCanonicalBlockHash!: string; + + @Column('integer') + latestCanonicalBlockNumber!: number; + + @Column('varchar', { length: 66 }) + initialIndexedBlockHash!: string; + + @Column('integer') + initialIndexedBlockNumber!: number; + + @Column('boolean', { default: false }) + hasIndexingError!: boolean; +} diff --git a/src/entity/Take.ts b/src/entity/Take.ts new file mode 100644 index 0000000..219c6c6 --- /dev/null +++ b/src/entity/Take.ts @@ -0,0 +1,65 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class Take { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + taker!: string; + + @Column('varchar') + pool!: string; + + @Column('varchar') + borrower!: string; + + @Column('varchar') + liquidationAuction!: string; + + @Column('varchar') + loan!: string; + + @Column('numeric', { transformer: decimalTransformer }) + auctionPrice!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + amount!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + collateral!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + bondChange!: Decimal; + + @Column('boolean') + isReward!: boolean; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Token.ts b/src/entity/Token.ts new file mode 100644 index 0000000..851c161 --- /dev/null +++ b/src/entity/Token.ts @@ -0,0 +1,49 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class Token { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + symbol!: string; + + @Column('varchar') + name!: string; + + @Column('integer', { nullable: true }) + decimals!: number | null; + + @Column('varchar') + tokenType!: string; + + @Column('numeric', { transformer: bigintTransformer }) + poolCount!: bigint; + + @Column('varchar', { array: true }) + pools!: string[]; + + @Column('numeric', { nullable: true, transformer: bigintTransformer }) + totalSupply!: bigint | null; + + @Column('numeric', { transformer: bigintTransformer }) + txCount!: bigint; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/Transfer.ts b/src/entity/Transfer.ts new file mode 100644 index 0000000..4702470 --- /dev/null +++ b/src/entity/Transfer.ts @@ -0,0 +1,49 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { bigintTransformer } from '@cerc-io/util'; + +@Entity() +@Index(['blockNumber']) +export class Transfer { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + token!: string; + + @Column('varchar') + pool!: string; + + @Column('varchar') + from!: string; + + @Column('varchar') + to!: string; + + @Column('numeric', { transformer: bigintTransformer }) + tokenId!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/TransferLP.ts b/src/entity/TransferLP.ts new file mode 100644 index 0000000..afa1252 --- /dev/null +++ b/src/entity/TransferLP.ts @@ -0,0 +1,47 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class TransferLP { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + owner!: string; + + @Column('varchar') + newOwner!: string; + + @Column('integer', { array: true }) + indexes!: number[]; + + @Column('numeric', { transformer: decimalTransformer }) + lp!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/UpdateInterestRate.ts b/src/entity/UpdateInterestRate.ts new file mode 100644 index 0000000..dd92157 --- /dev/null +++ b/src/entity/UpdateInterestRate.ts @@ -0,0 +1,56 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class UpdateInterestRate { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + pool!: string; + + @Column('numeric', { transformer: decimalTransformer }) + oldBorrowRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + newBorrowRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + oldLendRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + newLendRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + borrowFeeRate!: Decimal; + + @Column('numeric', { transformer: decimalTransformer }) + depositFeeRate!: Decimal; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/entity/VoteCast.ts b/src/entity/VoteCast.ts new file mode 100644 index 0000000..5b04c9d --- /dev/null +++ b/src/entity/VoteCast.ts @@ -0,0 +1,50 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import { Entity, PrimaryColumn, Column, Index } from 'typeorm'; +import { decimalTransformer, bigintTransformer } from '@cerc-io/util'; +import { Decimal } from 'decimal.js'; + +@Entity() +@Index(['blockNumber']) +export class VoteCast { + @PrimaryColumn('varchar') + id!: string; + + @PrimaryColumn('varchar', { length: 66 }) + blockHash!: string; + + @Column('integer') + blockNumber!: number; + + @Column('varchar') + voter!: string; + + @Column('numeric', { transformer: bigintTransformer }) + proposalId!: bigint; + + @Column('integer') + support!: number; + + @Column('numeric', { transformer: decimalTransformer }) + weight!: Decimal; + + @Column('varchar') + reason!: string; + + @Column('numeric', { transformer: bigintTransformer }) + _blockNumber!: bigint; + + @Column('numeric', { transformer: bigintTransformer }) + blockTimestamp!: bigint; + + @Column('varchar') + transactionHash!: string; + + @Column('boolean', { default: false }) + isPruned!: boolean; + + @Column('boolean', { default: false }) + isRemoved!: boolean; +} diff --git a/src/fill.ts b/src/fill.ts new file mode 100644 index 0000000..210341e --- /dev/null +++ b/src/fill.ts @@ -0,0 +1,48 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import 'reflect-metadata'; +import debug from 'debug'; + +import { FillCmd } from '@cerc-io/cli'; +import { getContractEntitiesMap } from '@cerc-io/util'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from './database'; +import { Indexer } from './indexer'; + +const log = debug('vulcanize:fill'); + +export const main = async (): Promise => { + const fillCmd = new FillCmd(); + await fillCmd.init(Database); + + const { graphWatcher } = await getGraphDbAndWatcher( + fillCmd.config.server, + fillCmd.clients.ethClient, + fillCmd.ethProvider, + fillCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await fillCmd.initIndexer(Indexer, graphWatcher); + + // Get contractEntitiesMap required for fill-state + // NOTE: Assuming each entity type is only mapped to a single contract + const contractEntitiesMap = getContractEntitiesMap(graphWatcher.dataSources); + + await fillCmd.exec(contractEntitiesMap); +}; + +main().catch(err => { + log(err); +}).finally(() => { + process.exit(); +}); + +process.on('SIGINT', () => { + log(`Exiting process ${process.pid} with code 0`); + process.exit(0); +}); diff --git a/src/gql/index.ts b/src/gql/index.ts new file mode 100644 index 0000000..4732f68 --- /dev/null +++ b/src/gql/index.ts @@ -0,0 +1,3 @@ +export * as mutations from './mutations'; +export * as queries from './queries'; +export * as subscriptions from './subscriptions'; diff --git a/src/gql/mutations/index.ts b/src/gql/mutations/index.ts new file mode 100644 index 0000000..0c3bd85 --- /dev/null +++ b/src/gql/mutations/index.ts @@ -0,0 +1,4 @@ +import fs from 'fs'; +import path from 'path'; + +export const watchContract = fs.readFileSync(path.join(__dirname, 'watchContract.gql'), 'utf8'); diff --git a/src/gql/mutations/watchContract.gql b/src/gql/mutations/watchContract.gql new file mode 100644 index 0000000..2ecc74f --- /dev/null +++ b/src/gql/mutations/watchContract.gql @@ -0,0 +1,3 @@ +mutation watchContract($address: String!, $kind: String!, $checkpoint: Boolean!, $startingBlock: Int){ + watchContract(address: $address, kind: $kind, checkpoint: $checkpoint, startingBlock: $startingBlock) +} \ No newline at end of file diff --git a/src/gql/queries/_meta.gql b/src/gql/queries/_meta.gql new file mode 100644 index 0000000..d686e04 --- /dev/null +++ b/src/gql/queries/_meta.gql @@ -0,0 +1,11 @@ +query _meta($block: Block_height){ + _meta(block: $block){ + block{ + hash + number + timestamp + } + deployment + hasIndexingErrors + } +} \ No newline at end of file diff --git a/src/gql/queries/account.gql b/src/gql/queries/account.gql new file mode 100644 index 0000000..9b1af9d --- /dev/null +++ b/src/gql/queries/account.gql @@ -0,0 +1,158 @@ +query account($id: ID!, $block: Block_height){ + account(id: $id, block: $block){ + id + pools{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + kicks{ + id + kicker + locked + claimable + borrower + debt + collateral + bond + startingPrice + blockNumber + blockTimestamp + transactionHash + } + lends{ + id + bucketIndex + poolAddress + lender + lpb + lpbValueInQuote + depositTime + } + loans{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + settles{ + id + borrower + settledDebt + blockNumber + blockTimestamp + transactionHash + } + takes{ + id + taker + borrower + auctionPrice + amount + collateral + bondChange + isReward + blockNumber + blockTimestamp + transactionHash + } + reserveAuctions{ + id + claimableReservesRemaining + lastTakePrice + burnEpoch + ajnaBurned + } + proposalsCreated{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + proposalsExecuted{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + delegatedTo{ + id + rewardsClaimed + tokensDelegated + txCount + } + delegatedFrom{ + id + rewardsClaimed + tokensDelegated + txCount + } + rewardsClaimed + distributionPeriodVotes{ + id + initialFundingStageVotingPowerRecordedPostVote + remainingFundingStageVotingPowerRecordedPostVote + initialScreeningStageVotingPowerRecordedPostVote + remainingScreeningStageVotingPowerRecordedPostVote + } + tokensDelegated + positions{ + id + tokenId + owner + tokenURI + } + txCount + } +} \ No newline at end of file diff --git a/src/gql/queries/accounts.gql b/src/gql/queries/accounts.gql new file mode 100644 index 0000000..db444c5 --- /dev/null +++ b/src/gql/queries/accounts.gql @@ -0,0 +1,158 @@ +query accounts($block: Block_height, $where: Account_filter, $orderBy: Account_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + accounts(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pools{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + kicks{ + id + kicker + locked + claimable + borrower + debt + collateral + bond + startingPrice + blockNumber + blockTimestamp + transactionHash + } + lends{ + id + bucketIndex + poolAddress + lender + lpb + lpbValueInQuote + depositTime + } + loans{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + settles{ + id + borrower + settledDebt + blockNumber + blockTimestamp + transactionHash + } + takes{ + id + taker + borrower + auctionPrice + amount + collateral + bondChange + isReward + blockNumber + blockTimestamp + transactionHash + } + reserveAuctions{ + id + claimableReservesRemaining + lastTakePrice + burnEpoch + ajnaBurned + } + proposalsCreated{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + proposalsExecuted{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + delegatedTo{ + id + rewardsClaimed + tokensDelegated + txCount + } + delegatedFrom{ + id + rewardsClaimed + tokensDelegated + txCount + } + rewardsClaimed + distributionPeriodVotes{ + id + initialFundingStageVotingPowerRecordedPostVote + remainingFundingStageVotingPowerRecordedPostVote + initialScreeningStageVotingPowerRecordedPostVote + remainingScreeningStageVotingPowerRecordedPostVote + } + tokensDelegated + positions{ + id + tokenId + owner + tokenURI + } + txCount + } +} \ No newline at end of file diff --git a/src/gql/queries/addCollateral.gql b/src/gql/queries/addCollateral.gql new file mode 100644 index 0000000..a40ad1a --- /dev/null +++ b/src/gql/queries/addCollateral.gql @@ -0,0 +1,63 @@ +query addCollateral($id: ID!, $block: Block_height){ + addCollateral(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + actor + index + amount + lpAwarded + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/addCollateralNFT.gql b/src/gql/queries/addCollateralNFT.gql new file mode 100644 index 0000000..cb1035a --- /dev/null +++ b/src/gql/queries/addCollateralNFT.gql @@ -0,0 +1,63 @@ +query addCollateralNFT($id: ID!, $block: Block_height){ + addCollateralNFT(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + actor + index + tokenIds + lpAwarded + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/addCollateralNFTS.gql b/src/gql/queries/addCollateralNFTS.gql new file mode 100644 index 0000000..17729d7 --- /dev/null +++ b/src/gql/queries/addCollateralNFTS.gql @@ -0,0 +1,63 @@ +query addCollateralNFTS($block: Block_height, $where: AddCollateralNFT_filter, $orderBy: AddCollateralNFT_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + addCollateralNFTS(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + actor + index + tokenIds + lpAwarded + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/addCollaterals.gql b/src/gql/queries/addCollaterals.gql new file mode 100644 index 0000000..2d10614 --- /dev/null +++ b/src/gql/queries/addCollaterals.gql @@ -0,0 +1,63 @@ +query addCollaterals($block: Block_height, $where: AddCollateral_filter, $orderBy: AddCollateral_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + addCollaterals(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + actor + index + amount + lpAwarded + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/addQuoteToken.gql b/src/gql/queries/addQuoteToken.gql new file mode 100644 index 0000000..a2ccd5a --- /dev/null +++ b/src/gql/queries/addQuoteToken.gql @@ -0,0 +1,64 @@ +query addQuoteToken($id: ID!, $block: Block_height){ + addQuoteToken(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + lender + index + amount + lpAwarded + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/addQuoteTokens.gql b/src/gql/queries/addQuoteTokens.gql new file mode 100644 index 0000000..47fbf09 --- /dev/null +++ b/src/gql/queries/addQuoteTokens.gql @@ -0,0 +1,64 @@ +query addQuoteTokens($block: Block_height, $where: AddQuoteToken_filter, $orderBy: AddQuoteToken_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + addQuoteTokens(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + lender + index + amount + lpAwarded + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/approval.gql b/src/gql/queries/approval.gql new file mode 100644 index 0000000..8d3409d --- /dev/null +++ b/src/gql/queries/approval.gql @@ -0,0 +1,11 @@ +query approval($id: ID!, $block: Block_height){ + approval(id: $id, block: $block){ + id + owner + approved + tokenId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/approvalForAll.gql b/src/gql/queries/approvalForAll.gql new file mode 100644 index 0000000..5ce87eb --- /dev/null +++ b/src/gql/queries/approvalForAll.gql @@ -0,0 +1,11 @@ +query approvalForAll($id: ID!, $block: Block_height){ + approvalForAll(id: $id, block: $block){ + id + owner + operator + approved + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/approvalForAlls.gql b/src/gql/queries/approvalForAlls.gql new file mode 100644 index 0000000..bb9842b --- /dev/null +++ b/src/gql/queries/approvalForAlls.gql @@ -0,0 +1,11 @@ +query approvalForAlls($block: Block_height, $where: ApprovalForAll_filter, $orderBy: ApprovalForAll_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + approvalForAlls(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + owner + operator + approved + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/approvals.gql b/src/gql/queries/approvals.gql new file mode 100644 index 0000000..664c777 --- /dev/null +++ b/src/gql/queries/approvals.gql @@ -0,0 +1,11 @@ +query approvals($block: Block_height, $where: Approval_filter, $orderBy: Approval_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + approvals(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + owner + approved + tokenId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/auctionNFTSettle.gql b/src/gql/queries/auctionNFTSettle.gql new file mode 100644 index 0000000..0e42632 --- /dev/null +++ b/src/gql/queries/auctionNFTSettle.gql @@ -0,0 +1,64 @@ +query auctionNFTSettle($id: ID!, $block: Block_height){ + auctionNFTSettle(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + borrower + collateral + lp + index + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/auctionNFTSettles.gql b/src/gql/queries/auctionNFTSettles.gql new file mode 100644 index 0000000..230a549 --- /dev/null +++ b/src/gql/queries/auctionNFTSettles.gql @@ -0,0 +1,64 @@ +query auctionNFTSettles($block: Block_height, $where: AuctionNFTSettle_filter, $orderBy: AuctionNFTSettle_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + auctionNFTSettles(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + borrower + collateral + lp + index + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/auctionSettle.gql b/src/gql/queries/auctionSettle.gql new file mode 100644 index 0000000..145c1fb --- /dev/null +++ b/src/gql/queries/auctionSettle.gql @@ -0,0 +1,62 @@ +query auctionSettle($id: ID!, $block: Block_height){ + auctionSettle(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + borrower + collateral + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/auctionSettles.gql b/src/gql/queries/auctionSettles.gql new file mode 100644 index 0000000..51f5b85 --- /dev/null +++ b/src/gql/queries/auctionSettles.gql @@ -0,0 +1,62 @@ +query auctionSettles($block: Block_height, $where: AuctionSettle_filter, $orderBy: AuctionSettle_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + auctionSettles(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + borrower + collateral + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/bondWithdrawn.gql b/src/gql/queries/bondWithdrawn.gql new file mode 100644 index 0000000..766f0f0 --- /dev/null +++ b/src/gql/queries/bondWithdrawn.gql @@ -0,0 +1,11 @@ +query bondWithdrawn($id: ID!, $block: Block_height){ + bondWithdrawn(id: $id, block: $block){ + id + kicker + reciever + amount + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/bondWithdrawns.gql b/src/gql/queries/bondWithdrawns.gql new file mode 100644 index 0000000..8d1df5d --- /dev/null +++ b/src/gql/queries/bondWithdrawns.gql @@ -0,0 +1,11 @@ +query bondWithdrawns($block: Block_height, $where: BondWithdrawn_filter, $orderBy: BondWithdrawn_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + bondWithdrawns(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + kicker + reciever + amount + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/bucket.gql b/src/gql/queries/bucket.gql new file mode 100644 index 0000000..41e68e3 --- /dev/null +++ b/src/gql/queries/bucket.gql @@ -0,0 +1,70 @@ +query bucket($id: ID!, $block: Block_height){ + bucket(id: $id, block: $block){ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + collateral + deposit + lpb + lends{ + id + bucketIndex + poolAddress + lender + lpb + lpbValueInQuote + depositTime + } + positionLends{ + id + bucketIndex + depositTime + lpb + lpbValueInQuote + tokenId + } + } +} \ No newline at end of file diff --git a/src/gql/queries/bucketBankruptcies.gql b/src/gql/queries/bucketBankruptcies.gql new file mode 100644 index 0000000..ea2fd65 --- /dev/null +++ b/src/gql/queries/bucketBankruptcies.gql @@ -0,0 +1,61 @@ +query bucketBankruptcies($block: Block_height, $where: BucketBankruptcy_filter, $orderBy: BucketBankruptcy_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + bucketBankruptcies(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + index + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lpForfeited + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/bucketBankruptcy.gql b/src/gql/queries/bucketBankruptcy.gql new file mode 100644 index 0000000..b013bdb --- /dev/null +++ b/src/gql/queries/bucketBankruptcy.gql @@ -0,0 +1,61 @@ +query bucketBankruptcy($id: ID!, $block: Block_height){ + bucketBankruptcy(id: $id, block: $block){ + id + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + index + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lpForfeited + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/bucketTake.gql b/src/gql/queries/bucketTake.gql new file mode 100644 index 0000000..6f23b63 --- /dev/null +++ b/src/gql/queries/bucketTake.gql @@ -0,0 +1,96 @@ +query bucketTake($id: ID!, $block: Block_height){ + bucketTake(id: $id, block: $block){ + id + borrower + taker + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + index + auctionPrice + amount + collateral + bondChange + isReward + lpAwarded{ + id + taker + kicker + lpAwardedTaker + lpAwardedKicker + blockNumber + blockTimestamp + transactionHash + } + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/bucketTakeLPAwarded.gql b/src/gql/queries/bucketTakeLPAwarded.gql new file mode 100644 index 0000000..f98c431 --- /dev/null +++ b/src/gql/queries/bucketTakeLPAwarded.gql @@ -0,0 +1,53 @@ +query bucketTakeLPAwarded($id: ID!, $block: Block_height){ + bucketTakeLPAwarded(id: $id, block: $block){ + id + taker + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + kicker + lpAwardedTaker + lpAwardedKicker + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/bucketTakeLPAwardeds.gql b/src/gql/queries/bucketTakeLPAwardeds.gql new file mode 100644 index 0000000..787e173 --- /dev/null +++ b/src/gql/queries/bucketTakeLPAwardeds.gql @@ -0,0 +1,53 @@ +query bucketTakeLPAwardeds($block: Block_height, $where: BucketTakeLPAwarded_filter, $orderBy: BucketTakeLPAwarded_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + bucketTakeLPAwardeds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + taker + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + kicker + lpAwardedTaker + lpAwardedKicker + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/bucketTakes.gql b/src/gql/queries/bucketTakes.gql new file mode 100644 index 0000000..20fcfbe --- /dev/null +++ b/src/gql/queries/bucketTakes.gql @@ -0,0 +1,96 @@ +query bucketTakes($block: Block_height, $where: BucketTake_filter, $orderBy: BucketTake_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + bucketTakes(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + borrower + taker + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + index + auctionPrice + amount + collateral + bondChange + isReward + lpAwarded{ + id + taker + kicker + lpAwardedTaker + lpAwardedKicker + blockNumber + blockTimestamp + transactionHash + } + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/buckets.gql b/src/gql/queries/buckets.gql new file mode 100644 index 0000000..98c1e35 --- /dev/null +++ b/src/gql/queries/buckets.gql @@ -0,0 +1,70 @@ +query buckets($block: Block_height, $where: Bucket_filter, $orderBy: Bucket_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + buckets(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + collateral + deposit + lpb + lends{ + id + bucketIndex + poolAddress + lender + lpb + lpbValueInQuote + depositTime + } + positionLends{ + id + bucketIndex + depositTime + lpb + lpbValueInQuote + tokenId + } + } +} \ No newline at end of file diff --git a/src/gql/queries/burn.gql b/src/gql/queries/burn.gql new file mode 100644 index 0000000..02d24c1 --- /dev/null +++ b/src/gql/queries/burn.gql @@ -0,0 +1,10 @@ +query burn($id: ID!, $block: Block_height){ + burn(id: $id, block: $block){ + id + lender + tokenId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/burnWrap.gql b/src/gql/queries/burnWrap.gql new file mode 100644 index 0000000..f1d7508 --- /dev/null +++ b/src/gql/queries/burnWrap.gql @@ -0,0 +1,16 @@ +query burnWrap($id: ID!, $block: Block_height){ + burnWrap(id: $id, block: $block){ + id + wrapper + account{ + id + rewardsClaimed + tokensDelegated + txCount + } + amount + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/burnWraps.gql b/src/gql/queries/burnWraps.gql new file mode 100644 index 0000000..b6e6ab7 --- /dev/null +++ b/src/gql/queries/burnWraps.gql @@ -0,0 +1,16 @@ +query burnWraps($block: Block_height, $where: BurnWrap_filter, $orderBy: BurnWrap_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + burnWraps(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + wrapper + account{ + id + rewardsClaimed + tokensDelegated + txCount + } + amount + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/burns.gql b/src/gql/queries/burns.gql new file mode 100644 index 0000000..0d4d8e5 --- /dev/null +++ b/src/gql/queries/burns.gql @@ -0,0 +1,10 @@ +query burns($block: Block_height, $where: Burn_filter, $orderBy: Burn_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + burns(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + lender + tokenId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/delegateChanged.gql b/src/gql/queries/delegateChanged.gql new file mode 100644 index 0000000..bb0ff63 --- /dev/null +++ b/src/gql/queries/delegateChanged.gql @@ -0,0 +1,11 @@ +query delegateChanged($id: ID!, $block: Block_height){ + delegateChanged(id: $id, block: $block){ + id + delegator + fromDelegate + toDelegate + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/delegateChangeds.gql b/src/gql/queries/delegateChangeds.gql new file mode 100644 index 0000000..2750756 --- /dev/null +++ b/src/gql/queries/delegateChangeds.gql @@ -0,0 +1,11 @@ +query delegateChangeds($block: Block_height, $where: DelegateChanged_filter, $orderBy: DelegateChanged_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + delegateChangeds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + delegator + fromDelegate + toDelegate + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/delegateRewardClaimed.gql b/src/gql/queries/delegateRewardClaimed.gql new file mode 100644 index 0000000..6dfc2a1 --- /dev/null +++ b/src/gql/queries/delegateRewardClaimed.gql @@ -0,0 +1,21 @@ +query delegateRewardClaimed($id: ID!, $block: Block_height){ + delegateRewardClaimed(id: $id, block: $block){ + id + delegateeAddress_ + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + rewardClaimed_ + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/delegateRewardClaimeds.gql b/src/gql/queries/delegateRewardClaimeds.gql new file mode 100644 index 0000000..b343af5 --- /dev/null +++ b/src/gql/queries/delegateRewardClaimeds.gql @@ -0,0 +1,21 @@ +query delegateRewardClaimeds($block: Block_height, $where: DelegateRewardClaimed_filter, $orderBy: DelegateRewardClaimed_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + delegateRewardClaimeds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + delegateeAddress_ + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + rewardClaimed_ + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/delegateVotesChanged.gql b/src/gql/queries/delegateVotesChanged.gql new file mode 100644 index 0000000..431d869 --- /dev/null +++ b/src/gql/queries/delegateVotesChanged.gql @@ -0,0 +1,11 @@ +query delegateVotesChanged($id: ID!, $block: Block_height){ + delegateVotesChanged(id: $id, block: $block){ + id + delegate + previousBalance + newBalance + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/delegateVotesChangeds.gql b/src/gql/queries/delegateVotesChangeds.gql new file mode 100644 index 0000000..8a02f21 --- /dev/null +++ b/src/gql/queries/delegateVotesChangeds.gql @@ -0,0 +1,11 @@ +query delegateVotesChangeds($block: Block_height, $where: DelegateVotesChanged_filter, $orderBy: DelegateVotesChanged_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + delegateVotesChangeds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + delegate + previousBalance + newBalance + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/distributionPeriod.gql b/src/gql/queries/distributionPeriod.gql new file mode 100644 index 0000000..eb9619f --- /dev/null +++ b/src/gql/queries/distributionPeriod.gql @@ -0,0 +1,43 @@ +query distributionPeriod($id: ID!, $block: Block_height){ + distributionPeriod(id: $id, block: $block){ + id + distributionId + startBlock + endBlock + topSlate{ + id + totalTokensRequested + totalFundingVotesReceived + updateBlock + } + slatesSubmitted{ + id + totalTokensRequested + totalFundingVotesReceived + updateBlock + } + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + votes{ + id + initialFundingStageVotingPowerRecordedPostVote + remainingFundingStageVotingPowerRecordedPostVote + initialScreeningStageVotingPowerRecordedPostVote + remainingScreeningStageVotingPowerRecordedPostVote + } + proposals{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + totalTokensDistributed + } +} \ No newline at end of file diff --git a/src/gql/queries/distributionPeriodStarted.gql b/src/gql/queries/distributionPeriodStarted.gql new file mode 100644 index 0000000..c471ae8 --- /dev/null +++ b/src/gql/queries/distributionPeriodStarted.gql @@ -0,0 +1,21 @@ +query distributionPeriodStarted($id: ID!, $block: Block_height){ + distributionPeriodStarted(id: $id, block: $block){ + id + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + startBlock + endBlock + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/distributionPeriodStarteds.gql b/src/gql/queries/distributionPeriodStarteds.gql new file mode 100644 index 0000000..3ded43e --- /dev/null +++ b/src/gql/queries/distributionPeriodStarteds.gql @@ -0,0 +1,21 @@ +query distributionPeriodStarteds($block: Block_height, $where: DistributionPeriodStarted_filter, $orderBy: DistributionPeriodStarted_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + distributionPeriodStarteds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + startBlock + endBlock + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/distributionPeriodVote.gql b/src/gql/queries/distributionPeriodVote.gql new file mode 100644 index 0000000..caad311 --- /dev/null +++ b/src/gql/queries/distributionPeriodVote.gql @@ -0,0 +1,35 @@ +query distributionPeriodVote($id: ID!, $block: Block_height){ + distributionPeriodVote(id: $id, block: $block){ + id + voter{ + id + rewardsClaimed + tokensDelegated + txCount + } + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + initialFundingStageVotingPowerRecordedPostVote + remainingFundingStageVotingPowerRecordedPostVote + initialScreeningStageVotingPowerRecordedPostVote + remainingScreeningStageVotingPowerRecordedPostVote + screeningVotes{ + id + totalVotesCast + } + fundingVotes{ + id + totalVotesCast + votingPowerUsed + } + } +} \ No newline at end of file diff --git a/src/gql/queries/distributionPeriodVotes.gql b/src/gql/queries/distributionPeriodVotes.gql new file mode 100644 index 0000000..9e92559 --- /dev/null +++ b/src/gql/queries/distributionPeriodVotes.gql @@ -0,0 +1,35 @@ +query distributionPeriodVotes($block: Block_height, $where: DistributionPeriodVote_filter, $orderBy: DistributionPeriodVote_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + distributionPeriodVotes(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + voter{ + id + rewardsClaimed + tokensDelegated + txCount + } + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + initialFundingStageVotingPowerRecordedPostVote + remainingFundingStageVotingPowerRecordedPostVote + initialScreeningStageVotingPowerRecordedPostVote + remainingScreeningStageVotingPowerRecordedPostVote + screeningVotes{ + id + totalVotesCast + } + fundingVotes{ + id + totalVotesCast + votingPowerUsed + } + } +} \ No newline at end of file diff --git a/src/gql/queries/distributionPeriods.gql b/src/gql/queries/distributionPeriods.gql new file mode 100644 index 0000000..0998a86 --- /dev/null +++ b/src/gql/queries/distributionPeriods.gql @@ -0,0 +1,43 @@ +query distributionPeriods($block: Block_height, $where: DistributionPeriod_filter, $orderBy: DistributionPeriod_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + distributionPeriods(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + distributionId + startBlock + endBlock + topSlate{ + id + totalTokensRequested + totalFundingVotesReceived + updateBlock + } + slatesSubmitted{ + id + totalTokensRequested + totalFundingVotesReceived + updateBlock + } + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + votes{ + id + initialFundingStageVotingPowerRecordedPostVote + remainingFundingStageVotingPowerRecordedPostVote + initialScreeningStageVotingPowerRecordedPostVote + remainingScreeningStageVotingPowerRecordedPostVote + } + proposals{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + totalTokensDistributed + } +} \ No newline at end of file diff --git a/src/gql/queries/drawDebt.gql b/src/gql/queries/drawDebt.gql new file mode 100644 index 0000000..c724fa4 --- /dev/null +++ b/src/gql/queries/drawDebt.gql @@ -0,0 +1,53 @@ +query drawDebt($id: ID!, $block: Block_height){ + drawDebt(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + amountBorrowed + collateralPledged + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/drawDebtNFT.gql b/src/gql/queries/drawDebtNFT.gql new file mode 100644 index 0000000..4df5936 --- /dev/null +++ b/src/gql/queries/drawDebtNFT.gql @@ -0,0 +1,53 @@ +query drawDebtNFT($id: ID!, $block: Block_height){ + drawDebtNFT(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + amountBorrowed + tokenIdsPledged + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/drawDebtNFTS.gql b/src/gql/queries/drawDebtNFTS.gql new file mode 100644 index 0000000..8f214b6 --- /dev/null +++ b/src/gql/queries/drawDebtNFTS.gql @@ -0,0 +1,53 @@ +query drawDebtNFTS($block: Block_height, $where: DrawDebtNFT_filter, $orderBy: DrawDebtNFT_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + drawDebtNFTS(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + amountBorrowed + tokenIdsPledged + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/drawDebts.gql b/src/gql/queries/drawDebts.gql new file mode 100644 index 0000000..12fc837 --- /dev/null +++ b/src/gql/queries/drawDebts.gql @@ -0,0 +1,53 @@ +query drawDebts($block: Block_height, $where: DrawDebt_filter, $orderBy: DrawDebt_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + drawDebts(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + amountBorrowed + collateralPledged + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/events.gql b/src/gql/queries/events.gql new file mode 100644 index 0000000..1777bbe --- /dev/null +++ b/src/gql/queries/events.gql @@ -0,0 +1,296 @@ +query events($blockHash: String!, $contractAddress: String!, $name: String){ + events(blockHash: $blockHash, contractAddress: $contractAddress, name: $name){ + block{ + cid + hash + number + timestamp + parentHash + } + tx{ + hash + index + from + to + } + contract + eventIndex + event{ + ... on ApprovalEvent { + owner + approved + tokenId + spender + value + } + ... on ApprovalForAllEvent { + owner + operator + approved + } + ... on BurnEvent { + lender + tokenId + } + ... on MemorializePositionEvent { + lender + tokenId + indexes + } + ... on MintEvent { + lender + pool + tokenId + } + ... on MoveLiquidityEvent { + lender + tokenId + fromIndex + toIndex + lpRedeemedFrom + lpAwardedTo + } + ... on RedeemPositionEvent { + lender + tokenId + indexes + } + ... on TransferEvent { + from + to + tokenId + value + } + ... on PoolCreatedEvent { + pool_ + subsetHash_ + } + ... on DelegateRewardClaimedEvent { + delegateeAddress + distributionId + rewardClaimed + } + ... on DistributionPeriodStartedEvent { + distributionId + startBlock + endBlock + } + ... on FundTreasuryEvent { + amount + treasuryBalance + } + ... on FundedSlateUpdatedEvent { + distributionId + fundedSlateHash + } + ... on ProposalCreatedEvent { + proposalId + proposer + targets + values + signatures + calldatas + startBlock + endBlock + description + } + ... on ProposalExecutedEvent { + proposalId + } + ... on VoteCastEvent { + voter + proposalId + support + weight + reason + } + ... on DelegateChangedEvent { + delegator + fromDelegate + toDelegate + } + ... on DelegateVotesChangedEvent { + delegate + previousBalance + newBalance + } + ... on AddCollateralEvent { + actor + index + amount + lpAwarded + } + ... on AddQuoteTokenEvent { + lender + index + amount + lpAwarded + lup + } + ... on ApproveLPTransferorsEvent { + lender + transferors + } + ... on AuctionNFTSettleEvent { + borrower + collateral + lp + index + } + ... on AuctionSettleEvent { + borrower + collateral + } + ... on BondWithdrawnEvent { + kicker + reciever + amount + } + ... on BucketBankruptcyEvent { + index + lpForfeited + } + ... on BucketTakeEvent { + borrower + index + amount + collateral + bondChange + isReward + } + ... on BucketTakeLPAwardedEvent { + taker + kicker + lpAwardedTaker + lpAwardedKicker + } + ... on DecreaseLPAllowanceEvent { + owner + spender + indexes + amounts + } + ... on DrawDebtEvent { + borrower + amountBorrowed + collateralPledged + lup + } + ... on FlashloanEvent { + receiver + token + amount + } + ... on IncreaseLPAllowanceEvent { + owner + spender + indexes + amounts + } + ... on InterestUpdateFailureEvent { + dummy + } + ... on KickEvent { + borrower + debt + collateral + bond + } + ... on KickReserveAuctionEvent { + claimableReservesRemaining + auctionPrice + currentBurnEpoch + } + ... on LoanStampedEvent { + borrower + } + ... on MoveQuoteTokenEvent { + lender + from + to + amount + lpRedeemedFrom + lpAwardedTo + lup + } + ... on RemoveCollateralEvent { + claimer + index + amount + lpRedeemed + } + ... on RemoveQuoteTokenEvent { + lender + index + amount + lpRedeemed + lup + } + ... on RepayDebtEvent { + borrower + quoteRepaid + collateralPulled + lup + } + ... on ReserveAuctionEvent { + claimableReservesRemaining + auctionPrice + currentBurnEpoch + } + ... on ResetInterestRateEvent { + oldRate + newRate + } + ... on RevokeLPAllowanceEvent { + owner + spender + indexes + } + ... on RevokeLPTransferorsEvent { + lender + transferors + } + ... on SettleEvent { + borrower + settledDebt + } + ... on TakeEvent { + borrower + amount + collateral + bondChange + isReward + } + ... on TransferLPEvent { + owner + newOwner + indexes + lp + } + ... on UpdateInterestRateEvent { + oldRate + newRate + } + ... on AddCollateralNFTEvent { + actor + index + tokenIds + lpAwarded + } + ... on DrawDebtNFTEvent { + borrower + amountBorrowed + tokenIdsPledged + lup + } + ... on MergeOrRemoveCollateralNFTEvent { + actor + collateralMerged + toIndexLps + } + } + proof{ + data + } + } +} \ No newline at end of file diff --git a/src/gql/queries/eventsInRange.gql b/src/gql/queries/eventsInRange.gql new file mode 100644 index 0000000..c10aded --- /dev/null +++ b/src/gql/queries/eventsInRange.gql @@ -0,0 +1,296 @@ +query eventsInRange($fromBlockNumber: Int!, $toBlockNumber: Int!){ + eventsInRange(fromBlockNumber: $fromBlockNumber, toBlockNumber: $toBlockNumber){ + block{ + cid + hash + number + timestamp + parentHash + } + tx{ + hash + index + from + to + } + contract + eventIndex + event{ + ... on ApprovalEvent { + owner + approved + tokenId + spender + value + } + ... on ApprovalForAllEvent { + owner + operator + approved + } + ... on BurnEvent { + lender + tokenId + } + ... on MemorializePositionEvent { + lender + tokenId + indexes + } + ... on MintEvent { + lender + pool + tokenId + } + ... on MoveLiquidityEvent { + lender + tokenId + fromIndex + toIndex + lpRedeemedFrom + lpAwardedTo + } + ... on RedeemPositionEvent { + lender + tokenId + indexes + } + ... on TransferEvent { + from + to + tokenId + value + } + ... on PoolCreatedEvent { + pool_ + subsetHash_ + } + ... on DelegateRewardClaimedEvent { + delegateeAddress + distributionId + rewardClaimed + } + ... on DistributionPeriodStartedEvent { + distributionId + startBlock + endBlock + } + ... on FundTreasuryEvent { + amount + treasuryBalance + } + ... on FundedSlateUpdatedEvent { + distributionId + fundedSlateHash + } + ... on ProposalCreatedEvent { + proposalId + proposer + targets + values + signatures + calldatas + startBlock + endBlock + description + } + ... on ProposalExecutedEvent { + proposalId + } + ... on VoteCastEvent { + voter + proposalId + support + weight + reason + } + ... on DelegateChangedEvent { + delegator + fromDelegate + toDelegate + } + ... on DelegateVotesChangedEvent { + delegate + previousBalance + newBalance + } + ... on AddCollateralEvent { + actor + index + amount + lpAwarded + } + ... on AddQuoteTokenEvent { + lender + index + amount + lpAwarded + lup + } + ... on ApproveLPTransferorsEvent { + lender + transferors + } + ... on AuctionNFTSettleEvent { + borrower + collateral + lp + index + } + ... on AuctionSettleEvent { + borrower + collateral + } + ... on BondWithdrawnEvent { + kicker + reciever + amount + } + ... on BucketBankruptcyEvent { + index + lpForfeited + } + ... on BucketTakeEvent { + borrower + index + amount + collateral + bondChange + isReward + } + ... on BucketTakeLPAwardedEvent { + taker + kicker + lpAwardedTaker + lpAwardedKicker + } + ... on DecreaseLPAllowanceEvent { + owner + spender + indexes + amounts + } + ... on DrawDebtEvent { + borrower + amountBorrowed + collateralPledged + lup + } + ... on FlashloanEvent { + receiver + token + amount + } + ... on IncreaseLPAllowanceEvent { + owner + spender + indexes + amounts + } + ... on InterestUpdateFailureEvent { + dummy + } + ... on KickEvent { + borrower + debt + collateral + bond + } + ... on KickReserveAuctionEvent { + claimableReservesRemaining + auctionPrice + currentBurnEpoch + } + ... on LoanStampedEvent { + borrower + } + ... on MoveQuoteTokenEvent { + lender + from + to + amount + lpRedeemedFrom + lpAwardedTo + lup + } + ... on RemoveCollateralEvent { + claimer + index + amount + lpRedeemed + } + ... on RemoveQuoteTokenEvent { + lender + index + amount + lpRedeemed + lup + } + ... on RepayDebtEvent { + borrower + quoteRepaid + collateralPulled + lup + } + ... on ReserveAuctionEvent { + claimableReservesRemaining + auctionPrice + currentBurnEpoch + } + ... on ResetInterestRateEvent { + oldRate + newRate + } + ... on RevokeLPAllowanceEvent { + owner + spender + indexes + } + ... on RevokeLPTransferorsEvent { + lender + transferors + } + ... on SettleEvent { + borrower + settledDebt + } + ... on TakeEvent { + borrower + amount + collateral + bondChange + isReward + } + ... on TransferLPEvent { + owner + newOwner + indexes + lp + } + ... on UpdateInterestRateEvent { + oldRate + newRate + } + ... on AddCollateralNFTEvent { + actor + index + tokenIds + lpAwarded + } + ... on DrawDebtNFTEvent { + borrower + amountBorrowed + tokenIdsPledged + lup + } + ... on MergeOrRemoveCollateralNFTEvent { + actor + collateralMerged + toIndexLps + } + } + proof{ + data + } + } +} \ No newline at end of file diff --git a/src/gql/queries/flashloan.gql b/src/gql/queries/flashloan.gql new file mode 100644 index 0000000..b7f9007 --- /dev/null +++ b/src/gql/queries/flashloan.gql @@ -0,0 +1,48 @@ +query flashloan($id: ID!, $block: Block_height){ + flashloan(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + amount + } +} \ No newline at end of file diff --git a/src/gql/queries/flashloans.gql b/src/gql/queries/flashloans.gql new file mode 100644 index 0000000..fda3907 --- /dev/null +++ b/src/gql/queries/flashloans.gql @@ -0,0 +1,48 @@ +query flashloans($block: Block_height, $where: Flashloan_filter, $orderBy: Flashloan_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + flashloans(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + amount + } +} \ No newline at end of file diff --git a/src/gql/queries/fundTreasuries.gql b/src/gql/queries/fundTreasuries.gql new file mode 100644 index 0000000..1a27653 --- /dev/null +++ b/src/gql/queries/fundTreasuries.gql @@ -0,0 +1,10 @@ +query fundTreasuries($block: Block_height, $where: FundTreasury_filter, $orderBy: FundTreasury_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + fundTreasuries(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + amount + treasuryBalance + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/fundTreasury.gql b/src/gql/queries/fundTreasury.gql new file mode 100644 index 0000000..e5430a0 --- /dev/null +++ b/src/gql/queries/fundTreasury.gql @@ -0,0 +1,10 @@ +query fundTreasury($id: ID!, $block: Block_height){ + fundTreasury(id: $id, block: $block){ + id + amount + treasuryBalance + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/fundedSlate.gql b/src/gql/queries/fundedSlate.gql new file mode 100644 index 0000000..3b8e240 --- /dev/null +++ b/src/gql/queries/fundedSlate.gql @@ -0,0 +1,30 @@ +query fundedSlate($id: ID!, $block: Block_height){ + fundedSlate(id: $id, block: $block){ + id + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + proposals{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + totalTokensRequested + totalFundingVotesReceived + updateBlock + } +} \ No newline at end of file diff --git a/src/gql/queries/fundedSlateUpdated.gql b/src/gql/queries/fundedSlateUpdated.gql new file mode 100644 index 0000000..3ceb61e --- /dev/null +++ b/src/gql/queries/fundedSlateUpdated.gql @@ -0,0 +1,10 @@ +query fundedSlateUpdated($id: ID!, $block: Block_height){ + fundedSlateUpdated(id: $id, block: $block){ + id + distributionId_ + fundedSlateHash_ + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/fundedSlateUpdateds.gql b/src/gql/queries/fundedSlateUpdateds.gql new file mode 100644 index 0000000..34b8c9f --- /dev/null +++ b/src/gql/queries/fundedSlateUpdateds.gql @@ -0,0 +1,10 @@ +query fundedSlateUpdateds($block: Block_height, $where: FundedSlateUpdated_filter, $orderBy: FundedSlateUpdated_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + fundedSlateUpdateds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + distributionId_ + fundedSlateHash_ + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/fundedSlates.gql b/src/gql/queries/fundedSlates.gql new file mode 100644 index 0000000..60871d1 --- /dev/null +++ b/src/gql/queries/fundedSlates.gql @@ -0,0 +1,30 @@ +query fundedSlates($block: Block_height, $where: FundedSlate_filter, $orderBy: FundedSlate_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + fundedSlates(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + proposals{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + totalTokensRequested + totalFundingVotesReceived + updateBlock + } +} \ No newline at end of file diff --git a/src/gql/queries/fundingVote.gql b/src/gql/queries/fundingVote.gql new file mode 100644 index 0000000..b48e80e --- /dev/null +++ b/src/gql/queries/fundingVote.gql @@ -0,0 +1,46 @@ +query fundingVote($id: ID!, $block: Block_height){ + fundingVote(id: $id, block: $block){ + id + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + voter{ + id + rewardsClaimed + tokensDelegated + txCount + } + proposal{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + totalVotesCast + votingPowerUsed + votesCast{ + id + voter + proposalId + support + weight + reason + blockNumber + blockTimestamp + transactionHash + } + } +} \ No newline at end of file diff --git a/src/gql/queries/fundingVotes.gql b/src/gql/queries/fundingVotes.gql new file mode 100644 index 0000000..1e2b2aa --- /dev/null +++ b/src/gql/queries/fundingVotes.gql @@ -0,0 +1,46 @@ +query fundingVotes($block: Block_height, $where: FundingVote_filter, $orderBy: FundingVote_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + fundingVotes(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + voter{ + id + rewardsClaimed + tokensDelegated + txCount + } + proposal{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + totalVotesCast + votingPowerUsed + votesCast{ + id + voter + proposalId + support + weight + reason + blockNumber + blockTimestamp + transactionHash + } + } +} \ No newline at end of file diff --git a/src/gql/queries/getState.gql b/src/gql/queries/getState.gql new file mode 100644 index 0000000..3b8f605 --- /dev/null +++ b/src/gql/queries/getState.gql @@ -0,0 +1,15 @@ +query getState($blockHash: String!, $contractAddress: String!, $kind: String){ + getState(blockHash: $blockHash, contractAddress: $contractAddress, kind: $kind){ + block{ + cid + hash + number + timestamp + parentHash + } + contractAddress + cid + kind + data + } +} \ No newline at end of file diff --git a/src/gql/queries/getStateByCID.gql b/src/gql/queries/getStateByCID.gql new file mode 100644 index 0000000..6c3c4fd --- /dev/null +++ b/src/gql/queries/getStateByCID.gql @@ -0,0 +1,15 @@ +query getStateByCID($cid: String!){ + getStateByCID(cid: $cid){ + block{ + cid + hash + number + timestamp + parentHash + } + contractAddress + cid + kind + data + } +} \ No newline at end of file diff --git a/src/gql/queries/getSyncStatus.gql b/src/gql/queries/getSyncStatus.gql new file mode 100644 index 0000000..48175b4 --- /dev/null +++ b/src/gql/queries/getSyncStatus.gql @@ -0,0 +1,12 @@ +query getSyncStatus{ + getSyncStatus{ + latestIndexedBlockHash + latestIndexedBlockNumber + latestCanonicalBlockHash + latestCanonicalBlockNumber + initialIndexedBlockHash + initialIndexedBlockNumber + latestProcessedBlockHash + latestProcessedBlockNumber + } +} \ No newline at end of file diff --git a/src/gql/queries/grantFund.gql b/src/gql/queries/grantFund.gql new file mode 100644 index 0000000..7e4bfdc --- /dev/null +++ b/src/gql/queries/grantFund.gql @@ -0,0 +1,18 @@ +query grantFund($id: ID!, $block: Block_height){ + grantFund(id: $id, block: $block){ + id + treasury + distributionPeriods{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + totalDelegationRewardsClaimed + } +} \ No newline at end of file diff --git a/src/gql/queries/grantFunds.gql b/src/gql/queries/grantFunds.gql new file mode 100644 index 0000000..068d17a --- /dev/null +++ b/src/gql/queries/grantFunds.gql @@ -0,0 +1,18 @@ +query grantFunds($block: Block_height, $where: GrantFund_filter, $orderBy: GrantFund_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + grantFunds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + treasury + distributionPeriods{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + totalDelegationRewardsClaimed + } +} \ No newline at end of file diff --git a/src/gql/queries/index.ts b/src/gql/queries/index.ts new file mode 100644 index 0000000..4d33d86 --- /dev/null +++ b/src/gql/queries/index.ts @@ -0,0 +1,143 @@ +import fs from 'fs'; +import path from 'path'; + +export const events = fs.readFileSync(path.join(__dirname, 'events.gql'), 'utf8'); +export const eventsInRange = fs.readFileSync(path.join(__dirname, 'eventsInRange.gql'), 'utf8'); +export const token = fs.readFileSync(path.join(__dirname, 'token.gql'), 'utf8'); +export const tokens = fs.readFileSync(path.join(__dirname, 'tokens.gql'), 'utf8'); +export const poolFactory = fs.readFileSync(path.join(__dirname, 'poolFactory.gql'), 'utf8'); +export const poolFactories = fs.readFileSync(path.join(__dirname, 'poolFactories.gql'), 'utf8'); +export const pool = fs.readFileSync(path.join(__dirname, 'pool.gql'), 'utf8'); +export const pools = fs.readFileSync(path.join(__dirname, 'pools.gql'), 'utf8'); +export const bucket = fs.readFileSync(path.join(__dirname, 'bucket.gql'), 'utf8'); +export const buckets = fs.readFileSync(path.join(__dirname, 'buckets.gql'), 'utf8'); +export const lend = fs.readFileSync(path.join(__dirname, 'lend.gql'), 'utf8'); +export const lends = fs.readFileSync(path.join(__dirname, 'lends.gql'), 'utf8'); +export const loan = fs.readFileSync(path.join(__dirname, 'loan.gql'), 'utf8'); +export const loans = fs.readFileSync(path.join(__dirname, 'loans.gql'), 'utf8'); +export const account = fs.readFileSync(path.join(__dirname, 'account.gql'), 'utf8'); +export const accounts = fs.readFileSync(path.join(__dirname, 'accounts.gql'), 'utf8'); +export const liquidationAuction = fs.readFileSync(path.join(__dirname, 'liquidationAuction.gql'), 'utf8'); +export const liquidationAuctions = fs.readFileSync(path.join(__dirname, 'liquidationAuctions.gql'), 'utf8'); +export const reserveAuction = fs.readFileSync(path.join(__dirname, 'reserveAuction.gql'), 'utf8'); +export const reserveAuctions = fs.readFileSync(path.join(__dirname, 'reserveAuctions.gql'), 'utf8'); +export const lptransferorList = fs.readFileSync(path.join(__dirname, 'lptransferorList.gql'), 'utf8'); +export const lptransferorLists = fs.readFileSync(path.join(__dirname, 'lptransferorLists.gql'), 'utf8'); +export const lpallowance = fs.readFileSync(path.join(__dirname, 'lpallowance.gql'), 'utf8'); +export const lpallowances = fs.readFileSync(path.join(__dirname, 'lpallowances.gql'), 'utf8'); +export const lpallowanceList = fs.readFileSync(path.join(__dirname, 'lpallowanceList.gql'), 'utf8'); +export const lpallowanceLists = fs.readFileSync(path.join(__dirname, 'lpallowanceLists.gql'), 'utf8'); +export const addCollateral = fs.readFileSync(path.join(__dirname, 'addCollateral.gql'), 'utf8'); +export const addCollaterals = fs.readFileSync(path.join(__dirname, 'addCollaterals.gql'), 'utf8'); +export const addQuoteToken = fs.readFileSync(path.join(__dirname, 'addQuoteToken.gql'), 'utf8'); +export const addQuoteTokens = fs.readFileSync(path.join(__dirname, 'addQuoteTokens.gql'), 'utf8'); +export const auctionSettle = fs.readFileSync(path.join(__dirname, 'auctionSettle.gql'), 'utf8'); +export const auctionSettles = fs.readFileSync(path.join(__dirname, 'auctionSettles.gql'), 'utf8'); +export const bondWithdrawn = fs.readFileSync(path.join(__dirname, 'bondWithdrawn.gql'), 'utf8'); +export const bondWithdrawns = fs.readFileSync(path.join(__dirname, 'bondWithdrawns.gql'), 'utf8'); +export const bucketBankruptcy = fs.readFileSync(path.join(__dirname, 'bucketBankruptcy.gql'), 'utf8'); +export const bucketBankruptcies = fs.readFileSync(path.join(__dirname, 'bucketBankruptcies.gql'), 'utf8'); +export const bucketTake = fs.readFileSync(path.join(__dirname, 'bucketTake.gql'), 'utf8'); +export const bucketTakes = fs.readFileSync(path.join(__dirname, 'bucketTakes.gql'), 'utf8'); +export const bucketTakeLPAwarded = fs.readFileSync(path.join(__dirname, 'bucketTakeLPAwarded.gql'), 'utf8'); +export const bucketTakeLPAwardeds = fs.readFileSync(path.join(__dirname, 'bucketTakeLPAwardeds.gql'), 'utf8'); +export const drawDebt = fs.readFileSync(path.join(__dirname, 'drawDebt.gql'), 'utf8'); +export const drawDebts = fs.readFileSync(path.join(__dirname, 'drawDebts.gql'), 'utf8'); +export const flashloan = fs.readFileSync(path.join(__dirname, 'flashloan.gql'), 'utf8'); +export const flashloans = fs.readFileSync(path.join(__dirname, 'flashloans.gql'), 'utf8'); +export const kick = fs.readFileSync(path.join(__dirname, 'kick.gql'), 'utf8'); +export const kicks = fs.readFileSync(path.join(__dirname, 'kicks.gql'), 'utf8'); +export const loanStamped = fs.readFileSync(path.join(__dirname, 'loanStamped.gql'), 'utf8'); +export const loanStampeds = fs.readFileSync(path.join(__dirname, 'loanStampeds.gql'), 'utf8'); +export const moveQuoteToken = fs.readFileSync(path.join(__dirname, 'moveQuoteToken.gql'), 'utf8'); +export const moveQuoteTokens = fs.readFileSync(path.join(__dirname, 'moveQuoteTokens.gql'), 'utf8'); +export const removeCollateral = fs.readFileSync(path.join(__dirname, 'removeCollateral.gql'), 'utf8'); +export const removeCollaterals = fs.readFileSync(path.join(__dirname, 'removeCollaterals.gql'), 'utf8'); +export const removeQuoteToken = fs.readFileSync(path.join(__dirname, 'removeQuoteToken.gql'), 'utf8'); +export const removeQuoteTokens = fs.readFileSync(path.join(__dirname, 'removeQuoteTokens.gql'), 'utf8'); +export const repayDebt = fs.readFileSync(path.join(__dirname, 'repayDebt.gql'), 'utf8'); +export const repayDebts = fs.readFileSync(path.join(__dirname, 'repayDebts.gql'), 'utf8'); +export const reserveAuctionKick = fs.readFileSync(path.join(__dirname, 'reserveAuctionKick.gql'), 'utf8'); +export const reserveAuctionKicks = fs.readFileSync(path.join(__dirname, 'reserveAuctionKicks.gql'), 'utf8'); +export const reserveAuctionTake = fs.readFileSync(path.join(__dirname, 'reserveAuctionTake.gql'), 'utf8'); +export const reserveAuctionTakes = fs.readFileSync(path.join(__dirname, 'reserveAuctionTakes.gql'), 'utf8'); +export const resetInterestRate = fs.readFileSync(path.join(__dirname, 'resetInterestRate.gql'), 'utf8'); +export const resetInterestRates = fs.readFileSync(path.join(__dirname, 'resetInterestRates.gql'), 'utf8'); +export const settle = fs.readFileSync(path.join(__dirname, 'settle.gql'), 'utf8'); +export const settles = fs.readFileSync(path.join(__dirname, 'settles.gql'), 'utf8'); +export const take = fs.readFileSync(path.join(__dirname, 'take.gql'), 'utf8'); +export const takes = fs.readFileSync(path.join(__dirname, 'takes.gql'), 'utf8'); +export const transferLP = fs.readFileSync(path.join(__dirname, 'transferLP.gql'), 'utf8'); +export const transferLPS = fs.readFileSync(path.join(__dirname, 'transferLPS.gql'), 'utf8'); +export const updateInterestRate = fs.readFileSync(path.join(__dirname, 'updateInterestRate.gql'), 'utf8'); +export const updateInterestRates = fs.readFileSync(path.join(__dirname, 'updateInterestRates.gql'), 'utf8'); +export const approval = fs.readFileSync(path.join(__dirname, 'approval.gql'), 'utf8'); +export const approvals = fs.readFileSync(path.join(__dirname, 'approvals.gql'), 'utf8'); +export const approvalForAll = fs.readFileSync(path.join(__dirname, 'approvalForAll.gql'), 'utf8'); +export const approvalForAlls = fs.readFileSync(path.join(__dirname, 'approvalForAlls.gql'), 'utf8'); +export const moveLiquidity = fs.readFileSync(path.join(__dirname, 'moveLiquidity.gql'), 'utf8'); +export const moveLiquidities = fs.readFileSync(path.join(__dirname, 'moveLiquidities.gql'), 'utf8'); +export const transfer = fs.readFileSync(path.join(__dirname, 'transfer.gql'), 'utf8'); +export const transfers = fs.readFileSync(path.join(__dirname, 'transfers.gql'), 'utf8'); +export const poolCreated = fs.readFileSync(path.join(__dirname, 'poolCreated.gql'), 'utf8'); +export const poolCreateds = fs.readFileSync(path.join(__dirname, 'poolCreateds.gql'), 'utf8'); +export const addCollateralNFT = fs.readFileSync(path.join(__dirname, 'addCollateralNFT.gql'), 'utf8'); +export const addCollateralNFTS = fs.readFileSync(path.join(__dirname, 'addCollateralNFTS.gql'), 'utf8'); +export const auctionNFTSettle = fs.readFileSync(path.join(__dirname, 'auctionNFTSettle.gql'), 'utf8'); +export const auctionNFTSettles = fs.readFileSync(path.join(__dirname, 'auctionNFTSettles.gql'), 'utf8'); +export const drawDebtNFT = fs.readFileSync(path.join(__dirname, 'drawDebtNFT.gql'), 'utf8'); +export const drawDebtNFTS = fs.readFileSync(path.join(__dirname, 'drawDebtNFTS.gql'), 'utf8'); +export const mergeOrRemoveCollateralNFT = fs.readFileSync(path.join(__dirname, 'mergeOrRemoveCollateralNFT.gql'), 'utf8'); +export const mergeOrRemoveCollateralNFTS = fs.readFileSync(path.join(__dirname, 'mergeOrRemoveCollateralNFTS.gql'), 'utf8'); +export const position = fs.readFileSync(path.join(__dirname, 'position.gql'), 'utf8'); +export const positions = fs.readFileSync(path.join(__dirname, 'positions.gql'), 'utf8'); +export const positionLend = fs.readFileSync(path.join(__dirname, 'positionLend.gql'), 'utf8'); +export const positionLends = fs.readFileSync(path.join(__dirname, 'positionLends.gql'), 'utf8'); +export const burn = fs.readFileSync(path.join(__dirname, 'burn.gql'), 'utf8'); +export const burns = fs.readFileSync(path.join(__dirname, 'burns.gql'), 'utf8'); +export const memorializePosition = fs.readFileSync(path.join(__dirname, 'memorializePosition.gql'), 'utf8'); +export const memorializePositions = fs.readFileSync(path.join(__dirname, 'memorializePositions.gql'), 'utf8'); +export const mint = fs.readFileSync(path.join(__dirname, 'mint.gql'), 'utf8'); +export const mints = fs.readFileSync(path.join(__dirname, 'mints.gql'), 'utf8'); +export const redeemPosition = fs.readFileSync(path.join(__dirname, 'redeemPosition.gql'), 'utf8'); +export const redeemPositions = fs.readFileSync(path.join(__dirname, 'redeemPositions.gql'), 'utf8'); +export const grantFund = fs.readFileSync(path.join(__dirname, 'grantFund.gql'), 'utf8'); +export const grantFunds = fs.readFileSync(path.join(__dirname, 'grantFunds.gql'), 'utf8'); +export const distributionPeriod = fs.readFileSync(path.join(__dirname, 'distributionPeriod.gql'), 'utf8'); +export const distributionPeriods = fs.readFileSync(path.join(__dirname, 'distributionPeriods.gql'), 'utf8'); +export const proposal = fs.readFileSync(path.join(__dirname, 'proposal.gql'), 'utf8'); +export const proposals = fs.readFileSync(path.join(__dirname, 'proposals.gql'), 'utf8'); +export const proposalParams = fs.readFileSync(path.join(__dirname, 'proposalParams.gql'), 'utf8'); +export const proposalParamss = fs.readFileSync(path.join(__dirname, 'proposalParamss.gql'), 'utf8'); +export const distributionPeriodVote = fs.readFileSync(path.join(__dirname, 'distributionPeriodVote.gql'), 'utf8'); +export const distributionPeriodVotes = fs.readFileSync(path.join(__dirname, 'distributionPeriodVotes.gql'), 'utf8'); +export const screeningVote = fs.readFileSync(path.join(__dirname, 'screeningVote.gql'), 'utf8'); +export const screeningVotes = fs.readFileSync(path.join(__dirname, 'screeningVotes.gql'), 'utf8'); +export const fundingVote = fs.readFileSync(path.join(__dirname, 'fundingVote.gql'), 'utf8'); +export const fundingVotes = fs.readFileSync(path.join(__dirname, 'fundingVotes.gql'), 'utf8'); +export const fundedSlate = fs.readFileSync(path.join(__dirname, 'fundedSlate.gql'), 'utf8'); +export const fundedSlates = fs.readFileSync(path.join(__dirname, 'fundedSlates.gql'), 'utf8'); +export const delegateRewardClaimed = fs.readFileSync(path.join(__dirname, 'delegateRewardClaimed.gql'), 'utf8'); +export const delegateRewardClaimeds = fs.readFileSync(path.join(__dirname, 'delegateRewardClaimeds.gql'), 'utf8'); +export const fundTreasury = fs.readFileSync(path.join(__dirname, 'fundTreasury.gql'), 'utf8'); +export const fundTreasuries = fs.readFileSync(path.join(__dirname, 'fundTreasuries.gql'), 'utf8'); +export const fundedSlateUpdated = fs.readFileSync(path.join(__dirname, 'fundedSlateUpdated.gql'), 'utf8'); +export const fundedSlateUpdateds = fs.readFileSync(path.join(__dirname, 'fundedSlateUpdateds.gql'), 'utf8'); +export const proposalCreated = fs.readFileSync(path.join(__dirname, 'proposalCreated.gql'), 'utf8'); +export const proposalCreateds = fs.readFileSync(path.join(__dirname, 'proposalCreateds.gql'), 'utf8'); +export const proposalExecuted = fs.readFileSync(path.join(__dirname, 'proposalExecuted.gql'), 'utf8'); +export const proposalExecuteds = fs.readFileSync(path.join(__dirname, 'proposalExecuteds.gql'), 'utf8'); +export const distributionPeriodStarted = fs.readFileSync(path.join(__dirname, 'distributionPeriodStarted.gql'), 'utf8'); +export const distributionPeriodStarteds = fs.readFileSync(path.join(__dirname, 'distributionPeriodStarteds.gql'), 'utf8'); +export const voteCast = fs.readFileSync(path.join(__dirname, 'voteCast.gql'), 'utf8'); +export const voteCasts = fs.readFileSync(path.join(__dirname, 'voteCasts.gql'), 'utf8'); +export const delegateChanged = fs.readFileSync(path.join(__dirname, 'delegateChanged.gql'), 'utf8'); +export const delegateChangeds = fs.readFileSync(path.join(__dirname, 'delegateChangeds.gql'), 'utf8'); +export const delegateVotesChanged = fs.readFileSync(path.join(__dirname, 'delegateVotesChanged.gql'), 'utf8'); +export const delegateVotesChangeds = fs.readFileSync(path.join(__dirname, 'delegateVotesChangeds.gql'), 'utf8'); +export const burnWrap = fs.readFileSync(path.join(__dirname, 'burnWrap.gql'), 'utf8'); +export const burnWraps = fs.readFileSync(path.join(__dirname, 'burnWraps.gql'), 'utf8'); +export const _meta = fs.readFileSync(path.join(__dirname, '_meta.gql'), 'utf8'); +export const getStateByCID = fs.readFileSync(path.join(__dirname, 'getStateByCID.gql'), 'utf8'); +export const getState = fs.readFileSync(path.join(__dirname, 'getState.gql'), 'utf8'); +export const getSyncStatus = fs.readFileSync(path.join(__dirname, 'getSyncStatus.gql'), 'utf8'); diff --git a/src/gql/queries/kick.gql b/src/gql/queries/kick.gql new file mode 100644 index 0000000..fb0cffa --- /dev/null +++ b/src/gql/queries/kick.gql @@ -0,0 +1,86 @@ +query kick($id: ID!, $block: Block_height){ + kick(id: $id, block: $block){ + id + kicker + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + locked + claimable + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + borrower + debt + collateral + bond + startingPrice + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/kicks.gql b/src/gql/queries/kicks.gql new file mode 100644 index 0000000..c8f84c2 --- /dev/null +++ b/src/gql/queries/kicks.gql @@ -0,0 +1,86 @@ +query kicks($block: Block_height, $where: Kick_filter, $orderBy: Kick_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + kicks(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + kicker + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + locked + claimable + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + borrower + debt + collateral + bond + startingPrice + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/lend.gql b/src/gql/queries/lend.gql new file mode 100644 index 0000000..4afe3fe --- /dev/null +++ b/src/gql/queries/lend.gql @@ -0,0 +1,62 @@ +query lend($id: ID!, $block: Block_height){ + lend(id: $id, block: $block){ + id + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + bucketIndex + poolAddress + lender + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lpb + lpbValueInQuote + depositTime + } +} \ No newline at end of file diff --git a/src/gql/queries/lends.gql b/src/gql/queries/lends.gql new file mode 100644 index 0000000..fb7470c --- /dev/null +++ b/src/gql/queries/lends.gql @@ -0,0 +1,62 @@ +query lends($block: Block_height, $where: Lend_filter, $orderBy: Lend_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + lends(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + bucketIndex + poolAddress + lender + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lpb + lpbValueInQuote + depositTime + } +} \ No newline at end of file diff --git a/src/gql/queries/liquidationAuction.gql b/src/gql/queries/liquidationAuction.gql new file mode 100644 index 0000000..59c115b --- /dev/null +++ b/src/gql/queries/liquidationAuction.gql @@ -0,0 +1,129 @@ +query liquidationAuction($id: ID!, $block: Block_height){ + liquidationAuction(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + kicker + kick{ + id + kicker + locked + claimable + borrower + debt + collateral + bond + startingPrice + blockNumber + blockTimestamp + transactionHash + } + kickTime + takes{ + id + taker + borrower + auctionPrice + amount + collateral + bondChange + isReward + blockNumber + blockTimestamp + transactionHash + } + bucketTakes{ + id + borrower + taker + index + auctionPrice + amount + collateral + bondChange + isReward + blockNumber + blockTimestamp + transactionHash + } + settles{ + id + borrower + settledDebt + blockNumber + blockTimestamp + transactionHash + } + settle{ + id + borrower + collateral + blockNumber + blockTimestamp + transactionHash + } + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } +} \ No newline at end of file diff --git a/src/gql/queries/liquidationAuctions.gql b/src/gql/queries/liquidationAuctions.gql new file mode 100644 index 0000000..454f5a3 --- /dev/null +++ b/src/gql/queries/liquidationAuctions.gql @@ -0,0 +1,129 @@ +query liquidationAuctions($block: Block_height, $where: LiquidationAuction_filter, $orderBy: LiquidationAuction_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + liquidationAuctions(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + kicker + kick{ + id + kicker + locked + claimable + borrower + debt + collateral + bond + startingPrice + blockNumber + blockTimestamp + transactionHash + } + kickTime + takes{ + id + taker + borrower + auctionPrice + amount + collateral + bondChange + isReward + blockNumber + blockTimestamp + transactionHash + } + bucketTakes{ + id + borrower + taker + index + auctionPrice + amount + collateral + bondChange + isReward + blockNumber + blockTimestamp + transactionHash + } + settles{ + id + borrower + settledDebt + blockNumber + blockTimestamp + transactionHash + } + settle{ + id + borrower + collateral + blockNumber + blockTimestamp + transactionHash + } + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } +} \ No newline at end of file diff --git a/src/gql/queries/loan.gql b/src/gql/queries/loan.gql new file mode 100644 index 0000000..613135a --- /dev/null +++ b/src/gql/queries/loan.gql @@ -0,0 +1,72 @@ +query loan($id: ID!, $block: Block_height){ + loan(id: $id, block: $block){ + id + poolAddress + borrower + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + inLiquidation + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } +} \ No newline at end of file diff --git a/src/gql/queries/loanStamped.gql b/src/gql/queries/loanStamped.gql new file mode 100644 index 0000000..b05035e --- /dev/null +++ b/src/gql/queries/loanStamped.gql @@ -0,0 +1,50 @@ +query loanStamped($id: ID!, $block: Block_height){ + loanStamped(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/loanStampeds.gql b/src/gql/queries/loanStampeds.gql new file mode 100644 index 0000000..883cea2 --- /dev/null +++ b/src/gql/queries/loanStampeds.gql @@ -0,0 +1,50 @@ +query loanStampeds($block: Block_height, $where: LoanStamped_filter, $orderBy: LoanStamped_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + loanStampeds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/loans.gql b/src/gql/queries/loans.gql new file mode 100644 index 0000000..9383549 --- /dev/null +++ b/src/gql/queries/loans.gql @@ -0,0 +1,72 @@ +query loans($block: Block_height, $where: Loan_filter, $orderBy: Loan_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + loans(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + poolAddress + borrower + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + inLiquidation + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } +} \ No newline at end of file diff --git a/src/gql/queries/lpallowance.gql b/src/gql/queries/lpallowance.gql new file mode 100644 index 0000000..cb0a350 --- /dev/null +++ b/src/gql/queries/lpallowance.gql @@ -0,0 +1,7 @@ +query lpallowance($id: ID!, $block: Block_height){ + lpallowance(id: $id, block: $block){ + id + index + amount + } +} \ No newline at end of file diff --git a/src/gql/queries/lpallowanceList.gql b/src/gql/queries/lpallowanceList.gql new file mode 100644 index 0000000..0fce397 --- /dev/null +++ b/src/gql/queries/lpallowanceList.gql @@ -0,0 +1,53 @@ +query lpallowanceList($id: ID!, $block: Block_height){ + lpallowanceList(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + spender + allowances{ + id + index + amount + } + } +} \ No newline at end of file diff --git a/src/gql/queries/lpallowanceLists.gql b/src/gql/queries/lpallowanceLists.gql new file mode 100644 index 0000000..31b5780 --- /dev/null +++ b/src/gql/queries/lpallowanceLists.gql @@ -0,0 +1,53 @@ +query lpallowanceLists($block: Block_height, $where: LPAllowanceList_filter, $orderBy: LPAllowanceList_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + lpallowanceLists(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + spender + allowances{ + id + index + amount + } + } +} \ No newline at end of file diff --git a/src/gql/queries/lpallowances.gql b/src/gql/queries/lpallowances.gql new file mode 100644 index 0000000..cd44baa --- /dev/null +++ b/src/gql/queries/lpallowances.gql @@ -0,0 +1,7 @@ +query lpallowances($block: Block_height, $where: LPAllowance_filter, $orderBy: LPAllowance_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + lpallowances(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + index + amount + } +} \ No newline at end of file diff --git a/src/gql/queries/lptransferorList.gql b/src/gql/queries/lptransferorList.gql new file mode 100644 index 0000000..d518fab --- /dev/null +++ b/src/gql/queries/lptransferorList.gql @@ -0,0 +1,48 @@ +query lptransferorList($id: ID!, $block: Block_height){ + lptransferorList(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + transferors + } +} \ No newline at end of file diff --git a/src/gql/queries/lptransferorLists.gql b/src/gql/queries/lptransferorLists.gql new file mode 100644 index 0000000..b099122 --- /dev/null +++ b/src/gql/queries/lptransferorLists.gql @@ -0,0 +1,48 @@ +query lptransferorLists($block: Block_height, $where: LPTransferorList_filter, $orderBy: LPTransferorList_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + lptransferorLists(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + transferors + } +} \ No newline at end of file diff --git a/src/gql/queries/memorializePosition.gql b/src/gql/queries/memorializePosition.gql new file mode 100644 index 0000000..f71c4a9 --- /dev/null +++ b/src/gql/queries/memorializePosition.gql @@ -0,0 +1,52 @@ +query memorializePosition($id: ID!, $block: Block_height){ + memorializePosition(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + tokenId + indexes + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/memorializePositions.gql b/src/gql/queries/memorializePositions.gql new file mode 100644 index 0000000..d1c1600 --- /dev/null +++ b/src/gql/queries/memorializePositions.gql @@ -0,0 +1,52 @@ +query memorializePositions($block: Block_height, $where: MemorializePosition_filter, $orderBy: MemorializePosition_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + memorializePositions(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + tokenId + indexes + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/mergeOrRemoveCollateralNFT.gql b/src/gql/queries/mergeOrRemoveCollateralNFT.gql new file mode 100644 index 0000000..f242535 --- /dev/null +++ b/src/gql/queries/mergeOrRemoveCollateralNFT.gql @@ -0,0 +1,52 @@ +query mergeOrRemoveCollateralNFT($id: ID!, $block: Block_height){ + mergeOrRemoveCollateralNFT(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + actor + collateralMerged + toIndexLps + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/mergeOrRemoveCollateralNFTS.gql b/src/gql/queries/mergeOrRemoveCollateralNFTS.gql new file mode 100644 index 0000000..f9345ec --- /dev/null +++ b/src/gql/queries/mergeOrRemoveCollateralNFTS.gql @@ -0,0 +1,52 @@ +query mergeOrRemoveCollateralNFTS($block: Block_height, $where: MergeOrRemoveCollateralNFT_filter, $orderBy: MergeOrRemoveCollateralNFT_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + mergeOrRemoveCollateralNFTS(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + actor + collateralMerged + toIndexLps + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/mint.gql b/src/gql/queries/mint.gql new file mode 100644 index 0000000..58ce77f --- /dev/null +++ b/src/gql/queries/mint.gql @@ -0,0 +1,51 @@ +query mint($id: ID!, $block: Block_height){ + mint(id: $id, block: $block){ + id + lender + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + tokenId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/mints.gql b/src/gql/queries/mints.gql new file mode 100644 index 0000000..3b5d756 --- /dev/null +++ b/src/gql/queries/mints.gql @@ -0,0 +1,51 @@ +query mints($block: Block_height, $where: Mint_filter, $orderBy: Mint_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + mints(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + lender + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + tokenId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/moveLiquidities.gql b/src/gql/queries/moveLiquidities.gql new file mode 100644 index 0000000..af5fe35 --- /dev/null +++ b/src/gql/queries/moveLiquidities.gql @@ -0,0 +1,53 @@ +query moveLiquidities($block: Block_height, $where: MoveLiquidity_filter, $orderBy: MoveLiquidity_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + moveLiquidities(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + lender + tokenId + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + fromIndex + toIndex + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/moveLiquidity.gql b/src/gql/queries/moveLiquidity.gql new file mode 100644 index 0000000..9504ae5 --- /dev/null +++ b/src/gql/queries/moveLiquidity.gql @@ -0,0 +1,53 @@ +query moveLiquidity($id: ID!, $block: Block_height){ + moveLiquidity(id: $id, block: $block){ + id + lender + tokenId + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + fromIndex + toIndex + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/moveQuoteToken.gql b/src/gql/queries/moveQuoteToken.gql new file mode 100644 index 0000000..f6b05a8 --- /dev/null +++ b/src/gql/queries/moveQuoteToken.gql @@ -0,0 +1,74 @@ +query moveQuoteToken($id: ID!, $block: Block_height){ + moveQuoteToken(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + from{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + to{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + amount + lpRedeemedFrom + lpAwardedTo + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/moveQuoteTokens.gql b/src/gql/queries/moveQuoteTokens.gql new file mode 100644 index 0000000..e4d71aa --- /dev/null +++ b/src/gql/queries/moveQuoteTokens.gql @@ -0,0 +1,74 @@ +query moveQuoteTokens($block: Block_height, $where: MoveQuoteToken_filter, $orderBy: MoveQuoteToken_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + moveQuoteTokens(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + from{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + to{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + amount + lpRedeemedFrom + lpAwardedTo + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/pool.gql b/src/gql/queries/pool.gql new file mode 100644 index 0000000..519faac --- /dev/null +++ b/src/gql/queries/pool.gql @@ -0,0 +1,88 @@ +query pool($id: ID!, $block: Block_height){ + pool(id: $id, block: $block){ + id + createdAtBlockNumber + createdAtTimestamp + collateralToken{ + id + symbol + name + decimals + tokenType + poolCount + totalSupply + txCount + } + quoteToken{ + id + symbol + name + decimals + tokenType + poolCount + totalSupply + txCount + } + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + reserveAuctions{ + id + claimableReservesRemaining + lastTakePrice + burnEpoch + ajnaBurned + } + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + liquidationAuctions{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } +} \ No newline at end of file diff --git a/src/gql/queries/poolCreated.gql b/src/gql/queries/poolCreated.gql new file mode 100644 index 0000000..b77681f --- /dev/null +++ b/src/gql/queries/poolCreated.gql @@ -0,0 +1,56 @@ +query poolCreated($id: ID!, $block: Block_height){ + poolCreated(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + poolType + factory{ + id + poolType + poolCount + txCount + } + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/poolCreateds.gql b/src/gql/queries/poolCreateds.gql new file mode 100644 index 0000000..56146c2 --- /dev/null +++ b/src/gql/queries/poolCreateds.gql @@ -0,0 +1,56 @@ +query poolCreateds($block: Block_height, $where: PoolCreated_filter, $orderBy: PoolCreated_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + poolCreateds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + poolType + factory{ + id + poolType + poolCount + txCount + } + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/poolFactories.gql b/src/gql/queries/poolFactories.gql new file mode 100644 index 0000000..765705c --- /dev/null +++ b/src/gql/queries/poolFactories.gql @@ -0,0 +1,49 @@ +query poolFactories($block: Block_height, $where: PoolFactory_filter, $orderBy: PoolFactory_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + poolFactories(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + poolType + poolCount + pools{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + txCount + } +} \ No newline at end of file diff --git a/src/gql/queries/poolFactory.gql b/src/gql/queries/poolFactory.gql new file mode 100644 index 0000000..63796b3 --- /dev/null +++ b/src/gql/queries/poolFactory.gql @@ -0,0 +1,49 @@ +query poolFactory($id: ID!, $block: Block_height){ + poolFactory(id: $id, block: $block){ + id + poolType + poolCount + pools{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + txCount + } +} \ No newline at end of file diff --git a/src/gql/queries/pools.gql b/src/gql/queries/pools.gql new file mode 100644 index 0000000..b7d19c0 --- /dev/null +++ b/src/gql/queries/pools.gql @@ -0,0 +1,88 @@ +query pools($block: Block_height, $where: Pool_filter, $orderBy: Pool_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + pools(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + createdAtBlockNumber + createdAtTimestamp + collateralToken{ + id + symbol + name + decimals + tokenType + poolCount + totalSupply + txCount + } + quoteToken{ + id + symbol + name + decimals + tokenType + poolCount + totalSupply + txCount + } + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + reserveAuctions{ + id + claimableReservesRemaining + lastTakePrice + burnEpoch + ajnaBurned + } + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + liquidationAuctions{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } +} \ No newline at end of file diff --git a/src/gql/queries/position.gql b/src/gql/queries/position.gql new file mode 100644 index 0000000..4a484dc --- /dev/null +++ b/src/gql/queries/position.gql @@ -0,0 +1,67 @@ +query position($id: ID!, $block: Block_height){ + position(id: $id, block: $block){ + id + tokenId + indexes{ + id + bucketIndex + depositTime + lpb + lpbValueInQuote + tokenId + } + owner + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + token{ + id + symbol + name + decimals + tokenType + poolCount + totalSupply + txCount + } + tokenURI + } +} \ No newline at end of file diff --git a/src/gql/queries/positionLend.gql b/src/gql/queries/positionLend.gql new file mode 100644 index 0000000..edc7569 --- /dev/null +++ b/src/gql/queries/positionLend.gql @@ -0,0 +1,20 @@ +query positionLend($id: ID!, $block: Block_height){ + positionLend(id: $id, block: $block){ + id + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + bucketIndex + depositTime + lpb + lpbValueInQuote + tokenId + } +} \ No newline at end of file diff --git a/src/gql/queries/positionLends.gql b/src/gql/queries/positionLends.gql new file mode 100644 index 0000000..a423821 --- /dev/null +++ b/src/gql/queries/positionLends.gql @@ -0,0 +1,20 @@ +query positionLends($block: Block_height, $where: PositionLend_filter, $orderBy: PositionLend_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + positionLends(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + bucketIndex + depositTime + lpb + lpbValueInQuote + tokenId + } +} \ No newline at end of file diff --git a/src/gql/queries/positions.gql b/src/gql/queries/positions.gql new file mode 100644 index 0000000..0733b37 --- /dev/null +++ b/src/gql/queries/positions.gql @@ -0,0 +1,67 @@ +query positions($block: Block_height, $where: Position_filter, $orderBy: Position_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + positions(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + tokenId + indexes{ + id + bucketIndex + depositTime + lpb + lpbValueInQuote + tokenId + } + owner + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + token{ + id + symbol + name + decimals + tokenType + poolCount + totalSupply + txCount + } + tokenURI + } +} \ No newline at end of file diff --git a/src/gql/queries/proposal.gql b/src/gql/queries/proposal.gql new file mode 100644 index 0000000..175c6a2 --- /dev/null +++ b/src/gql/queries/proposal.gql @@ -0,0 +1,32 @@ +query proposal($id: ID!, $block: Block_height){ + proposal(id: $id, block: $block){ + id + proposalId + description + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + params{ + id + target + value + calldata + recipient + tokensRequested + } + } +} \ No newline at end of file diff --git a/src/gql/queries/proposalCreated.gql b/src/gql/queries/proposalCreated.gql new file mode 100644 index 0000000..2b93031 --- /dev/null +++ b/src/gql/queries/proposalCreated.gql @@ -0,0 +1,27 @@ +query proposalCreated($id: ID!, $block: Block_height){ + proposalCreated(id: $id, block: $block){ + id + proposal{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + proposer + targets + values + signatures + calldatas + startBlock + endBlock + description + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/proposalCreateds.gql b/src/gql/queries/proposalCreateds.gql new file mode 100644 index 0000000..afb0ea8 --- /dev/null +++ b/src/gql/queries/proposalCreateds.gql @@ -0,0 +1,27 @@ +query proposalCreateds($block: Block_height, $where: ProposalCreated_filter, $orderBy: ProposalCreated_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + proposalCreateds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + proposal{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + proposer + targets + values + signatures + calldatas + startBlock + endBlock + description + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/proposalExecuted.gql b/src/gql/queries/proposalExecuted.gql new file mode 100644 index 0000000..f311333 --- /dev/null +++ b/src/gql/queries/proposalExecuted.gql @@ -0,0 +1,9 @@ +query proposalExecuted($id: ID!, $block: Block_height){ + proposalExecuted(id: $id, block: $block){ + id + proposalId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/proposalExecuteds.gql b/src/gql/queries/proposalExecuteds.gql new file mode 100644 index 0000000..5b47b34 --- /dev/null +++ b/src/gql/queries/proposalExecuteds.gql @@ -0,0 +1,9 @@ +query proposalExecuteds($block: Block_height, $where: ProposalExecuted_filter, $orderBy: ProposalExecuted_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + proposalExecuteds(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + proposalId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/proposalParams.gql b/src/gql/queries/proposalParams.gql new file mode 100644 index 0000000..ed5ed9f --- /dev/null +++ b/src/gql/queries/proposalParams.gql @@ -0,0 +1,10 @@ +query proposalParams($id: ID!, $block: Block_height){ + proposalParams(id: $id, block: $block){ + id + target + value + calldata + recipient + tokensRequested + } +} \ No newline at end of file diff --git a/src/gql/queries/proposalParamss.gql b/src/gql/queries/proposalParamss.gql new file mode 100644 index 0000000..4595cc7 --- /dev/null +++ b/src/gql/queries/proposalParamss.gql @@ -0,0 +1,10 @@ +query proposalParamss($block: Block_height, $where: ProposalParams_filter, $orderBy: ProposalParams_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + proposalParamss(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + target + value + calldata + recipient + tokensRequested + } +} \ No newline at end of file diff --git a/src/gql/queries/proposals.gql b/src/gql/queries/proposals.gql new file mode 100644 index 0000000..9ff6b7d --- /dev/null +++ b/src/gql/queries/proposals.gql @@ -0,0 +1,32 @@ +query proposals($block: Block_height, $where: Proposal_filter, $orderBy: Proposal_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + proposals(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + proposalId + description + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + params{ + id + target + value + calldata + recipient + tokensRequested + } + } +} \ No newline at end of file diff --git a/src/gql/queries/redeemPosition.gql b/src/gql/queries/redeemPosition.gql new file mode 100644 index 0000000..3fa6f0d --- /dev/null +++ b/src/gql/queries/redeemPosition.gql @@ -0,0 +1,52 @@ +query redeemPosition($id: ID!, $block: Block_height){ + redeemPosition(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + tokenId + indexes + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/redeemPositions.gql b/src/gql/queries/redeemPositions.gql new file mode 100644 index 0000000..53248b8 --- /dev/null +++ b/src/gql/queries/redeemPositions.gql @@ -0,0 +1,52 @@ +query redeemPositions($block: Block_height, $where: RedeemPosition_filter, $orderBy: RedeemPosition_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + redeemPositions(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + lender + tokenId + indexes + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/removeCollateral.gql b/src/gql/queries/removeCollateral.gql new file mode 100644 index 0000000..dbe8fde --- /dev/null +++ b/src/gql/queries/removeCollateral.gql @@ -0,0 +1,63 @@ +query removeCollateral($id: ID!, $block: Block_height){ + removeCollateral(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + claimer + index + amount + lpRedeemed + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/removeCollaterals.gql b/src/gql/queries/removeCollaterals.gql new file mode 100644 index 0000000..076a614 --- /dev/null +++ b/src/gql/queries/removeCollaterals.gql @@ -0,0 +1,63 @@ +query removeCollaterals($block: Block_height, $where: RemoveCollateral_filter, $orderBy: RemoveCollateral_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + removeCollaterals(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + claimer + index + amount + lpRedeemed + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/removeQuoteToken.gql b/src/gql/queries/removeQuoteToken.gql new file mode 100644 index 0000000..f999bf8 --- /dev/null +++ b/src/gql/queries/removeQuoteToken.gql @@ -0,0 +1,64 @@ +query removeQuoteToken($id: ID!, $block: Block_height){ + removeQuoteToken(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + lender + index + amount + lpRedeemed + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/removeQuoteTokens.gql b/src/gql/queries/removeQuoteTokens.gql new file mode 100644 index 0000000..0e7345c --- /dev/null +++ b/src/gql/queries/removeQuoteTokens.gql @@ -0,0 +1,64 @@ +query removeQuoteTokens($block: Block_height, $where: RemoveQuoteToken_filter, $orderBy: RemoveQuoteToken_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + removeQuoteTokens(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + bucket{ + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + collateral + deposit + lpb + } + lender + index + amount + lpRedeemed + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/repayDebt.gql b/src/gql/queries/repayDebt.gql new file mode 100644 index 0000000..40dbb80 --- /dev/null +++ b/src/gql/queries/repayDebt.gql @@ -0,0 +1,53 @@ +query repayDebt($id: ID!, $block: Block_height){ + repayDebt(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + quoteRepaid + collateralPulled + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/repayDebts.gql b/src/gql/queries/repayDebts.gql new file mode 100644 index 0000000..c4e90af --- /dev/null +++ b/src/gql/queries/repayDebts.gql @@ -0,0 +1,53 @@ +query repayDebts($block: Block_height, $where: RepayDebt_filter, $orderBy: RepayDebt_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + repayDebts(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + quoteRepaid + collateralPulled + lup + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/reserveAuction.gql b/src/gql/queries/reserveAuction.gql new file mode 100644 index 0000000..dbf1472 --- /dev/null +++ b/src/gql/queries/reserveAuction.gql @@ -0,0 +1,70 @@ +query reserveAuction($id: ID!, $block: Block_height){ + reserveAuction(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + claimableReservesRemaining + lastTakePrice + burnEpoch + kick{ + id + kicker + claimableReserves + startingPrice + blockNumber + blockTimestamp + transactionHash + } + takes{ + id + taker + claimableReservesRemaining + auctionPrice + quotePurchased + ajnaBurned + blockNumber + blockTimestamp + transactionHash + } + ajnaBurned + } +} \ No newline at end of file diff --git a/src/gql/queries/reserveAuctionKick.gql b/src/gql/queries/reserveAuctionKick.gql new file mode 100644 index 0000000..f33ec17 --- /dev/null +++ b/src/gql/queries/reserveAuctionKick.gql @@ -0,0 +1,59 @@ +query reserveAuctionKick($id: ID!, $block: Block_height){ + reserveAuctionKick(id: $id, block: $block){ + id + kicker + reserveAuction{ + id + claimableReservesRemaining + lastTakePrice + burnEpoch + ajnaBurned + } + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + claimableReserves + startingPrice + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/reserveAuctionKicks.gql b/src/gql/queries/reserveAuctionKicks.gql new file mode 100644 index 0000000..3282629 --- /dev/null +++ b/src/gql/queries/reserveAuctionKicks.gql @@ -0,0 +1,59 @@ +query reserveAuctionKicks($block: Block_height, $where: ReserveAuctionKick_filter, $orderBy: ReserveAuctionKick_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + reserveAuctionKicks(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + kicker + reserveAuction{ + id + claimableReservesRemaining + lastTakePrice + burnEpoch + ajnaBurned + } + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + claimableReserves + startingPrice + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/reserveAuctionTake.gql b/src/gql/queries/reserveAuctionTake.gql new file mode 100644 index 0000000..fab33b5 --- /dev/null +++ b/src/gql/queries/reserveAuctionTake.gql @@ -0,0 +1,61 @@ +query reserveAuctionTake($id: ID!, $block: Block_height){ + reserveAuctionTake(id: $id, block: $block){ + id + taker + reserveAuction{ + id + claimableReservesRemaining + lastTakePrice + burnEpoch + ajnaBurned + } + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + claimableReservesRemaining + auctionPrice + quotePurchased + ajnaBurned + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/reserveAuctionTakes.gql b/src/gql/queries/reserveAuctionTakes.gql new file mode 100644 index 0000000..86ac88d --- /dev/null +++ b/src/gql/queries/reserveAuctionTakes.gql @@ -0,0 +1,61 @@ +query reserveAuctionTakes($block: Block_height, $where: ReserveAuctionTake_filter, $orderBy: ReserveAuctionTake_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + reserveAuctionTakes(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + taker + reserveAuction{ + id + claimableReservesRemaining + lastTakePrice + burnEpoch + ajnaBurned + } + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + claimableReservesRemaining + auctionPrice + quotePurchased + ajnaBurned + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/reserveAuctions.gql b/src/gql/queries/reserveAuctions.gql new file mode 100644 index 0000000..37086ed --- /dev/null +++ b/src/gql/queries/reserveAuctions.gql @@ -0,0 +1,70 @@ +query reserveAuctions($block: Block_height, $where: ReserveAuction_filter, $orderBy: ReserveAuction_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + reserveAuctions(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + claimableReservesRemaining + lastTakePrice + burnEpoch + kick{ + id + kicker + claimableReserves + startingPrice + blockNumber + blockTimestamp + transactionHash + } + takes{ + id + taker + claimableReservesRemaining + auctionPrice + quotePurchased + ajnaBurned + blockNumber + blockTimestamp + transactionHash + } + ajnaBurned + } +} \ No newline at end of file diff --git a/src/gql/queries/resetInterestRate.gql b/src/gql/queries/resetInterestRate.gql new file mode 100644 index 0000000..6aab8f1 --- /dev/null +++ b/src/gql/queries/resetInterestRate.gql @@ -0,0 +1,53 @@ +query resetInterestRate($id: ID!, $block: Block_height){ + resetInterestRate(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + oldBorrowRate + newBorrowRate + oldLendRate + newLendRate + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/resetInterestRates.gql b/src/gql/queries/resetInterestRates.gql new file mode 100644 index 0000000..4f48270 --- /dev/null +++ b/src/gql/queries/resetInterestRates.gql @@ -0,0 +1,53 @@ +query resetInterestRates($block: Block_height, $where: ResetInterestRate_filter, $orderBy: ResetInterestRate_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + resetInterestRates(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + oldBorrowRate + newBorrowRate + oldLendRate + newLendRate + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/screeningVote.gql b/src/gql/queries/screeningVote.gql new file mode 100644 index 0000000..c611a5b --- /dev/null +++ b/src/gql/queries/screeningVote.gql @@ -0,0 +1,45 @@ +query screeningVote($id: ID!, $block: Block_height){ + screeningVote(id: $id, block: $block){ + id + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + voter{ + id + rewardsClaimed + tokensDelegated + txCount + } + proposal{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + totalVotesCast + votesCast{ + id + voter + proposalId + support + weight + reason + blockNumber + blockTimestamp + transactionHash + } + } +} \ No newline at end of file diff --git a/src/gql/queries/screeningVotes.gql b/src/gql/queries/screeningVotes.gql new file mode 100644 index 0000000..5edca0b --- /dev/null +++ b/src/gql/queries/screeningVotes.gql @@ -0,0 +1,45 @@ +query screeningVotes($block: Block_height, $where: ScreeningVote_filter, $orderBy: ScreeningVote_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + screeningVotes(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + distribution{ + id + distributionId + startBlock + endBlock + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + totalTokensDistributed + } + voter{ + id + rewardsClaimed + tokensDelegated + txCount + } + proposal{ + id + proposalId + description + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + } + totalVotesCast + votesCast{ + id + voter + proposalId + support + weight + reason + blockNumber + blockTimestamp + transactionHash + } + } +} \ No newline at end of file diff --git a/src/gql/queries/settle.gql b/src/gql/queries/settle.gql new file mode 100644 index 0000000..f1fe90d --- /dev/null +++ b/src/gql/queries/settle.gql @@ -0,0 +1,80 @@ +query settle($id: ID!, $block: Block_height){ + settle(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + borrower + settledDebt + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/settles.gql b/src/gql/queries/settles.gql new file mode 100644 index 0000000..d92f769 --- /dev/null +++ b/src/gql/queries/settles.gql @@ -0,0 +1,80 @@ +query settles($block: Block_height, $where: Settle_filter, $orderBy: Settle_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + settles(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + borrower + settledDebt + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/take.gql b/src/gql/queries/take.gql new file mode 100644 index 0000000..028ffcf --- /dev/null +++ b/src/gql/queries/take.gql @@ -0,0 +1,85 @@ +query take($id: ID!, $block: Block_height){ + take(id: $id, block: $block){ + id + taker + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + auctionPrice + amount + collateral + bondChange + isReward + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/takes.gql b/src/gql/queries/takes.gql new file mode 100644 index 0000000..04c5ac8 --- /dev/null +++ b/src/gql/queries/takes.gql @@ -0,0 +1,85 @@ +query takes($block: Block_height, $where: Take_filter, $orderBy: Take_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + takes(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + taker + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + borrower + liquidationAuction{ + id + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + kicker + kickTime + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice + } + loan{ + id + poolAddress + borrower + inLiquidation + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np + } + auctionPrice + amount + collateral + bondChange + isReward + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/token.gql b/src/gql/queries/token.gql new file mode 100644 index 0000000..8ca3037 --- /dev/null +++ b/src/gql/queries/token.gql @@ -0,0 +1,53 @@ +query token($id: ID!, $block: Block_height){ + token(id: $id, block: $block){ + id + symbol + name + decimals + tokenType + poolCount + pools{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + totalSupply + txCount + } +} \ No newline at end of file diff --git a/src/gql/queries/tokens.gql b/src/gql/queries/tokens.gql new file mode 100644 index 0000000..41f3a1c --- /dev/null +++ b/src/gql/queries/tokens.gql @@ -0,0 +1,53 @@ +query tokens($block: Block_height, $where: Token_filter, $orderBy: Token_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + tokens(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + symbol + name + decimals + tokenType + poolCount + pools{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + totalSupply + txCount + } +} \ No newline at end of file diff --git a/src/gql/queries/transfer.gql b/src/gql/queries/transfer.gql new file mode 100644 index 0000000..df80880 --- /dev/null +++ b/src/gql/queries/transfer.gql @@ -0,0 +1,62 @@ +query transfer($id: ID!, $block: Block_height){ + transfer(id: $id, block: $block){ + id + token{ + id + symbol + name + decimals + tokenType + poolCount + totalSupply + txCount + } + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + from + to + tokenId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/transferLP.gql b/src/gql/queries/transferLP.gql new file mode 100644 index 0000000..73f2fb5 --- /dev/null +++ b/src/gql/queries/transferLP.gql @@ -0,0 +1,12 @@ +query transferLP($id: ID!, $block: Block_height){ + transferLP(id: $id, block: $block){ + id + owner + newOwner + indexes + lp + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/transferLPS.gql b/src/gql/queries/transferLPS.gql new file mode 100644 index 0000000..fd5fe06 --- /dev/null +++ b/src/gql/queries/transferLPS.gql @@ -0,0 +1,12 @@ +query transferLPS($block: Block_height, $where: TransferLP_filter, $orderBy: TransferLP_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + transferLPS(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + owner + newOwner + indexes + lp + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/transfers.gql b/src/gql/queries/transfers.gql new file mode 100644 index 0000000..da0373f --- /dev/null +++ b/src/gql/queries/transfers.gql @@ -0,0 +1,62 @@ +query transfers($block: Block_height, $where: Transfer_filter, $orderBy: Transfer_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + transfers(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + token{ + id + symbol + name + decimals + tokenType + poolCount + totalSupply + txCount + } + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + from + to + tokenId + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/updateInterestRate.gql b/src/gql/queries/updateInterestRate.gql new file mode 100644 index 0000000..a8b41b2 --- /dev/null +++ b/src/gql/queries/updateInterestRate.gql @@ -0,0 +1,55 @@ +query updateInterestRate($id: ID!, $block: Block_height){ + updateInterestRate(id: $id, block: $block){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + oldBorrowRate + newBorrowRate + oldLendRate + newLendRate + borrowFeeRate + depositFeeRate + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/updateInterestRates.gql b/src/gql/queries/updateInterestRates.gql new file mode 100644 index 0000000..e75770d --- /dev/null +++ b/src/gql/queries/updateInterestRates.gql @@ -0,0 +1,55 @@ +query updateInterestRates($block: Block_height, $where: UpdateInterestRate_filter, $orderBy: UpdateInterestRate_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + updateInterestRates(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + pool{ + id + createdAtBlockNumber + createdAtTimestamp + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed + } + oldBorrowRate + newBorrowRate + oldLendRate + newLendRate + borrowFeeRate + depositFeeRate + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/voteCast.gql b/src/gql/queries/voteCast.gql new file mode 100644 index 0000000..13c3fde --- /dev/null +++ b/src/gql/queries/voteCast.gql @@ -0,0 +1,13 @@ +query voteCast($id: ID!, $block: Block_height){ + voteCast(id: $id, block: $block){ + id + voter + proposalId + support + weight + reason + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/queries/voteCasts.gql b/src/gql/queries/voteCasts.gql new file mode 100644 index 0000000..20627b1 --- /dev/null +++ b/src/gql/queries/voteCasts.gql @@ -0,0 +1,13 @@ +query voteCasts($block: Block_height, $where: VoteCast_filter, $orderBy: VoteCast_orderBy, $orderDirection: OrderDirection, $first: Int, $skip: Int){ + voteCasts(block: $block, where: $where, orderBy: $orderBy, orderDirection: $orderDirection, first: $first, skip: $skip){ + id + voter + proposalId + support + weight + reason + blockNumber + blockTimestamp + transactionHash + } +} \ No newline at end of file diff --git a/src/gql/subscriptions/index.ts b/src/gql/subscriptions/index.ts new file mode 100644 index 0000000..f12910c --- /dev/null +++ b/src/gql/subscriptions/index.ts @@ -0,0 +1,4 @@ +import fs from 'fs'; +import path from 'path'; + +export const onEvent = fs.readFileSync(path.join(__dirname, 'onEvent.gql'), 'utf8'); diff --git a/src/gql/subscriptions/onEvent.gql b/src/gql/subscriptions/onEvent.gql new file mode 100644 index 0000000..636f90f --- /dev/null +++ b/src/gql/subscriptions/onEvent.gql @@ -0,0 +1,296 @@ +subscription onEvent{ + onEvent{ + block{ + cid + hash + number + timestamp + parentHash + } + tx{ + hash + index + from + to + } + contract + eventIndex + event{ + ... on ApprovalEvent { + owner + approved + tokenId + spender + value + } + ... on ApprovalForAllEvent { + owner + operator + approved + } + ... on BurnEvent { + lender + tokenId + } + ... on MemorializePositionEvent { + lender + tokenId + indexes + } + ... on MintEvent { + lender + pool + tokenId + } + ... on MoveLiquidityEvent { + lender + tokenId + fromIndex + toIndex + lpRedeemedFrom + lpAwardedTo + } + ... on RedeemPositionEvent { + lender + tokenId + indexes + } + ... on TransferEvent { + from + to + tokenId + value + } + ... on PoolCreatedEvent { + pool_ + subsetHash_ + } + ... on DelegateRewardClaimedEvent { + delegateeAddress + distributionId + rewardClaimed + } + ... on DistributionPeriodStartedEvent { + distributionId + startBlock + endBlock + } + ... on FundTreasuryEvent { + amount + treasuryBalance + } + ... on FundedSlateUpdatedEvent { + distributionId + fundedSlateHash + } + ... on ProposalCreatedEvent { + proposalId + proposer + targets + values + signatures + calldatas + startBlock + endBlock + description + } + ... on ProposalExecutedEvent { + proposalId + } + ... on VoteCastEvent { + voter + proposalId + support + weight + reason + } + ... on DelegateChangedEvent { + delegator + fromDelegate + toDelegate + } + ... on DelegateVotesChangedEvent { + delegate + previousBalance + newBalance + } + ... on AddCollateralEvent { + actor + index + amount + lpAwarded + } + ... on AddQuoteTokenEvent { + lender + index + amount + lpAwarded + lup + } + ... on ApproveLPTransferorsEvent { + lender + transferors + } + ... on AuctionNFTSettleEvent { + borrower + collateral + lp + index + } + ... on AuctionSettleEvent { + borrower + collateral + } + ... on BondWithdrawnEvent { + kicker + reciever + amount + } + ... on BucketBankruptcyEvent { + index + lpForfeited + } + ... on BucketTakeEvent { + borrower + index + amount + collateral + bondChange + isReward + } + ... on BucketTakeLPAwardedEvent { + taker + kicker + lpAwardedTaker + lpAwardedKicker + } + ... on DecreaseLPAllowanceEvent { + owner + spender + indexes + amounts + } + ... on DrawDebtEvent { + borrower + amountBorrowed + collateralPledged + lup + } + ... on FlashloanEvent { + receiver + token + amount + } + ... on IncreaseLPAllowanceEvent { + owner + spender + indexes + amounts + } + ... on InterestUpdateFailureEvent { + dummy + } + ... on KickEvent { + borrower + debt + collateral + bond + } + ... on KickReserveAuctionEvent { + claimableReservesRemaining + auctionPrice + currentBurnEpoch + } + ... on LoanStampedEvent { + borrower + } + ... on MoveQuoteTokenEvent { + lender + from + to + amount + lpRedeemedFrom + lpAwardedTo + lup + } + ... on RemoveCollateralEvent { + claimer + index + amount + lpRedeemed + } + ... on RemoveQuoteTokenEvent { + lender + index + amount + lpRedeemed + lup + } + ... on RepayDebtEvent { + borrower + quoteRepaid + collateralPulled + lup + } + ... on ReserveAuctionEvent { + claimableReservesRemaining + auctionPrice + currentBurnEpoch + } + ... on ResetInterestRateEvent { + oldRate + newRate + } + ... on RevokeLPAllowanceEvent { + owner + spender + indexes + } + ... on RevokeLPTransferorsEvent { + lender + transferors + } + ... on SettleEvent { + borrower + settledDebt + } + ... on TakeEvent { + borrower + amount + collateral + bondChange + isReward + } + ... on TransferLPEvent { + owner + newOwner + indexes + lp + } + ... on UpdateInterestRateEvent { + oldRate + newRate + } + ... on AddCollateralNFTEvent { + actor + index + tokenIds + lpAwarded + } + ... on DrawDebtNFTEvent { + borrower + amountBorrowed + tokenIdsPledged + lup + } + ... on MergeOrRemoveCollateralNFTEvent { + actor + collateralMerged + toIndexLps + } + } + proof{ + data + } + } +} \ No newline at end of file diff --git a/src/hooks.ts b/src/hooks.ts new file mode 100644 index 0000000..d45498b --- /dev/null +++ b/src/hooks.ts @@ -0,0 +1,86 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import assert from 'assert'; + +import { + ResultEvent, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + updateStateForMappingType, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + updateStateForElementaryType +} from '@cerc-io/util'; + +import { Indexer } from './indexer'; + +/** + * Hook function to store an initial state. + * @param indexer Indexer instance. + * @param blockHash Hash of the concerned block. + * @param contractAddress Address of the concerned contract. + * @returns Data block to be stored. + */ +export async function createInitialState (indexer: Indexer, contractAddress: string, blockHash: string): Promise { + assert(indexer); + assert(blockHash); + assert(contractAddress); + + // Store an empty State. + const stateData: any = { + state: {} + }; + + // Use updateStateForElementaryType to update initial state with an elementary property. + // Eg. const stateData = updateStateForElementaryType(stateData, '_totalBalance', result.value.toString()); + + // Use updateStateForMappingType to update initial state with a nested property. + // Eg. const stateData = updateStateForMappingType(stateData, '_allowances', [owner, spender], allowance.value.toString()); + + // Return initial state data to be saved. + return stateData; +} + +/** + * Hook function to create state diff. + * @param indexer Indexer instance that contains methods to fetch the contract variable values. + * @param blockHash Block hash of the concerned block. + */ +export async function createStateDiff (indexer: Indexer, blockHash: string): Promise { + assert(indexer); + assert(blockHash); + + // Use indexer.createDiff() method to save custom state diff(s). +} + +/** + * Hook function to create state checkpoint + * @param indexer Indexer instance. + * @param contractAddress Address of the concerned contract. + * @param blockHash Block hash of the concerned block. + * @returns Whether to disable default checkpoint. If false, the state from this hook is updated with that from default checkpoint. + */ +export async function createStateCheckpoint (indexer: Indexer, contractAddress: string, blockHash: string): Promise { + assert(indexer); + assert(blockHash); + assert(contractAddress); + + // Use indexer.createStateCheckpoint() method to create a custom checkpoint. + + // Return false to update the state created by this hook by auto-generated checkpoint state. + // Return true to disable update of the state created by this hook by auto-generated checkpoint state. + return false; +} + +/** + * Event hook function. + * @param indexer Indexer instance that contains methods to fetch and update the contract values in the database. + * @param eventData ResultEvent object containing event information. + */ +export async function handleEvent (indexer: Indexer, eventData: ResultEvent): Promise { + assert(indexer); + assert(eventData); + + // Use indexer methods to index data. + // Pass `diff` parameter to indexer methods as true to save an auto-generated state from the indexed data. +} diff --git a/src/indexer.ts b/src/indexer.ts new file mode 100644 index 0000000..2077a4f --- /dev/null +++ b/src/indexer.ts @@ -0,0 +1,2289 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import assert from 'assert'; +import { DeepPartial, FindConditions, FindManyOptions, ObjectLiteral } from 'typeorm'; +import debug from 'debug'; +import { ethers, constants } from 'ethers'; +import { SelectionNode } from 'graphql'; + +import { JsonFragment } from '@ethersproject/abi'; +import { BaseProvider } from '@ethersproject/providers'; +import { MappingKey, StorageLayout } from '@cerc-io/solidity-mapper'; +import { + Indexer as BaseIndexer, + IndexerInterface, + ValueResult, + ServerConfig, + JobQueue, + Where, + QueryOptions, + BlockHeight, + ResultMeta, + updateSubgraphState, + dumpSubgraphState, + GraphWatcherInterface, + StateKind, + StateStatus, + ResultEvent, + getResultEvent, + DatabaseInterface, + Clients, + EthClient, + UpstreamConfig, + EthFullBlock, + EthFullTransaction, + ExtraEventData +} from '@cerc-io/util'; +import { GraphWatcher } from '@cerc-io/graph-node'; + +import PositionManagerArtifacts from './artifacts/PositionManager.json'; +import ERC20PoolFactoryArtifacts from './artifacts/ERC20PoolFactory.json'; +import ERC721PoolFactoryArtifacts from './artifacts/ERC721PoolFactory.json'; +import GrantFundArtifacts from './artifacts/GrantFund.json'; +import AjnaTokenArtifacts from './artifacts/AjnaToken.json'; +import BurnWrappedAjnaArtifacts from './artifacts/BurnWrappedAjna.json'; +import ERC20PoolArtifacts from './artifacts/ERC20Pool.json'; +import ERC721PoolArtifacts from './artifacts/ERC721Pool.json'; +import { Database, ENTITIES, SUBGRAPH_ENTITIES } from './database'; +import { createInitialState, handleEvent, createStateDiff, createStateCheckpoint } from './hooks'; +import { Contract } from './entity/Contract'; +import { Event } from './entity/Event'; +import { SyncStatus } from './entity/SyncStatus'; +import { StateSyncStatus } from './entity/StateSyncStatus'; +import { BlockProgress } from './entity/BlockProgress'; +import { State } from './entity/State'; +/* eslint-disable @typescript-eslint/no-unused-vars */ +import { Token } from './entity/Token'; +import { PoolFactory } from './entity/PoolFactory'; +import { Pool } from './entity/Pool'; +import { Bucket } from './entity/Bucket'; +import { Lend } from './entity/Lend'; +import { Loan } from './entity/Loan'; +import { Account } from './entity/Account'; +import { LiquidationAuction } from './entity/LiquidationAuction'; +import { ReserveAuction } from './entity/ReserveAuction'; +import { LPTransferorList } from './entity/LPTransferorList'; +import { LPAllowance } from './entity/LPAllowance'; +import { LPAllowanceList } from './entity/LPAllowanceList'; +import { AddCollateral } from './entity/AddCollateral'; +import { AddQuoteToken } from './entity/AddQuoteToken'; +import { AuctionSettle } from './entity/AuctionSettle'; +import { BondWithdrawn } from './entity/BondWithdrawn'; +import { BucketBankruptcy } from './entity/BucketBankruptcy'; +import { BucketTake } from './entity/BucketTake'; +import { BucketTakeLPAwarded } from './entity/BucketTakeLPAwarded'; +import { DrawDebt } from './entity/DrawDebt'; +import { Flashloan } from './entity/Flashloan'; +import { Kick } from './entity/Kick'; +import { LoanStamped } from './entity/LoanStamped'; +import { MoveQuoteToken } from './entity/MoveQuoteToken'; +import { RemoveCollateral } from './entity/RemoveCollateral'; +import { RemoveQuoteToken } from './entity/RemoveQuoteToken'; +import { RepayDebt } from './entity/RepayDebt'; +import { ReserveAuctionKick } from './entity/ReserveAuctionKick'; +import { ReserveAuctionTake } from './entity/ReserveAuctionTake'; +import { ResetInterestRate } from './entity/ResetInterestRate'; +import { Settle } from './entity/Settle'; +import { Take } from './entity/Take'; +import { TransferLP } from './entity/TransferLP'; +import { UpdateInterestRate } from './entity/UpdateInterestRate'; +import { Approval } from './entity/Approval'; +import { ApprovalForAll } from './entity/ApprovalForAll'; +import { MoveLiquidity } from './entity/MoveLiquidity'; +import { Transfer } from './entity/Transfer'; +import { PoolCreated } from './entity/PoolCreated'; +import { AddCollateralNFT } from './entity/AddCollateralNFT'; +import { AuctionNFTSettle } from './entity/AuctionNFTSettle'; +import { DrawDebtNFT } from './entity/DrawDebtNFT'; +import { MergeOrRemoveCollateralNFT } from './entity/MergeOrRemoveCollateralNFT'; +import { Position } from './entity/Position'; +import { PositionLend } from './entity/PositionLend'; +import { Burn } from './entity/Burn'; +import { MemorializePosition } from './entity/MemorializePosition'; +import { Mint } from './entity/Mint'; +import { RedeemPosition } from './entity/RedeemPosition'; +import { GrantFund } from './entity/GrantFund'; +import { DistributionPeriod } from './entity/DistributionPeriod'; +import { Proposal } from './entity/Proposal'; +import { ProposalParams } from './entity/ProposalParams'; +import { DistributionPeriodVote } from './entity/DistributionPeriodVote'; +import { ScreeningVote } from './entity/ScreeningVote'; +import { FundingVote } from './entity/FundingVote'; +import { FundedSlate } from './entity/FundedSlate'; +import { DelegateRewardClaimed } from './entity/DelegateRewardClaimed'; +import { FundTreasury } from './entity/FundTreasury'; +import { FundedSlateUpdated } from './entity/FundedSlateUpdated'; +import { ProposalCreated } from './entity/ProposalCreated'; +import { ProposalExecuted } from './entity/ProposalExecuted'; +import { DistributionPeriodStarted } from './entity/DistributionPeriodStarted'; +import { VoteCast } from './entity/VoteCast'; +import { DelegateChanged } from './entity/DelegateChanged'; +import { DelegateVotesChanged } from './entity/DelegateVotesChanged'; +import { BurnWrap } from './entity/BurnWrap'; +/* eslint-enable @typescript-eslint/no-unused-vars */ + +import { FrothyEntity } from './entity/FrothyEntity'; + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +const log = debug('vulcanize:indexer'); + +const KIND_POSITIONMANAGER = 'PositionManager'; + +const KIND_ERC20POOLFACTORY = 'ERC20PoolFactory'; + +const KIND_ERC721POOLFACTORY = 'ERC721PoolFactory'; + +const KIND_GRANTFUND = 'GrantFund'; + +const KIND_AJNATOKEN = 'AjnaToken'; + +const KIND_BURNWRAPPEDAJNA = 'BurnWrappedAjna'; + +const KIND_ERC20POOL = 'ERC20Pool'; + +const KIND_ERC721POOL = 'ERC721Pool'; + +export class Indexer implements IndexerInterface { + _db: Database; + _ethClient: EthClient; + _ethProvider: BaseProvider; + _baseIndexer: BaseIndexer; + _serverConfig: ServerConfig; + _upstreamConfig: UpstreamConfig; + _graphWatcher: GraphWatcher; + + _abiMap: Map; + _storageLayoutMap: Map; + _contractMap: Map; + eventSignaturesMap: Map; + + _entityTypesMap: Map; + _relationsMap: Map; + + _subgraphStateMap: Map; + + constructor ( + config: { + server: ServerConfig; + upstream: UpstreamConfig; + }, + db: DatabaseInterface, + clients: Clients, + ethProvider: BaseProvider, + jobQueue: JobQueue, + graphWatcher?: GraphWatcherInterface + ) { + assert(db); + assert(clients.ethClient); + + this._db = db as Database; + this._ethClient = clients.ethClient; + this._ethProvider = ethProvider; + this._serverConfig = config.server; + this._upstreamConfig = config.upstream; + this._baseIndexer = new BaseIndexer(config, this._db, this._ethClient, this._ethProvider, jobQueue); + assert(graphWatcher); + this._graphWatcher = graphWatcher as GraphWatcher; + + this._abiMap = new Map(); + this._storageLayoutMap = new Map(); + this._contractMap = new Map(); + this.eventSignaturesMap = new Map(); + + const { abi: PositionManagerABI } = PositionManagerArtifacts; + + const { abi: ERC20PoolFactoryABI } = ERC20PoolFactoryArtifacts; + + const { abi: ERC721PoolFactoryABI } = ERC721PoolFactoryArtifacts; + + const { abi: GrantFundABI } = GrantFundArtifacts; + + const { abi: AjnaTokenABI } = AjnaTokenArtifacts; + + const { abi: BurnWrappedAjnaABI } = BurnWrappedAjnaArtifacts; + + const { abi: ERC20PoolABI } = ERC20PoolArtifacts; + + const { abi: ERC721PoolABI } = ERC721PoolArtifacts; + + assert(PositionManagerABI); + this._abiMap.set(KIND_POSITIONMANAGER, PositionManagerABI); + + const PositionManagerContractInterface = new ethers.utils.Interface(PositionManagerABI); + this._contractMap.set(KIND_POSITIONMANAGER, PositionManagerContractInterface); + + const PositionManagerEventSignatures = Object.values(PositionManagerContractInterface.events).map(value => { + return PositionManagerContractInterface.getEventTopic(value); + }); + this.eventSignaturesMap.set(KIND_POSITIONMANAGER, PositionManagerEventSignatures); + + assert(ERC20PoolFactoryABI); + this._abiMap.set(KIND_ERC20POOLFACTORY, ERC20PoolFactoryABI); + + const ERC20PoolFactoryContractInterface = new ethers.utils.Interface(ERC20PoolFactoryABI); + this._contractMap.set(KIND_ERC20POOLFACTORY, ERC20PoolFactoryContractInterface); + + const ERC20PoolFactoryEventSignatures = Object.values(ERC20PoolFactoryContractInterface.events).map(value => { + return ERC20PoolFactoryContractInterface.getEventTopic(value); + }); + this.eventSignaturesMap.set(KIND_ERC20POOLFACTORY, ERC20PoolFactoryEventSignatures); + + assert(ERC721PoolFactoryABI); + this._abiMap.set(KIND_ERC721POOLFACTORY, ERC721PoolFactoryABI); + + const ERC721PoolFactoryContractInterface = new ethers.utils.Interface(ERC721PoolFactoryABI); + this._contractMap.set(KIND_ERC721POOLFACTORY, ERC721PoolFactoryContractInterface); + + const ERC721PoolFactoryEventSignatures = Object.values(ERC721PoolFactoryContractInterface.events).map(value => { + return ERC721PoolFactoryContractInterface.getEventTopic(value); + }); + this.eventSignaturesMap.set(KIND_ERC721POOLFACTORY, ERC721PoolFactoryEventSignatures); + + assert(GrantFundABI); + this._abiMap.set(KIND_GRANTFUND, GrantFundABI); + + const GrantFundContractInterface = new ethers.utils.Interface(GrantFundABI); + this._contractMap.set(KIND_GRANTFUND, GrantFundContractInterface); + + const GrantFundEventSignatures = Object.values(GrantFundContractInterface.events).map(value => { + return GrantFundContractInterface.getEventTopic(value); + }); + this.eventSignaturesMap.set(KIND_GRANTFUND, GrantFundEventSignatures); + + assert(AjnaTokenABI); + this._abiMap.set(KIND_AJNATOKEN, AjnaTokenABI); + + const AjnaTokenContractInterface = new ethers.utils.Interface(AjnaTokenABI); + this._contractMap.set(KIND_AJNATOKEN, AjnaTokenContractInterface); + + const AjnaTokenEventSignatures = Object.values(AjnaTokenContractInterface.events).map(value => { + return AjnaTokenContractInterface.getEventTopic(value); + }); + this.eventSignaturesMap.set(KIND_AJNATOKEN, AjnaTokenEventSignatures); + + assert(BurnWrappedAjnaABI); + this._abiMap.set(KIND_BURNWRAPPEDAJNA, BurnWrappedAjnaABI); + + const BurnWrappedAjnaContractInterface = new ethers.utils.Interface(BurnWrappedAjnaABI); + this._contractMap.set(KIND_BURNWRAPPEDAJNA, BurnWrappedAjnaContractInterface); + + const BurnWrappedAjnaEventSignatures = Object.values(BurnWrappedAjnaContractInterface.events).map(value => { + return BurnWrappedAjnaContractInterface.getEventTopic(value); + }); + this.eventSignaturesMap.set(KIND_BURNWRAPPEDAJNA, BurnWrappedAjnaEventSignatures); + + assert(ERC20PoolABI); + this._abiMap.set(KIND_ERC20POOL, ERC20PoolABI); + + const ERC20PoolContractInterface = new ethers.utils.Interface(ERC20PoolABI); + this._contractMap.set(KIND_ERC20POOL, ERC20PoolContractInterface); + + const ERC20PoolEventSignatures = Object.values(ERC20PoolContractInterface.events).map(value => { + return ERC20PoolContractInterface.getEventTopic(value); + }); + this.eventSignaturesMap.set(KIND_ERC20POOL, ERC20PoolEventSignatures); + + assert(ERC721PoolABI); + this._abiMap.set(KIND_ERC721POOL, ERC721PoolABI); + + const ERC721PoolContractInterface = new ethers.utils.Interface(ERC721PoolABI); + this._contractMap.set(KIND_ERC721POOL, ERC721PoolContractInterface); + + const ERC721PoolEventSignatures = Object.values(ERC721PoolContractInterface.events).map(value => { + return ERC721PoolContractInterface.getEventTopic(value); + }); + this.eventSignaturesMap.set(KIND_ERC721POOL, ERC721PoolEventSignatures); + + this._entityTypesMap = new Map(); + this._populateEntityTypesMap(); + + this._relationsMap = new Map(); + this._populateRelationsMap(); + + this._subgraphStateMap = new Map(); + } + + get serverConfig (): ServerConfig { + return this._serverConfig; + } + + get upstreamConfig (): UpstreamConfig { + return this._upstreamConfig; + } + + get storageLayoutMap (): Map { + return this._storageLayoutMap; + } + + get graphWatcher (): GraphWatcher { + return this._graphWatcher; + } + + async init (): Promise { + await this._baseIndexer.fetchContracts(); + await this._baseIndexer.fetchStateStatus(); + } + + async getMetaData (block: BlockHeight): Promise { + return this._baseIndexer.getMetaData(block); + } + + getResultEvent (event: Event): ResultEvent { + return getResultEvent(event); + } + + async getStorageValue (storageLayout: StorageLayout, blockHash: string, contractAddress: string, variable: string, ...mappingKeys: MappingKey[]): Promise { + return this._baseIndexer.getStorageValue( + storageLayout, + blockHash, + contractAddress, + variable, + ...mappingKeys + ); + } + + async getEntitiesForBlock (blockHash: string, tableName: string): Promise { + return this._db.getEntitiesForBlock(blockHash, tableName); + } + + async processInitialState (contractAddress: string, blockHash: string): Promise { + // Call initial state hook. + return createInitialState(this, contractAddress, blockHash); + } + + async processStateCheckpoint (contractAddress: string, blockHash: string): Promise { + // Call checkpoint hook. + return createStateCheckpoint(this, contractAddress, blockHash); + } + + async processCanonicalBlock (blockHash: string, blockNumber: number): Promise { + console.time('time:indexer#processCanonicalBlock-finalize_auto_diffs'); + // Finalize staged diff blocks if any. + await this._baseIndexer.finalizeDiffStaged(blockHash); + console.timeEnd('time:indexer#processCanonicalBlock-finalize_auto_diffs'); + + // Call custom stateDiff hook. + await createStateDiff(this, blockHash); + + this._graphWatcher.pruneEntityCacheFrothyBlocks(blockHash, blockNumber); + } + + async processCheckpoint (blockHash: string): Promise { + // Return if checkpointInterval is <= 0. + const checkpointInterval = this._serverConfig.checkpointInterval; + if (checkpointInterval <= 0) return; + + console.time('time:indexer#processCheckpoint-checkpoint'); + await this._baseIndexer.processCheckpoint(this, blockHash, checkpointInterval); + console.timeEnd('time:indexer#processCheckpoint-checkpoint'); + } + + async processCLICheckpoint (contractAddress: string, blockHash?: string): Promise { + return this._baseIndexer.processCLICheckpoint(this, contractAddress, blockHash); + } + + async getPrevState (blockHash: string, contractAddress: string, kind?: string): Promise { + return this._db.getPrevState(blockHash, contractAddress, kind); + } + + async getLatestState (contractAddress: string, kind: StateKind | null, blockNumber?: number): Promise { + return this._db.getLatestState(contractAddress, kind, blockNumber); + } + + async getStatesByHash (blockHash: string): Promise { + return this._baseIndexer.getStatesByHash(blockHash); + } + + async getStateByCID (cid: string): Promise { + return this._baseIndexer.getStateByCID(cid); + } + + async getStates (where: FindConditions): Promise { + return this._db.getStates(where); + } + + getStateData (state: State): any { + return this._baseIndexer.getStateData(state); + } + + // Method used to create auto diffs (diff_staged). + async createDiffStaged (contractAddress: string, blockHash: string, data: any): Promise { + console.time('time:indexer#createDiffStaged-auto_diff'); + await this._baseIndexer.createDiffStaged(contractAddress, blockHash, data); + console.timeEnd('time:indexer#createDiffStaged-auto_diff'); + } + + // Method to be used by createStateDiff hook. + async createDiff (contractAddress: string, blockHash: string, data: any): Promise { + const block = await this.getBlockProgress(blockHash); + assert(block); + + await this._baseIndexer.createDiff(contractAddress, block, data); + } + + // Method to be used by createStateCheckpoint hook. + async createStateCheckpoint (contractAddress: string, blockHash: string, data: any): Promise { + const block = await this.getBlockProgress(blockHash); + assert(block); + + return this._baseIndexer.createStateCheckpoint(contractAddress, block, data); + } + + // Method to be used by export-state CLI. + async createCheckpoint (contractAddress: string, blockHash: string): Promise { + const block = await this.getBlockProgress(blockHash); + assert(block); + + return this._baseIndexer.createCheckpoint(this, contractAddress, block); + } + + // Method to be used by fill-state CLI. + async createInit (blockHash: string, blockNumber: number): Promise { + // Create initial state for contracts. + await this._baseIndexer.createInit(this, blockHash, blockNumber); + } + + async saveOrUpdateState (state: State): Promise { + return this._baseIndexer.saveOrUpdateState(state); + } + + async removeStates (blockNumber: number, kind: StateKind): Promise { + await this._baseIndexer.removeStates(blockNumber, kind); + } + + async getSubgraphEntity ( + entity: new () => Entity, + id: string, + block: BlockHeight, + selections: ReadonlyArray = [] + ): Promise { + const data = await this._graphWatcher.getEntity(entity, id, this._relationsMap, block, selections); + + return data; + } + + async getSubgraphEntities ( + entity: new () => Entity, + block: BlockHeight, + where: { [key: string]: any } = {}, + queryOptions: QueryOptions = {}, + selections: ReadonlyArray = [] + ): Promise { + return this._graphWatcher.getEntities(entity, this._relationsMap, block, where, queryOptions, selections); + } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + async triggerIndexingOnEvent (event: Event, extraData: ExtraEventData): Promise { + const resultEvent = this.getResultEvent(event); + + console.time('time:indexer#processEvent-mapping_code'); + // Call subgraph handler for event. + await this._graphWatcher.handleEvent(resultEvent, extraData); + console.timeEnd('time:indexer#processEvent-mapping_code'); + + // Call custom hook function for indexing on event. + await handleEvent(this, resultEvent); + } + + async processEvent (event: Event, extraData: ExtraEventData): Promise { + // Trigger indexing of data based on the event. + await this.triggerIndexingOnEvent(event, extraData); + } + + async processBlock (blockProgress: BlockProgress): Promise { + console.time('time:indexer#processBlock-init_state'); + // Call a function to create initial state for contracts. + await this._baseIndexer.createInit(this, blockProgress.blockHash, blockProgress.blockNumber); + console.timeEnd('time:indexer#processBlock-init_state'); + + this._graphWatcher.updateEntityCacheFrothyBlocks(blockProgress); + } + + async processBlockAfterEvents (blockHash: string, blockNumber: number, extraData: ExtraEventData): Promise { + console.time('time:indexer#processBlockAfterEvents-mapping_code'); + // Call subgraph handler for block. + await this._graphWatcher.handleBlock(blockHash, blockNumber, extraData); + console.timeEnd('time:indexer#processBlockAfterEvents-mapping_code'); + + console.time('time:indexer#processBlockAfterEvents-dump_subgraph_state'); + // Persist subgraph state to the DB. + await this.dumpSubgraphState(blockHash); + console.timeEnd('time:indexer#processBlockAfterEvents-dump_subgraph_state'); + } + + parseEventNameAndArgs (kind: string, logObj: any): any { + const { topics, data } = logObj; + + const contract = this._contractMap.get(kind); + assert(contract); + + const logDescription = contract.parseLog({ data, topics }); + + const { eventName, eventInfo, eventSignature } = this._baseIndexer.parseEvent(logDescription); + + return { + eventName, + eventInfo, + eventSignature + }; + } + + async getStateSyncStatus (): Promise { + return this._db.getStateSyncStatus(); + } + + async updateStateSyncStatusIndexedBlock (blockNumber: number, force?: boolean): Promise { + if (!this._serverConfig.enableState) { + return; + } + + const dbTx = await this._db.createTransactionRunner(); + let res; + + try { + res = await this._db.updateStateSyncStatusIndexedBlock(dbTx, blockNumber, force); + await dbTx.commitTransaction(); + } catch (error) { + await dbTx.rollbackTransaction(); + throw error; + } finally { + await dbTx.release(); + } + + return res; + } + + async updateStateSyncStatusCheckpointBlock (blockNumber: number, force?: boolean): Promise { + const dbTx = await this._db.createTransactionRunner(); + let res; + + try { + res = await this._db.updateStateSyncStatusCheckpointBlock(dbTx, blockNumber, force); + await dbTx.commitTransaction(); + } catch (error) { + await dbTx.rollbackTransaction(); + throw error; + } finally { + await dbTx.release(); + } + + return res; + } + + async getLatestCanonicalBlock (): Promise { + const syncStatus = await this.getSyncStatus(); + assert(syncStatus); + + if (syncStatus.latestCanonicalBlockHash === constants.HashZero) { + return; + } + + const latestCanonicalBlock = await this.getBlockProgress(syncStatus.latestCanonicalBlockHash); + assert(latestCanonicalBlock); + + return latestCanonicalBlock; + } + + async getLatestStateIndexedBlock (): Promise { + return this._baseIndexer.getLatestStateIndexedBlock(); + } + + async addContracts (): Promise { + // Watching all the contracts in the subgraph. + await this._graphWatcher.addContracts(); + } + + async watchContract (address: string, kind: string, checkpoint: boolean, startingBlock: number, context?: any): Promise { + return this._baseIndexer.watchContract(address, kind, checkpoint, startingBlock, context); + } + + updateStateStatusMap (address: string, stateStatus: StateStatus): void { + this._baseIndexer.updateStateStatusMap(address, stateStatus); + } + + cacheContract (contract: Contract): void { + return this._baseIndexer.cacheContract(contract); + } + + async saveEventEntity (dbEvent: Event): Promise { + return this._baseIndexer.saveEventEntity(dbEvent); + } + + async saveEvents (dbEvents: Event[]): Promise { + return this._baseIndexer.saveEvents(dbEvents); + } + + async getEventsByFilter (blockHash: string, contract?: string, name?: string): Promise> { + return this._baseIndexer.getEventsByFilter(blockHash, contract, name); + } + + isWatchedContract (address : string): Contract | undefined { + return this._baseIndexer.isWatchedContract(address); + } + + getWatchedContracts (): Contract[] { + return this._baseIndexer.getWatchedContracts(); + } + + getContractsByKind (kind: string): Contract[] { + return this._baseIndexer.getContractsByKind(kind); + } + + async getProcessedBlockCountForRange (fromBlockNumber: number, toBlockNumber: number): Promise<{ expected: number, actual: number }> { + return this._baseIndexer.getProcessedBlockCountForRange(fromBlockNumber, toBlockNumber); + } + + async getEventsInRange (fromBlockNumber: number, toBlockNumber: number): Promise> { + return this._baseIndexer.getEventsInRange(fromBlockNumber, toBlockNumber, this._serverConfig.maxEventsBlockRange); + } + + async getSyncStatus (): Promise { + return this._baseIndexer.getSyncStatus(); + } + + async getBlocks (blockFilter: { blockHash?: string, blockNumber?: number }): Promise { + return this._baseIndexer.getBlocks(blockFilter); + } + + async updateSyncStatusIndexedBlock (blockHash: string, blockNumber: number, force = false): Promise { + return this._baseIndexer.updateSyncStatusIndexedBlock(blockHash, blockNumber, force); + } + + async updateSyncStatusChainHead (blockHash: string, blockNumber: number, force = false): Promise { + return this._baseIndexer.updateSyncStatusChainHead(blockHash, blockNumber, force); + } + + async updateSyncStatusCanonicalBlock (blockHash: string, blockNumber: number, force = false): Promise { + const syncStatus = this._baseIndexer.updateSyncStatusCanonicalBlock(blockHash, blockNumber, force); + await this.pruneFrothyEntities(blockNumber); + + return syncStatus; + } + + async updateSyncStatusProcessedBlock (blockHash: string, blockNumber: number, force = false): Promise { + return this._baseIndexer.updateSyncStatusProcessedBlock(blockHash, blockNumber, force); + } + + async updateSyncStatusIndexingError (hasIndexingError: boolean): Promise { + return this._baseIndexer.updateSyncStatusIndexingError(hasIndexingError); + } + + async updateSyncStatus (syncStatus: DeepPartial): Promise { + return this._baseIndexer.updateSyncStatus(syncStatus); + } + + async getEvent (id: string): Promise { + return this._baseIndexer.getEvent(id); + } + + async getBlockProgress (blockHash: string): Promise { + return this._baseIndexer.getBlockProgress(blockHash); + } + + async getBlockProgressEntities (where: FindConditions, options: FindManyOptions): Promise { + return this._baseIndexer.getBlockProgressEntities(where, options); + } + + async getBlocksAtHeight (height: number, isPruned: boolean): Promise { + return this._baseIndexer.getBlocksAtHeight(height, isPruned); + } + + async fetchAndSaveFilteredEventsAndBlocks (startBlock: number, endBlock: number): Promise<{ + blockProgress: BlockProgress, + events: DeepPartial[], + ethFullBlock: EthFullBlock; + ethFullTransactions: EthFullTransaction[]; + }[]> { + return this._baseIndexer.fetchAndSaveFilteredEventsAndBlocks(startBlock, endBlock, this.eventSignaturesMap, this.parseEventNameAndArgs.bind(this)); + } + + async fetchEventsForContracts (blockHash: string, blockNumber: number, addresses: string[]): Promise[]> { + return this._baseIndexer.fetchEventsForContracts(blockHash, blockNumber, addresses, this.eventSignaturesMap, this.parseEventNameAndArgs.bind(this)); + } + + async saveBlockAndFetchEvents (block: DeepPartial): Promise<[ + BlockProgress, + DeepPartial[], + EthFullTransaction[] + ]> { + return this._saveBlockAndFetchEvents(block); + } + + async getBlockEvents (blockHash: string, where: Where, queryOptions: QueryOptions): Promise> { + return this._baseIndexer.getBlockEvents(blockHash, where, queryOptions); + } + + async removeUnknownEvents (block: BlockProgress): Promise { + return this._baseIndexer.removeUnknownEvents(Event, block); + } + + async markBlocksAsPruned (blocks: BlockProgress[]): Promise { + await this._baseIndexer.markBlocksAsPruned(blocks); + + await this._graphWatcher.pruneEntities(FrothyEntity, blocks, SUBGRAPH_ENTITIES); + } + + async pruneFrothyEntities (blockNumber: number): Promise { + await this._graphWatcher.pruneFrothyEntities(FrothyEntity, blockNumber); + } + + async resetLatestEntities (blockNumber: number): Promise { + await this._graphWatcher.resetLatestEntities(blockNumber); + } + + async updateBlockProgress (block: BlockProgress, lastProcessedEventIndex: number): Promise { + return this._baseIndexer.updateBlockProgress(block, lastProcessedEventIndex); + } + + async getAncestorAtHeight (blockHash: string, height: number): Promise { + return this._baseIndexer.getAncestorAtHeight(blockHash, height); + } + + async resetWatcherToBlock (blockNumber: number): Promise { + const entities = [...ENTITIES, FrothyEntity]; + await this._baseIndexer.resetWatcherToBlock(blockNumber, entities); + + await this.resetLatestEntities(blockNumber); + } + + async clearProcessedBlockData (block: BlockProgress): Promise { + const entities = [...ENTITIES, FrothyEntity]; + await this._baseIndexer.clearProcessedBlockData(block, entities); + + await this.resetLatestEntities(block.blockNumber); + } + + getEntityTypesMap (): Map { + return this._entityTypesMap; + } + + getRelationsMap (): Map { + return this._relationsMap; + } + + updateSubgraphState (contractAddress: string, data: any): void { + return updateSubgraphState(this._subgraphStateMap, contractAddress, data); + } + + async dumpSubgraphState (blockHash: string, isStateFinalized = false): Promise { + return dumpSubgraphState(this, this._subgraphStateMap, blockHash, isStateFinalized); + } + + _populateEntityTypesMap (): void { + this._entityTypesMap.set('Token', { + id: 'Bytes', + symbol: 'String', + name: 'String', + decimals: 'Int', + tokenType: 'String', + poolCount: 'BigInt', + pools: 'Pool', + totalSupply: 'BigInt', + txCount: 'BigInt' + }); + this._entityTypesMap.set('PoolFactory', { + id: 'Bytes', + poolType: 'String', + poolCount: 'BigInt', + pools: 'Pool', + txCount: 'BigInt' + }); + this._entityTypesMap.set('Pool', { + id: 'Bytes', + createdAtBlockNumber: 'BigInt', + createdAtTimestamp: 'BigInt', + collateralToken: 'Token', + quoteToken: 'Token', + poolSize: 'BigDecimal', + t0debt: 'BigDecimal', + inflator: 'BigDecimal', + borrowRate: 'BigDecimal', + lendRate: 'BigDecimal', + borrowFeeRate: 'BigDecimal', + depositFeeRate: 'BigDecimal', + pledgedCollateral: 'BigDecimal', + totalInterestEarned: 'BigDecimal', + txCount: 'BigInt', + poolType: 'String', + loansCount: 'BigInt', + maxBorrower: 'Bytes', + quoteTokenFlashloaned: 'BigDecimal', + collateralFlashloaned: 'BigDecimal', + hpb: 'BigDecimal', + hpbIndex: 'Int', + htp: 'BigDecimal', + htpIndex: 'Int', + lup: 'BigDecimal', + lupIndex: 'Int', + reserves: 'BigDecimal', + claimableReserves: 'BigDecimal', + claimableReservesRemaining: 'BigDecimal', + burnEpoch: 'BigInt', + totalAjnaBurned: 'BigDecimal', + reserveAuctions: 'ReserveAuction', + minDebtAmount: 'BigDecimal', + actualUtilization: 'BigDecimal', + targetUtilization: 'BigDecimal', + totalBondEscrowed: 'BigDecimal', + liquidationAuctions: 'LiquidationAuction', + quoteTokenBalance: 'BigDecimal', + collateralBalance: 'BigDecimal', + subsetHash: 'Bytes', + tokenIdsPledged: 'BigInt', + bucketTokenIds: 'BigInt', + tokenIdsAllowed: 'BigInt' + }); + this._entityTypesMap.set('Bucket', { + id: 'Bytes', + bucketIndex: 'Int', + bucketPrice: 'BigDecimal', + exchangeRate: 'BigDecimal', + poolAddress: 'String', + pool: 'Pool', + collateral: 'BigDecimal', + deposit: 'BigDecimal', + lpb: 'BigDecimal', + lends: 'Lend', + positionLends: 'PositionLend' + }); + this._entityTypesMap.set('Lend', { + id: 'Bytes', + bucket: 'Bucket', + bucketIndex: 'Int', + poolAddress: 'String', + lender: 'Bytes', + pool: 'Pool', + lpb: 'BigDecimal', + lpbValueInQuote: 'BigDecimal', + depositTime: 'BigInt' + }); + this._entityTypesMap.set('Loan', { + id: 'Bytes', + poolAddress: 'String', + borrower: 'Bytes', + pool: 'Pool', + inLiquidation: 'Boolean', + liquidationAuction: 'LiquidationAuction', + collateralPledged: 'BigDecimal', + thresholdPrice: 'BigDecimal', + tokenIdsPledged: 'BigInt', + t0debt: 'BigDecimal', + t0Np: 'BigDecimal' + }); + this._entityTypesMap.set('Account', { + id: 'Bytes', + pools: 'Pool', + kicks: 'Kick', + lends: 'Lend', + loans: 'Loan', + settles: 'Settle', + takes: 'Take', + reserveAuctions: 'ReserveAuction', + proposalsCreated: 'Proposal', + proposalsExecuted: 'Proposal', + delegatedTo: 'Account', + delegatedFrom: 'Account', + rewardsClaimed: 'BigDecimal', + distributionPeriodVotes: 'DistributionPeriodVote', + tokensDelegated: 'BigDecimal', + positions: 'Position', + txCount: 'BigInt' + }); + this._entityTypesMap.set('LiquidationAuction', { + id: 'Bytes', + pool: 'Pool', + borrower: 'Bytes', + lastTakePrice: 'BigDecimal', + collateral: 'BigDecimal', + collateralRemaining: 'BigDecimal', + debt: 'BigDecimal', + debtRemaining: 'BigDecimal', + loan: 'Loan', + kicker: 'Bytes', + kick: 'Kick', + kickTime: 'BigInt', + takes: 'Take', + bucketTakes: 'BucketTake', + settles: 'Settle', + settle: 'AuctionSettle', + settleTime: 'BigInt', + settled: 'Boolean', + bondSize: 'BigDecimal', + bondFactor: 'BigDecimal', + neutralPrice: 'BigDecimal', + referencePrice: 'BigDecimal', + thresholdPrice: 'BigDecimal' + }); + this._entityTypesMap.set('ReserveAuction', { + id: 'Bytes', + pool: 'Pool', + claimableReservesRemaining: 'BigDecimal', + lastTakePrice: 'BigDecimal', + burnEpoch: 'BigInt', + kick: 'ReserveAuctionKick', + takes: 'ReserveAuctionTake', + ajnaBurned: 'BigDecimal' + }); + this._entityTypesMap.set('LPTransferorList', { + id: 'Bytes', + pool: 'Pool', + lender: 'Bytes', + transferors: 'Bytes' + }); + this._entityTypesMap.set('LPAllowance', { + id: 'Bytes', + index: 'Int', + amount: 'BigDecimal' + }); + this._entityTypesMap.set('LPAllowanceList', { + id: 'Bytes', + pool: 'Pool', + lender: 'Bytes', + spender: 'Bytes', + allowances: 'LPAllowance' + }); + this._entityTypesMap.set('AddCollateral', { + id: 'Bytes', + pool: 'Pool', + bucket: 'Bucket', + actor: 'Bytes', + index: 'Int', + amount: 'BigDecimal', + lpAwarded: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('AddQuoteToken', { + id: 'Bytes', + pool: 'Pool', + bucket: 'Bucket', + lender: 'Bytes', + index: 'Int', + amount: 'BigDecimal', + lpAwarded: 'BigDecimal', + lup: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('AuctionSettle', { + id: 'Bytes', + pool: 'Pool', + loan: 'Loan', + borrower: 'Bytes', + collateral: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('BondWithdrawn', { + id: 'Bytes', + kicker: 'Bytes', + reciever: 'Bytes', + amount: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('BucketBankruptcy', { + id: 'Bytes', + bucket: 'Bucket', + index: 'Int', + pool: 'Pool', + lpForfeited: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('BucketTake', { + id: 'Bytes', + borrower: 'Bytes', + taker: 'Bytes', + liquidationAuction: 'LiquidationAuction', + loan: 'Loan', + pool: 'Pool', + index: 'Int', + auctionPrice: 'BigDecimal', + amount: 'BigDecimal', + collateral: 'BigDecimal', + bondChange: 'BigDecimal', + isReward: 'Boolean', + lpAwarded: 'BucketTakeLPAwarded', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('BucketTakeLPAwarded', { + id: 'Bytes', + taker: 'Bytes', + pool: 'Pool', + kicker: 'Bytes', + lpAwardedTaker: 'BigDecimal', + lpAwardedKicker: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('DrawDebt', { + id: 'Bytes', + pool: 'Pool', + borrower: 'Bytes', + amountBorrowed: 'BigDecimal', + collateralPledged: 'BigDecimal', + lup: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('Flashloan', { + id: 'Bytes', + pool: 'Pool', + borrower: 'Bytes', + amount: 'BigDecimal' + }); + this._entityTypesMap.set('Kick', { + id: 'Bytes', + kicker: 'Bytes', + pool: 'Pool', + loan: 'Loan', + locked: 'BigDecimal', + claimable: 'BigDecimal', + liquidationAuction: 'LiquidationAuction', + borrower: 'Bytes', + debt: 'BigDecimal', + collateral: 'BigDecimal', + bond: 'BigDecimal', + startingPrice: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('LoanStamped', { + id: 'Bytes', + pool: 'Pool', + borrower: 'Bytes', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('MoveQuoteToken', { + id: 'Bytes', + pool: 'Pool', + lender: 'Bytes', + from: 'Bucket', + to: 'Bucket', + amount: 'BigDecimal', + lpRedeemedFrom: 'BigDecimal', + lpAwardedTo: 'BigDecimal', + lup: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('RemoveCollateral', { + id: 'Bytes', + pool: 'Pool', + bucket: 'Bucket', + claimer: 'Bytes', + index: 'Int', + amount: 'BigDecimal', + lpRedeemed: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('RemoveQuoteToken', { + id: 'Bytes', + pool: 'Pool', + bucket: 'Bucket', + lender: 'Bytes', + index: 'Int', + amount: 'BigDecimal', + lpRedeemed: 'BigDecimal', + lup: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('RepayDebt', { + id: 'Bytes', + pool: 'Pool', + borrower: 'Bytes', + quoteRepaid: 'BigDecimal', + collateralPulled: 'BigDecimal', + lup: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('ReserveAuctionKick', { + id: 'Bytes', + kicker: 'Bytes', + reserveAuction: 'ReserveAuction', + pool: 'Pool', + claimableReserves: 'BigDecimal', + startingPrice: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('ReserveAuctionTake', { + id: 'Bytes', + taker: 'Bytes', + reserveAuction: 'ReserveAuction', + pool: 'Pool', + claimableReservesRemaining: 'BigDecimal', + auctionPrice: 'BigDecimal', + quotePurchased: 'BigDecimal', + ajnaBurned: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('ResetInterestRate', { + id: 'Bytes', + pool: 'Pool', + oldBorrowRate: 'BigDecimal', + newBorrowRate: 'BigDecimal', + oldLendRate: 'BigDecimal', + newLendRate: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('Settle', { + id: 'Bytes', + pool: 'Pool', + liquidationAuction: 'LiquidationAuction', + loan: 'Loan', + borrower: 'Bytes', + settledDebt: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('Take', { + id: 'Bytes', + taker: 'Bytes', + pool: 'Pool', + borrower: 'Bytes', + liquidationAuction: 'LiquidationAuction', + loan: 'Loan', + auctionPrice: 'BigDecimal', + amount: 'BigDecimal', + collateral: 'BigDecimal', + bondChange: 'BigDecimal', + isReward: 'Boolean', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('TransferLP', { + id: 'Bytes', + owner: 'Bytes', + newOwner: 'Bytes', + indexes: 'Int', + lp: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('UpdateInterestRate', { + id: 'Bytes', + pool: 'Pool', + oldBorrowRate: 'BigDecimal', + newBorrowRate: 'BigDecimal', + oldLendRate: 'BigDecimal', + newLendRate: 'BigDecimal', + borrowFeeRate: 'BigDecimal', + depositFeeRate: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('Approval', { + id: 'Bytes', + owner: 'Bytes', + approved: 'Bytes', + tokenId: 'BigInt', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('ApprovalForAll', { + id: 'Bytes', + owner: 'Bytes', + operator: 'Bytes', + approved: 'Boolean', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('MoveLiquidity', { + id: 'Bytes', + lender: 'Bytes', + tokenId: 'BigInt', + pool: 'Pool', + fromIndex: 'Int', + toIndex: 'Int', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('Transfer', { + id: 'Bytes', + token: 'Token', + pool: 'Pool', + from: 'Bytes', + to: 'Bytes', + tokenId: 'BigInt', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('PoolCreated', { + id: 'Bytes', + pool: 'Pool', + poolType: 'String', + factory: 'PoolFactory', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('AddCollateralNFT', { + id: 'Bytes', + pool: 'Pool', + bucket: 'Bucket', + actor: 'Bytes', + index: 'BigInt', + tokenIds: 'BigInt', + lpAwarded: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('AuctionNFTSettle', { + id: 'Bytes', + pool: 'Pool', + loan: 'Loan', + borrower: 'Bytes', + collateral: 'BigDecimal', + lp: 'BigDecimal', + index: 'Int', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('DrawDebtNFT', { + id: 'Bytes', + pool: 'Pool', + borrower: 'Bytes', + amountBorrowed: 'BigDecimal', + tokenIdsPledged: 'BigInt', + lup: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('MergeOrRemoveCollateralNFT', { + id: 'Bytes', + pool: 'Pool', + actor: 'Bytes', + collateralMerged: 'BigDecimal', + toIndexLps: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('Position', { + id: 'Bytes', + tokenId: 'BigInt', + indexes: 'PositionLend', + owner: 'Bytes', + pool: 'Pool', + token: 'Token', + tokenURI: 'String' + }); + this._entityTypesMap.set('PositionLend', { + id: 'Bytes', + bucket: 'Bucket', + bucketIndex: 'Int', + depositTime: 'BigInt', + lpb: 'BigDecimal', + lpbValueInQuote: 'BigDecimal', + tokenId: 'BigInt' + }); + this._entityTypesMap.set('Burn', { + id: 'Bytes', + lender: 'Bytes', + tokenId: 'BigInt', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('MemorializePosition', { + id: 'Bytes', + pool: 'Pool', + lender: 'Bytes', + tokenId: 'BigInt', + indexes: 'Int', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('Mint', { + id: 'Bytes', + lender: 'Bytes', + pool: 'Pool', + tokenId: 'BigInt', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('RedeemPosition', { + id: 'Bytes', + pool: 'Pool', + lender: 'Bytes', + tokenId: 'BigInt', + indexes: 'Int', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('GrantFund', { + id: 'Bytes', + treasury: 'BigDecimal', + distributionPeriods: 'DistributionPeriod', + totalDelegationRewardsClaimed: 'BigDecimal' + }); + this._entityTypesMap.set('DistributionPeriod', { + id: 'Bytes', + distributionId: 'BigInt', + startBlock: 'BigInt', + endBlock: 'BigInt', + topSlate: 'FundedSlate', + slatesSubmitted: 'FundedSlate', + fundsAvailable: 'BigDecimal', + delegationRewardsClaimed: 'BigDecimal', + fundingVotePowerUsed: 'BigDecimal', + screeningVotesCast: 'BigDecimal', + votes: 'DistributionPeriodVote', + proposals: 'Proposal', + totalTokensDistributed: 'BigDecimal' + }); + this._entityTypesMap.set('Proposal', { + id: 'Bytes', + proposalId: 'BigInt', + description: 'String', + distribution: 'DistributionPeriod', + executed: 'Boolean', + screeningVotesReceived: 'BigDecimal', + fundingVotesReceived: 'BigDecimal', + fundingVotesNegative: 'BigDecimal', + fundingVotesPositive: 'BigDecimal', + totalTokensRequested: 'BigDecimal', + params: 'ProposalParams' + }); + this._entityTypesMap.set('ProposalParams', { + id: 'Bytes', + target: 'Bytes', + value: 'BigInt', + calldata: 'Bytes', + recipient: 'Bytes', + tokensRequested: 'BigDecimal' + }); + this._entityTypesMap.set('DistributionPeriodVote', { + id: 'Bytes', + voter: 'Account', + distribution: 'DistributionPeriod', + initialFundingStageVotingPowerRecordedPostVote: 'BigDecimal', + remainingFundingStageVotingPowerRecordedPostVote: 'BigDecimal', + initialScreeningStageVotingPowerRecordedPostVote: 'BigDecimal', + remainingScreeningStageVotingPowerRecordedPostVote: 'BigDecimal', + screeningVotes: 'ScreeningVote', + fundingVotes: 'FundingVote' + }); + this._entityTypesMap.set('ScreeningVote', { + id: 'Bytes', + distribution: 'DistributionPeriod', + voter: 'Account', + proposal: 'Proposal', + totalVotesCast: 'BigDecimal', + votesCast: 'VoteCast' + }); + this._entityTypesMap.set('FundingVote', { + id: 'Bytes', + distribution: 'DistributionPeriod', + voter: 'Account', + proposal: 'Proposal', + totalVotesCast: 'BigDecimal', + votingPowerUsed: 'BigDecimal', + votesCast: 'VoteCast' + }); + this._entityTypesMap.set('FundedSlate', { + id: 'Bytes', + distribution: 'DistributionPeriod', + proposals: 'Proposal', + totalTokensRequested: 'BigDecimal', + totalFundingVotesReceived: 'BigDecimal', + updateBlock: 'BigInt' + }); + this._entityTypesMap.set('DelegateRewardClaimed', { + id: 'Bytes', + delegateeAddress_: 'Bytes', + distribution: 'DistributionPeriod', + rewardClaimed_: 'BigInt', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('FundTreasury', { + id: 'Bytes', + amount: 'BigInt', + treasuryBalance: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('FundedSlateUpdated', { + id: 'Bytes', + distributionId_: 'BigInt', + fundedSlateHash_: 'Bytes', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('ProposalCreated', { + id: 'Bytes', + proposal: 'Proposal', + proposer: 'Bytes', + targets: 'Bytes', + values: 'BigDecimal', + signatures: 'String', + calldatas: 'Bytes', + startBlock: 'BigInt', + endBlock: 'BigInt', + description: 'String', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('ProposalExecuted', { + id: 'Bytes', + proposalId: 'BigInt', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('DistributionPeriodStarted', { + id: 'Bytes', + distribution: 'DistributionPeriod', + startBlock: 'BigInt', + endBlock: 'BigInt', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('VoteCast', { + id: 'Bytes', + voter: 'Bytes', + proposalId: 'BigInt', + support: 'Int', + weight: 'BigDecimal', + reason: 'String', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('DelegateChanged', { + id: 'Bytes', + delegator: 'Bytes', + fromDelegate: 'Bytes', + toDelegate: 'Bytes', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('DelegateVotesChanged', { + id: 'Bytes', + delegate: 'Bytes', + previousBalance: 'BigDecimal', + newBalance: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + this._entityTypesMap.set('BurnWrap', { + id: 'Bytes', + wrapper: 'Bytes', + account: 'Account', + amount: 'BigDecimal', + blockNumber: 'BigInt', + blockTimestamp: 'BigInt', + transactionHash: 'Bytes' + }); + } + + _populateRelationsMap (): void { + this._relationsMap.set(Token, { + pools: { + entity: Pool, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(PoolFactory, { + pools: { + entity: Pool, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(Pool, { + collateralToken: { + entity: Token, + isArray: false, + isDerived: false + }, + quoteToken: { + entity: Token, + isArray: false, + isDerived: false + }, + reserveAuctions: { + entity: ReserveAuction, + isArray: true, + isDerived: false + }, + liquidationAuctions: { + entity: LiquidationAuction, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(Bucket, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + lends: { + entity: Lend, + isArray: true, + isDerived: false + }, + positionLends: { + entity: PositionLend, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(Lend, { + bucket: { + entity: Bucket, + isArray: false, + isDerived: false + }, + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(Loan, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + liquidationAuction: { + entity: LiquidationAuction, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(Account, { + pools: { + entity: Pool, + isArray: true, + isDerived: false + }, + kicks: { + entity: Kick, + isArray: true, + isDerived: false + }, + lends: { + entity: Lend, + isArray: true, + isDerived: false + }, + loans: { + entity: Loan, + isArray: true, + isDerived: false + }, + settles: { + entity: Settle, + isArray: true, + isDerived: false + }, + takes: { + entity: Take, + isArray: true, + isDerived: false + }, + reserveAuctions: { + entity: ReserveAuction, + isArray: true, + isDerived: false + }, + proposalsCreated: { + entity: Proposal, + isArray: true, + isDerived: false + }, + proposalsExecuted: { + entity: Proposal, + isArray: true, + isDerived: false + }, + delegatedTo: { + entity: Account, + isArray: false, + isDerived: false + }, + delegatedFrom: { + entity: Account, + isArray: true, + isDerived: false + }, + distributionPeriodVotes: { + entity: DistributionPeriodVote, + isArray: true, + isDerived: false + }, + positions: { + entity: Position, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(LiquidationAuction, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + loan: { + entity: Loan, + isArray: false, + isDerived: false + }, + kick: { + entity: Kick, + isArray: false, + isDerived: false + }, + takes: { + entity: Take, + isArray: true, + isDerived: false + }, + bucketTakes: { + entity: BucketTake, + isArray: true, + isDerived: false + }, + settles: { + entity: Settle, + isArray: true, + isDerived: false + }, + settle: { + entity: AuctionSettle, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(ReserveAuction, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + kick: { + entity: ReserveAuctionKick, + isArray: false, + isDerived: false + }, + takes: { + entity: ReserveAuctionTake, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(LPTransferorList, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(LPAllowanceList, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + allowances: { + entity: LPAllowance, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(AddCollateral, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + bucket: { + entity: Bucket, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(AddQuoteToken, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + bucket: { + entity: Bucket, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(AuctionSettle, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + loan: { + entity: Loan, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(BucketBankruptcy, { + bucket: { + entity: Bucket, + isArray: false, + isDerived: false + }, + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(BucketTake, { + liquidationAuction: { + entity: LiquidationAuction, + isArray: false, + isDerived: false + }, + loan: { + entity: Loan, + isArray: false, + isDerived: false + }, + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + lpAwarded: { + entity: BucketTakeLPAwarded, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(BucketTakeLPAwarded, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(DrawDebt, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(Flashloan, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(Kick, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + loan: { + entity: Loan, + isArray: false, + isDerived: false + }, + liquidationAuction: { + entity: LiquidationAuction, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(LoanStamped, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(MoveQuoteToken, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + from: { + entity: Bucket, + isArray: false, + isDerived: false + }, + to: { + entity: Bucket, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(RemoveCollateral, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + bucket: { + entity: Bucket, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(RemoveQuoteToken, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + bucket: { + entity: Bucket, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(RepayDebt, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(ReserveAuctionKick, { + reserveAuction: { + entity: ReserveAuction, + isArray: false, + isDerived: false + }, + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(ReserveAuctionTake, { + reserveAuction: { + entity: ReserveAuction, + isArray: false, + isDerived: false + }, + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(ResetInterestRate, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(Settle, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + liquidationAuction: { + entity: LiquidationAuction, + isArray: false, + isDerived: false + }, + loan: { + entity: Loan, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(Take, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + liquidationAuction: { + entity: LiquidationAuction, + isArray: false, + isDerived: false + }, + loan: { + entity: Loan, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(UpdateInterestRate, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(MoveLiquidity, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(Transfer, { + token: { + entity: Token, + isArray: false, + isDerived: false + }, + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(PoolCreated, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + factory: { + entity: PoolFactory, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(AddCollateralNFT, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + bucket: { + entity: Bucket, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(AuctionNFTSettle, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + loan: { + entity: Loan, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(DrawDebtNFT, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(MergeOrRemoveCollateralNFT, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(Position, { + indexes: { + entity: PositionLend, + isArray: true, + isDerived: false + }, + pool: { + entity: Pool, + isArray: false, + isDerived: false + }, + token: { + entity: Token, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(PositionLend, { + bucket: { + entity: Bucket, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(MemorializePosition, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(Mint, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(RedeemPosition, { + pool: { + entity: Pool, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(GrantFund, { + distributionPeriods: { + entity: DistributionPeriod, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(DistributionPeriod, { + topSlate: { + entity: FundedSlate, + isArray: false, + isDerived: false + }, + slatesSubmitted: { + entity: FundedSlate, + isArray: true, + isDerived: false + }, + votes: { + entity: DistributionPeriodVote, + isArray: true, + isDerived: false + }, + proposals: { + entity: Proposal, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(Proposal, { + distribution: { + entity: DistributionPeriod, + isArray: false, + isDerived: false + }, + params: { + entity: ProposalParams, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(DistributionPeriodVote, { + voter: { + entity: Account, + isArray: false, + isDerived: false + }, + distribution: { + entity: DistributionPeriod, + isArray: false, + isDerived: false + }, + screeningVotes: { + entity: ScreeningVote, + isArray: true, + isDerived: false + }, + fundingVotes: { + entity: FundingVote, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(ScreeningVote, { + distribution: { + entity: DistributionPeriod, + isArray: false, + isDerived: false + }, + voter: { + entity: Account, + isArray: false, + isDerived: false + }, + proposal: { + entity: Proposal, + isArray: false, + isDerived: false + }, + votesCast: { + entity: VoteCast, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(FundingVote, { + distribution: { + entity: DistributionPeriod, + isArray: false, + isDerived: false + }, + voter: { + entity: Account, + isArray: false, + isDerived: false + }, + proposal: { + entity: Proposal, + isArray: false, + isDerived: false + }, + votesCast: { + entity: VoteCast, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(FundedSlate, { + distribution: { + entity: DistributionPeriod, + isArray: false, + isDerived: false + }, + proposals: { + entity: Proposal, + isArray: true, + isDerived: false + } + }); + this._relationsMap.set(DelegateRewardClaimed, { + distribution: { + entity: DistributionPeriod, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(ProposalCreated, { + proposal: { + entity: Proposal, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(DistributionPeriodStarted, { + distribution: { + entity: DistributionPeriod, + isArray: false, + isDerived: false + } + }); + this._relationsMap.set(BurnWrap, { + account: { + entity: Account, + isArray: false, + isDerived: false + } + }); + } + + async _saveBlockAndFetchEvents ({ + cid: blockCid, + blockHash, + blockNumber, + blockTimestamp, + parentHash + }: DeepPartial): Promise<[ + BlockProgress, + DeepPartial[], + EthFullTransaction[] + ]> { + assert(blockHash); + assert(blockNumber); + + const { events: dbEvents, transactions } = await this._baseIndexer.fetchEvents(blockHash, blockNumber, this.eventSignaturesMap, this.parseEventNameAndArgs.bind(this)); + + const dbTx = await this._db.createTransactionRunner(); + try { + const block = { + cid: blockCid, + blockHash, + blockNumber, + blockTimestamp, + parentHash + }; + + console.time(`time:indexer#_saveBlockAndFetchEvents-db-save-${blockNumber}`); + const blockProgress = await this._db.saveBlockWithEvents(dbTx, block, dbEvents); + await dbTx.commitTransaction(); + console.timeEnd(`time:indexer#_saveBlockAndFetchEvents-db-save-${blockNumber}`); + + return [blockProgress, [], transactions]; + } catch (error) { + await dbTx.rollbackTransaction(); + throw error; + } finally { + await dbTx.release(); + } + } + + async getFullTransactions (txHashList: string[]): Promise { + return this._baseIndexer.getFullTransactions(txHashList); + } +} diff --git a/src/job-runner.ts b/src/job-runner.ts new file mode 100644 index 0000000..93d6820 --- /dev/null +++ b/src/job-runner.ts @@ -0,0 +1,48 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import debug from 'debug'; + +import { JobRunnerCmd } from '@cerc-io/cli'; +import { JobRunner } from '@cerc-io/util'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { Indexer } from './indexer'; +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from './database'; + +const log = debug('vulcanize:job-runner'); + +export const main = async (): Promise => { + const jobRunnerCmd = new JobRunnerCmd(); + await jobRunnerCmd.init(Database); + + const { graphWatcher } = await getGraphDbAndWatcher( + jobRunnerCmd.config.server, + jobRunnerCmd.clients.ethClient, + jobRunnerCmd.ethProvider, + jobRunnerCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await jobRunnerCmd.initIndexer(Indexer, graphWatcher); + + await jobRunnerCmd.exec(async (jobRunner: JobRunner): Promise => { + await jobRunner.subscribeBlockProcessingQueue(); + await jobRunner.subscribeHistoricalProcessingQueue(); + await jobRunner.subscribeEventProcessingQueue(); + await jobRunner.subscribeBlockCheckpointQueue(); + await jobRunner.subscribeHooksQueue(); + }); +}; + +main().then(() => { + log('Starting job runner...'); +}).catch(err => { + log(err); +}); + +process.on('uncaughtException', err => { + log('uncaughtException', err); +}); diff --git a/src/resolvers.ts b/src/resolvers.ts new file mode 100644 index 0000000..2d8c00f --- /dev/null +++ b/src/resolvers.ts @@ -0,0 +1,2884 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import assert from 'assert'; +import debug from 'debug'; +import { GraphQLResolveInfo } from 'graphql'; + +import { + gqlTotalQueryCount, + gqlQueryCount, + getResultState, + IndexerInterface, + GraphQLBigInt, + GraphQLBigDecimal, + BlockHeight, + OrderDirection, + jsonBigIntStringReplacer, + EventWatcher, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + setGQLCacheHints +} from '@cerc-io/util'; + +import { Indexer } from './indexer'; + +import { Token } from './entity/Token'; +import { PoolFactory } from './entity/PoolFactory'; +import { Pool } from './entity/Pool'; +import { Bucket } from './entity/Bucket'; +import { Lend } from './entity/Lend'; +import { Loan } from './entity/Loan'; +import { Account } from './entity/Account'; +import { LiquidationAuction } from './entity/LiquidationAuction'; +import { ReserveAuction } from './entity/ReserveAuction'; +import { LPTransferorList } from './entity/LPTransferorList'; +import { LPAllowance } from './entity/LPAllowance'; +import { LPAllowanceList } from './entity/LPAllowanceList'; +import { AddCollateral } from './entity/AddCollateral'; +import { AddQuoteToken } from './entity/AddQuoteToken'; +import { AuctionSettle } from './entity/AuctionSettle'; +import { BondWithdrawn } from './entity/BondWithdrawn'; +import { BucketBankruptcy } from './entity/BucketBankruptcy'; +import { BucketTake } from './entity/BucketTake'; +import { BucketTakeLPAwarded } from './entity/BucketTakeLPAwarded'; +import { DrawDebt } from './entity/DrawDebt'; +import { Flashloan } from './entity/Flashloan'; +import { Kick } from './entity/Kick'; +import { LoanStamped } from './entity/LoanStamped'; +import { MoveQuoteToken } from './entity/MoveQuoteToken'; +import { RemoveCollateral } from './entity/RemoveCollateral'; +import { RemoveQuoteToken } from './entity/RemoveQuoteToken'; +import { RepayDebt } from './entity/RepayDebt'; +import { ReserveAuctionKick } from './entity/ReserveAuctionKick'; +import { ReserveAuctionTake } from './entity/ReserveAuctionTake'; +import { ResetInterestRate } from './entity/ResetInterestRate'; +import { Settle } from './entity/Settle'; +import { Take } from './entity/Take'; +import { TransferLP } from './entity/TransferLP'; +import { UpdateInterestRate } from './entity/UpdateInterestRate'; +import { Approval } from './entity/Approval'; +import { ApprovalForAll } from './entity/ApprovalForAll'; +import { MoveLiquidity } from './entity/MoveLiquidity'; +import { Transfer } from './entity/Transfer'; +import { PoolCreated } from './entity/PoolCreated'; +import { AddCollateralNFT } from './entity/AddCollateralNFT'; +import { AuctionNFTSettle } from './entity/AuctionNFTSettle'; +import { DrawDebtNFT } from './entity/DrawDebtNFT'; +import { MergeOrRemoveCollateralNFT } from './entity/MergeOrRemoveCollateralNFT'; +import { Position } from './entity/Position'; +import { PositionLend } from './entity/PositionLend'; +import { Burn } from './entity/Burn'; +import { MemorializePosition } from './entity/MemorializePosition'; +import { Mint } from './entity/Mint'; +import { RedeemPosition } from './entity/RedeemPosition'; +import { GrantFund } from './entity/GrantFund'; +import { DistributionPeriod } from './entity/DistributionPeriod'; +import { Proposal } from './entity/Proposal'; +import { ProposalParams } from './entity/ProposalParams'; +import { DistributionPeriodVote } from './entity/DistributionPeriodVote'; +import { ScreeningVote } from './entity/ScreeningVote'; +import { FundingVote } from './entity/FundingVote'; +import { FundedSlate } from './entity/FundedSlate'; +import { DelegateRewardClaimed } from './entity/DelegateRewardClaimed'; +import { FundTreasury } from './entity/FundTreasury'; +import { FundedSlateUpdated } from './entity/FundedSlateUpdated'; +import { ProposalCreated } from './entity/ProposalCreated'; +import { ProposalExecuted } from './entity/ProposalExecuted'; +import { DistributionPeriodStarted } from './entity/DistributionPeriodStarted'; +import { VoteCast } from './entity/VoteCast'; +import { DelegateChanged } from './entity/DelegateChanged'; +import { DelegateVotesChanged } from './entity/DelegateVotesChanged'; +import { BurnWrap } from './entity/BurnWrap'; + +const log = debug('vulcanize:resolver'); + +export const createResolvers = async (indexerArg: IndexerInterface, eventWatcher: EventWatcher): Promise => { + const indexer = indexerArg as Indexer; + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const gqlCacheConfig = indexer.serverConfig.gqlCache; + + return { + BigInt: GraphQLBigInt, + + BigDecimal: GraphQLBigDecimal, + + Event: { + __resolveType: (obj: any) => { + assert(obj.__typename); + + return obj.__typename; + } + }, + + Subscription: { + onEvent: { + subscribe: () => eventWatcher.getEventIterator() + } + }, + + Mutation: { + watchContract: async (_: any, { address, kind, checkpoint, startingBlock = 1 }: { address: string, kind: string, checkpoint: boolean, startingBlock: number }): Promise => { + log('watchContract', address, kind, checkpoint, startingBlock); + await indexer.watchContract(address, kind, checkpoint, startingBlock); + + return true; + } + }, + + Query: { + token: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('token', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('token').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Token, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + tokens: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('tokens', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('tokens').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Token, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + poolFactory: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('poolFactory', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('poolFactory').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(PoolFactory, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + poolFactories: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('poolFactories', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('poolFactories').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + PoolFactory, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + pool: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('pool', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('pool').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Pool, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + pools: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('pools', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('pools').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Pool, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + bucket: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('bucket', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('bucket').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Bucket, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + buckets: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('buckets', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('buckets').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Bucket, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + lend: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('lend', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('lend').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Lend, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + lends: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('lends', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('lends').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Lend, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + loan: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('loan', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('loan').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Loan, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + loans: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('loans', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('loans').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Loan, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + account: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('account', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('account').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Account, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + accounts: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('accounts', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('accounts').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Account, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + liquidationAuction: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('liquidationAuction', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('liquidationAuction').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(LiquidationAuction, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + liquidationAuctions: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('liquidationAuctions', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('liquidationAuctions').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + LiquidationAuction, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + reserveAuction: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('reserveAuction', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('reserveAuction').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(ReserveAuction, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + reserveAuctions: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('reserveAuctions', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('reserveAuctions').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + ReserveAuction, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + lptransferorList: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('lptransferorList', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('lptransferorList').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(LPTransferorList, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + lptransferorLists: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('lptransferorLists', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('lptransferorLists').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + LPTransferorList, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + lpallowance: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('lpallowance', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('lpallowance').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(LPAllowance, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + lpallowances: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('lpallowances', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('lpallowances').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + LPAllowance, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + lpallowanceList: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('lpallowanceList', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('lpallowanceList').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(LPAllowanceList, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + lpallowanceLists: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('lpallowanceLists', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('lpallowanceLists').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + LPAllowanceList, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + addCollateral: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('addCollateral', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('addCollateral').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(AddCollateral, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + addCollaterals: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('addCollaterals', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('addCollaterals').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + AddCollateral, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + addQuoteToken: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('addQuoteToken', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('addQuoteToken').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(AddQuoteToken, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + addQuoteTokens: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('addQuoteTokens', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('addQuoteTokens').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + AddQuoteToken, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + auctionSettle: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('auctionSettle', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('auctionSettle').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(AuctionSettle, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + auctionSettles: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('auctionSettles', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('auctionSettles').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + AuctionSettle, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + bondWithdrawn: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('bondWithdrawn', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('bondWithdrawn').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(BondWithdrawn, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + bondWithdrawns: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('bondWithdrawns', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('bondWithdrawns').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + BondWithdrawn, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + bucketBankruptcy: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('bucketBankruptcy', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('bucketBankruptcy').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(BucketBankruptcy, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + bucketBankruptcies: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('bucketBankruptcies', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('bucketBankruptcies').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + BucketBankruptcy, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + bucketTake: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('bucketTake', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('bucketTake').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(BucketTake, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + bucketTakes: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('bucketTakes', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('bucketTakes').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + BucketTake, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + bucketTakeLPAwarded: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('bucketTakeLPAwarded', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('bucketTakeLPAwarded').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(BucketTakeLPAwarded, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + bucketTakeLPAwardeds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('bucketTakeLPAwardeds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('bucketTakeLPAwardeds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + BucketTakeLPAwarded, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + drawDebt: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('drawDebt', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('drawDebt').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(DrawDebt, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + drawDebts: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('drawDebts', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('drawDebts').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + DrawDebt, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + flashloan: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('flashloan', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('flashloan').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Flashloan, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + flashloans: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('flashloans', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('flashloans').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Flashloan, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + kick: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('kick', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('kick').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Kick, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + kicks: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('kicks', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('kicks').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Kick, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + loanStamped: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('loanStamped', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('loanStamped').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(LoanStamped, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + loanStampeds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('loanStampeds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('loanStampeds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + LoanStamped, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + moveQuoteToken: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('moveQuoteToken', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('moveQuoteToken').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(MoveQuoteToken, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + moveQuoteTokens: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('moveQuoteTokens', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('moveQuoteTokens').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + MoveQuoteToken, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + removeCollateral: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('removeCollateral', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('removeCollateral').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(RemoveCollateral, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + removeCollaterals: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('removeCollaterals', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('removeCollaterals').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + RemoveCollateral, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + removeQuoteToken: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('removeQuoteToken', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('removeQuoteToken').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(RemoveQuoteToken, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + removeQuoteTokens: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('removeQuoteTokens', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('removeQuoteTokens').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + RemoveQuoteToken, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + repayDebt: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('repayDebt', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('repayDebt').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(RepayDebt, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + repayDebts: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('repayDebts', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('repayDebts').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + RepayDebt, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + reserveAuctionKick: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('reserveAuctionKick', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('reserveAuctionKick').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(ReserveAuctionKick, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + reserveAuctionKicks: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('reserveAuctionKicks', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('reserveAuctionKicks').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + ReserveAuctionKick, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + reserveAuctionTake: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('reserveAuctionTake', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('reserveAuctionTake').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(ReserveAuctionTake, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + reserveAuctionTakes: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('reserveAuctionTakes', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('reserveAuctionTakes').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + ReserveAuctionTake, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + resetInterestRate: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('resetInterestRate', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('resetInterestRate').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(ResetInterestRate, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + resetInterestRates: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('resetInterestRates', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('resetInterestRates').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + ResetInterestRate, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + settle: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('settle', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('settle').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Settle, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + settles: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('settles', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('settles').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Settle, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + take: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('take', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('take').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Take, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + takes: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('takes', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('takes').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Take, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + transferLP: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('transferLP', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('transferLP').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(TransferLP, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + transferLPS: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('transferLPS', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('transferLPS').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + TransferLP, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + updateInterestRate: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('updateInterestRate', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('updateInterestRate').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(UpdateInterestRate, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + updateInterestRates: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('updateInterestRates', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('updateInterestRates').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + UpdateInterestRate, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + approval: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('approval', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('approval').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Approval, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + approvals: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('approvals', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('approvals').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Approval, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + approvalForAll: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('approvalForAll', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('approvalForAll').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(ApprovalForAll, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + approvalForAlls: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('approvalForAlls', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('approvalForAlls').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + ApprovalForAll, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + moveLiquidity: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('moveLiquidity', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('moveLiquidity').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(MoveLiquidity, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + moveLiquidities: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('moveLiquidities', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('moveLiquidities').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + MoveLiquidity, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + transfer: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('transfer', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('transfer').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Transfer, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + transfers: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('transfers', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('transfers').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Transfer, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + poolCreated: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('poolCreated', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('poolCreated').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(PoolCreated, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + poolCreateds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('poolCreateds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('poolCreateds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + PoolCreated, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + addCollateralNFT: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('addCollateralNFT', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('addCollateralNFT').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(AddCollateralNFT, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + addCollateralNFTS: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('addCollateralNFTS', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('addCollateralNFTS').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + AddCollateralNFT, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + auctionNFTSettle: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('auctionNFTSettle', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('auctionNFTSettle').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(AuctionNFTSettle, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + auctionNFTSettles: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('auctionNFTSettles', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('auctionNFTSettles').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + AuctionNFTSettle, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + drawDebtNFT: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('drawDebtNFT', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('drawDebtNFT').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(DrawDebtNFT, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + drawDebtNFTS: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('drawDebtNFTS', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('drawDebtNFTS').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + DrawDebtNFT, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + mergeOrRemoveCollateralNFT: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('mergeOrRemoveCollateralNFT', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('mergeOrRemoveCollateralNFT').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(MergeOrRemoveCollateralNFT, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + mergeOrRemoveCollateralNFTS: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('mergeOrRemoveCollateralNFTS', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('mergeOrRemoveCollateralNFTS').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + MergeOrRemoveCollateralNFT, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + position: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('position', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('position').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Position, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + positions: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('positions', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('positions').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Position, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + positionLend: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('positionLend', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('positionLend').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(PositionLend, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + positionLends: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('positionLends', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('positionLends').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + PositionLend, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + burn: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('burn', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('burn').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Burn, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + burns: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('burns', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('burns').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Burn, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + memorializePosition: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('memorializePosition', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('memorializePosition').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(MemorializePosition, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + memorializePositions: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('memorializePositions', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('memorializePositions').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + MemorializePosition, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + mint: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('mint', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('mint').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Mint, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + mints: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('mints', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('mints').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Mint, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + redeemPosition: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('redeemPosition', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('redeemPosition').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(RedeemPosition, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + redeemPositions: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('redeemPositions', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('redeemPositions').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + RedeemPosition, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + grantFund: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('grantFund', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('grantFund').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(GrantFund, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + grantFunds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('grantFunds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('grantFunds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + GrantFund, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + distributionPeriod: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('distributionPeriod', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('distributionPeriod').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(DistributionPeriod, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + distributionPeriods: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('distributionPeriods', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('distributionPeriods').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + DistributionPeriod, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + proposal: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('proposal', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('proposal').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(Proposal, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + proposals: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('proposals', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('proposals').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + Proposal, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + proposalParams: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('proposalParams', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('proposalParams').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(ProposalParams, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + proposalParamss: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('proposalParamss', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('proposalParamss').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + ProposalParams, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + distributionPeriodVote: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('distributionPeriodVote', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('distributionPeriodVote').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(DistributionPeriodVote, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + distributionPeriodVotes: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('distributionPeriodVotes', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('distributionPeriodVotes').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + DistributionPeriodVote, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + screeningVote: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('screeningVote', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('screeningVote').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(ScreeningVote, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + screeningVotes: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('screeningVotes', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('screeningVotes').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + ScreeningVote, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + fundingVote: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('fundingVote', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('fundingVote').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(FundingVote, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + fundingVotes: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('fundingVotes', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('fundingVotes').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + FundingVote, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + fundedSlate: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('fundedSlate', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('fundedSlate').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(FundedSlate, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + fundedSlates: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('fundedSlates', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('fundedSlates').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + FundedSlate, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + delegateRewardClaimed: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('delegateRewardClaimed', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('delegateRewardClaimed').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(DelegateRewardClaimed, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + delegateRewardClaimeds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('delegateRewardClaimeds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('delegateRewardClaimeds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + DelegateRewardClaimed, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + fundTreasury: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('fundTreasury', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('fundTreasury').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(FundTreasury, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + fundTreasuries: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('fundTreasuries', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('fundTreasuries').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + FundTreasury, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + fundedSlateUpdated: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('fundedSlateUpdated', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('fundedSlateUpdated').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(FundedSlateUpdated, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + fundedSlateUpdateds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('fundedSlateUpdateds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('fundedSlateUpdateds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + FundedSlateUpdated, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + proposalCreated: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('proposalCreated', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('proposalCreated').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(ProposalCreated, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + proposalCreateds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('proposalCreateds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('proposalCreateds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + ProposalCreated, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + proposalExecuted: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('proposalExecuted', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('proposalExecuted').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(ProposalExecuted, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + proposalExecuteds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('proposalExecuteds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('proposalExecuteds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + ProposalExecuted, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + distributionPeriodStarted: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('distributionPeriodStarted', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('distributionPeriodStarted').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(DistributionPeriodStarted, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + distributionPeriodStarteds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('distributionPeriodStarteds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('distributionPeriodStarteds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + DistributionPeriodStarted, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + voteCast: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('voteCast', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('voteCast').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(VoteCast, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + voteCasts: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('voteCasts', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('voteCasts').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + VoteCast, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + delegateChanged: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('delegateChanged', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('delegateChanged').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(DelegateChanged, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + delegateChangeds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('delegateChangeds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('delegateChangeds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + DelegateChanged, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + delegateVotesChanged: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('delegateVotesChanged', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('delegateVotesChanged').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(DelegateVotesChanged, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + delegateVotesChangeds: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('delegateVotesChangeds', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('delegateVotesChangeds').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + DelegateVotesChanged, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + burnWrap: async ( + _: any, + { id, block = {} }: { id: string, block: BlockHeight }, + __: any, + info: GraphQLResolveInfo + ) => { + log('burnWrap', id, JSON.stringify(block, jsonBigIntStringReplacer)); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('burnWrap').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntity(BurnWrap, id, block, info.fieldNodes[0].selectionSet.selections); + }, + + burnWraps: async ( + _: any, + { block = {}, where, first, skip, orderBy, orderDirection }: { block: BlockHeight, where: { [key: string]: any }, first: number, skip: number, orderBy: string, orderDirection: OrderDirection }, + __: any, + info: GraphQLResolveInfo + ) => { + log('burnWraps', JSON.stringify(block, jsonBigIntStringReplacer), JSON.stringify(where, jsonBigIntStringReplacer), first, skip, orderBy, orderDirection); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('burnWraps').inc(1); + assert(info.fieldNodes[0].selectionSet); + + // Set cache-control hints + // setGQLCacheHints(info, block, gqlCacheConfig); + + return indexer.getSubgraphEntities( + BurnWrap, + block, + where, + { limit: first, skip, orderBy, orderDirection }, + info.fieldNodes[0].selectionSet.selections + ); + }, + + events: async (_: any, { blockHash, contractAddress, name }: { blockHash: string, contractAddress: string, name?: string }) => { + log('events', blockHash, contractAddress, name); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('events').inc(1); + + const block = await indexer.getBlockProgress(blockHash); + if (!block || !block.isComplete) { + throw new Error(`Block hash ${blockHash} number ${block?.blockNumber} not processed yet`); + } + + const events = await indexer.getEventsByFilter(blockHash, contractAddress, name); + return events.map(event => indexer.getResultEvent(event)); + }, + + eventsInRange: async (_: any, { fromBlockNumber, toBlockNumber }: { fromBlockNumber: number, toBlockNumber: number }) => { + log('eventsInRange', fromBlockNumber, toBlockNumber); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('eventsInRange').inc(1); + + const syncStatus = await indexer.getSyncStatus(); + + if (!syncStatus) { + throw new Error('No blocks processed yet'); + } + + if ((fromBlockNumber < syncStatus.initialIndexedBlockNumber) || (toBlockNumber > syncStatus.latestProcessedBlockNumber)) { + throw new Error(`Block range should be between ${syncStatus.initialIndexedBlockNumber} and ${syncStatus.latestProcessedBlockNumber}`); + } + + const events = await indexer.getEventsInRange(fromBlockNumber, toBlockNumber); + return events.map(event => indexer.getResultEvent(event)); + }, + + getStateByCID: async (_: any, { cid }: { cid: string }) => { + log('getStateByCID', cid); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getStateByCID').inc(1); + + const state = await indexer.getStateByCID(cid); + + return state && state.block.isComplete ? getResultState(state) : undefined; + }, + + getState: async (_: any, { blockHash, contractAddress, kind }: { blockHash: string, contractAddress: string, kind: string }) => { + log('getState', blockHash, contractAddress, kind); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getState').inc(1); + + const state = await indexer.getPrevState(blockHash, contractAddress, kind); + + return state && state.block.isComplete ? getResultState(state) : undefined; + }, + + _meta: async ( + _: any, + { block = {} }: { block: BlockHeight } + ) => { + log('_meta'); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('_meta').inc(1); + + return indexer.getMetaData(block); + }, + + getSyncStatus: async () => { + log('getSyncStatus'); + gqlTotalQueryCount.inc(1); + gqlQueryCount.labels('getSyncStatus').inc(1); + + return indexer.getSyncStatus(); + } + } + }; +}; diff --git a/src/schema.gql b/src/schema.gql new file mode 100644 index 0000000..0e67067 --- /dev/null +++ b/src/schema.gql @@ -0,0 +1,10902 @@ +directive @cacheControl(maxAge: Int, inheritMaxAge: Boolean, scope: CacheControlScope) on FIELD_DEFINITION | OBJECT | INTERFACE | UNION + +enum CacheControlScope { + PUBLIC + PRIVATE +} + +scalar BigInt + +scalar BigDecimal + +scalar Bytes + +type Proof { + data: String! +} + +type _Block_ { + cid: String + hash: String! + number: Int! + timestamp: Int! + parentHash: String! +} + +type _Transaction_ { + hash: String! + index: Int! + from: String! + to: String! +} + +type ResultEvent { + block: _Block_! + tx: _Transaction_! + contract: String! + eventIndex: Int! + event: Event! + proof: Proof +} + +union Event = ApprovalEvent | ApprovalForAllEvent | BurnEvent | MemorializePositionEvent | MintEvent | MoveLiquidityEvent | RedeemPositionEvent | TransferEvent | PoolCreatedEvent | DelegateRewardClaimedEvent | DistributionPeriodStartedEvent | FundTreasuryEvent | FundedSlateUpdatedEvent | ProposalCreatedEvent | ProposalExecutedEvent | VoteCastEvent | DelegateChangedEvent | DelegateVotesChangedEvent | AddCollateralEvent | AddQuoteTokenEvent | ApproveLPTransferorsEvent | AuctionNFTSettleEvent | AuctionSettleEvent | BondWithdrawnEvent | BucketBankruptcyEvent | BucketTakeEvent | BucketTakeLPAwardedEvent | DecreaseLPAllowanceEvent | DrawDebtEvent | FlashloanEvent | IncreaseLPAllowanceEvent | InterestUpdateFailureEvent | KickEvent | KickReserveAuctionEvent | LoanStampedEvent | MoveQuoteTokenEvent | RemoveCollateralEvent | RemoveQuoteTokenEvent | RepayDebtEvent | ReserveAuctionEvent | ResetInterestRateEvent | RevokeLPAllowanceEvent | RevokeLPTransferorsEvent | SettleEvent | TakeEvent | TransferLPEvent | UpdateInterestRateEvent | AddCollateralNFTEvent | DrawDebtNFTEvent | MergeOrRemoveCollateralNFTEvent + +type ApprovalEvent { + owner: String! + approved: String + tokenId: BigInt + spender: String + value: BigInt +} + +type ApprovalForAllEvent { + owner: String! + operator: String! + approved: Boolean! +} + +type BurnEvent { + lender: String! + tokenId: BigInt! +} + +type MemorializePositionEvent { + lender: String! + tokenId: BigInt! + indexes: [BigInt!] +} + +type MintEvent { + lender: String! + pool: String! + tokenId: BigInt! +} + +type MoveLiquidityEvent { + lender: String! + tokenId: BigInt! + fromIndex: BigInt! + toIndex: BigInt! + lpRedeemedFrom: BigInt! + lpAwardedTo: BigInt! +} + +type RedeemPositionEvent { + lender: String! + tokenId: BigInt! + indexes: [BigInt!] +} + +type TransferEvent { + from: String! + to: String! + tokenId: BigInt + value: BigInt +} + +type PoolCreatedEvent { + pool_: String! + subsetHash_: String! +} + +type DelegateRewardClaimedEvent { + delegateeAddress: String! + distributionId: BigInt! + rewardClaimed: BigInt! +} + +type DistributionPeriodStartedEvent { + distributionId: BigInt! + startBlock: BigInt! + endBlock: BigInt! +} + +type FundTreasuryEvent { + amount: BigInt! + treasuryBalance: BigInt! +} + +type FundedSlateUpdatedEvent { + distributionId: BigInt! + fundedSlateHash: String! +} + +type ProposalCreatedEvent { + proposalId: BigInt! + proposer: String! + targets: [String!] + values: [BigInt!] + signatures: [String!] + calldatas: [String!] + startBlock: BigInt! + endBlock: BigInt! + description: String! +} + +type ProposalExecutedEvent { + proposalId: BigInt! +} + +type VoteCastEvent { + voter: String! + proposalId: BigInt! + support: Int! + weight: BigInt! + reason: String! +} + +type DelegateChangedEvent { + delegator: String! + fromDelegate: String! + toDelegate: String! +} + +type DelegateVotesChangedEvent { + delegate: String! + previousBalance: BigInt! + newBalance: BigInt! +} + +type AddCollateralEvent { + actor: String! + index: BigInt! + amount: BigInt! + lpAwarded: BigInt! +} + +type AddQuoteTokenEvent { + lender: String! + index: BigInt! + amount: BigInt! + lpAwarded: BigInt! + lup: BigInt! +} + +type ApproveLPTransferorsEvent { + lender: String! + transferors: [String!] +} + +type AuctionNFTSettleEvent { + borrower: String! + collateral: BigInt! + lp: BigInt! + index: BigInt! +} + +type AuctionSettleEvent { + borrower: String! + collateral: BigInt! +} + +type BondWithdrawnEvent { + kicker: String! + reciever: String! + amount: BigInt! +} + +type BucketBankruptcyEvent { + index: BigInt! + lpForfeited: BigInt! +} + +type BucketTakeEvent { + borrower: String! + index: BigInt! + amount: BigInt! + collateral: BigInt! + bondChange: BigInt! + isReward: Boolean! +} + +type BucketTakeLPAwardedEvent { + taker: String! + kicker: String! + lpAwardedTaker: BigInt! + lpAwardedKicker: BigInt! +} + +type DecreaseLPAllowanceEvent { + owner: String! + spender: String! + indexes: [BigInt!] + amounts: [BigInt!] +} + +type DrawDebtEvent { + borrower: String! + amountBorrowed: BigInt! + collateralPledged: BigInt! + lup: BigInt! +} + +type FlashloanEvent { + receiver: String! + token: String! + amount: BigInt! +} + +type IncreaseLPAllowanceEvent { + owner: String! + spender: String! + indexes: [BigInt!] + amounts: [BigInt!] +} + +type InterestUpdateFailureEvent { + dummy: String +} + +type KickEvent { + borrower: String! + debt: BigInt! + collateral: BigInt! + bond: BigInt! +} + +type KickReserveAuctionEvent { + claimableReservesRemaining: BigInt! + auctionPrice: BigInt! + currentBurnEpoch: BigInt! +} + +type LoanStampedEvent { + borrower: String! +} + +type MoveQuoteTokenEvent { + lender: String! + from: BigInt! + to: BigInt! + amount: BigInt! + lpRedeemedFrom: BigInt! + lpAwardedTo: BigInt! + lup: BigInt! +} + +type RemoveCollateralEvent { + claimer: String! + index: BigInt! + amount: BigInt! + lpRedeemed: BigInt! +} + +type RemoveQuoteTokenEvent { + lender: String! + index: BigInt! + amount: BigInt! + lpRedeemed: BigInt! + lup: BigInt! +} + +type RepayDebtEvent { + borrower: String! + quoteRepaid: BigInt! + collateralPulled: BigInt! + lup: BigInt! +} + +type ReserveAuctionEvent { + claimableReservesRemaining: BigInt! + auctionPrice: BigInt! + currentBurnEpoch: BigInt! +} + +type ResetInterestRateEvent { + oldRate: BigInt! + newRate: BigInt! +} + +type RevokeLPAllowanceEvent { + owner: String! + spender: String! + indexes: [BigInt!] +} + +type RevokeLPTransferorsEvent { + lender: String! + transferors: [String!] +} + +type SettleEvent { + borrower: String! + settledDebt: BigInt! +} + +type TakeEvent { + borrower: String! + amount: BigInt! + collateral: BigInt! + bondChange: BigInt! + isReward: Boolean! +} + +type TransferLPEvent { + owner: String! + newOwner: String! + indexes: [BigInt!] + lp: BigInt! +} + +type UpdateInterestRateEvent { + oldRate: BigInt! + newRate: BigInt! +} + +type AddCollateralNFTEvent { + actor: String! + index: BigInt! + tokenIds: [BigInt!] + lpAwarded: BigInt! +} + +type DrawDebtNFTEvent { + borrower: String! + amountBorrowed: BigInt! + tokenIdsPledged: [BigInt!] + lup: BigInt! +} + +type MergeOrRemoveCollateralNFTEvent { + actor: String! + collateralMerged: BigInt! + toIndexLps: BigInt! +} + +input Block_height { + hash: Bytes + number: Int +} + +input BlockChangedFilter { + number_gte: Int! +} + +enum OrderDirection { + asc + desc +} + +enum Token_orderBy { + id + symbol + name + decimals + tokenType + poolCount + pools + totalSupply + txCount +} + +input Token_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + symbol: String + symbol_not: String + symbol_gt: String + symbol_lt: String + symbol_gte: String + symbol_lte: String + symbol_in: [String!] + symbol_not_in: [String!] + symbol_starts_with: String + symbol_starts_with_nocase: String + symbol_not_starts_with: String + symbol_not_starts_with_nocase: String + symbol_ends_with: String + symbol_ends_with_nocase: String + symbol_not_ends_with: String + symbol_not_ends_with_nocase: String + symbol_contains: String + symbol_not_contains: String + symbol_contains_nocase: String + symbol_not_contains_nocase: String + name: String + name_not: String + name_gt: String + name_lt: String + name_gte: String + name_lte: String + name_in: [String!] + name_not_in: [String!] + name_starts_with: String + name_starts_with_nocase: String + name_not_starts_with: String + name_not_starts_with_nocase: String + name_ends_with: String + name_ends_with_nocase: String + name_not_ends_with: String + name_not_ends_with_nocase: String + name_contains: String + name_not_contains: String + name_contains_nocase: String + name_not_contains_nocase: String + decimals: Int + decimals_not: Int + decimals_gt: Int + decimals_lt: Int + decimals_gte: Int + decimals_lte: Int + decimals_in: [Int!] + decimals_not_in: [Int!] + tokenType: String + tokenType_not: String + tokenType_gt: String + tokenType_lt: String + tokenType_gte: String + tokenType_lte: String + tokenType_in: [String!] + tokenType_not_in: [String!] + tokenType_starts_with: String + tokenType_starts_with_nocase: String + tokenType_not_starts_with: String + tokenType_not_starts_with_nocase: String + tokenType_ends_with: String + tokenType_ends_with_nocase: String + tokenType_not_ends_with: String + tokenType_not_ends_with_nocase: String + tokenType_contains: String + tokenType_not_contains: String + tokenType_contains_nocase: String + tokenType_not_contains_nocase: String + poolCount: BigInt + poolCount_not: BigInt + poolCount_gt: BigInt + poolCount_lt: BigInt + poolCount_gte: BigInt + poolCount_lte: BigInt + poolCount_in: [BigInt!] + poolCount_not_in: [BigInt!] + pools: [String!] + pools_not: [String!] + pools_contains: [String!] + pools_not_contains: [String!] + pools_contains_nocase: [String!] + pools_not_contains_nocase: [String!] + pools_: Pool_filter + totalSupply: BigInt + totalSupply_not: BigInt + totalSupply_gt: BigInt + totalSupply_lt: BigInt + totalSupply_gte: BigInt + totalSupply_lte: BigInt + totalSupply_in: [BigInt!] + totalSupply_not_in: [BigInt!] + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + _change_block: BlockChangedFilter + and: [Token_filter] + or: [Token_filter] +} + +enum PoolFactory_orderBy { + id + poolType + poolCount + pools + txCount +} + +input PoolFactory_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + poolType: String + poolType_not: String + poolType_gt: String + poolType_lt: String + poolType_gte: String + poolType_lte: String + poolType_in: [String!] + poolType_not_in: [String!] + poolType_starts_with: String + poolType_starts_with_nocase: String + poolType_not_starts_with: String + poolType_not_starts_with_nocase: String + poolType_ends_with: String + poolType_ends_with_nocase: String + poolType_not_ends_with: String + poolType_not_ends_with_nocase: String + poolType_contains: String + poolType_not_contains: String + poolType_contains_nocase: String + poolType_not_contains_nocase: String + poolCount: BigInt + poolCount_not: BigInt + poolCount_gt: BigInt + poolCount_lt: BigInt + poolCount_gte: BigInt + poolCount_lte: BigInt + poolCount_in: [BigInt!] + poolCount_not_in: [BigInt!] + pools: [String!] + pools_not: [String!] + pools_contains: [String!] + pools_not_contains: [String!] + pools_contains_nocase: [String!] + pools_not_contains_nocase: [String!] + pools_: Pool_filter + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + _change_block: BlockChangedFilter + and: [PoolFactory_filter] + or: [PoolFactory_filter] +} + +enum Pool_orderBy { + id + createdAtBlockNumber + createdAtTimestamp + collateralToken + collateralToken__id + collateralToken__symbol + collateralToken__name + collateralToken__decimals + collateralToken__tokenType + collateralToken__poolCount + collateralToken__totalSupply + collateralToken__txCount + quoteToken + quoteToken__id + quoteToken__symbol + quoteToken__name + quoteToken__decimals + quoteToken__tokenType + quoteToken__poolCount + quoteToken__totalSupply + quoteToken__txCount + poolSize + t0debt + inflator + borrowRate + lendRate + borrowFeeRate + depositFeeRate + pledgedCollateral + totalInterestEarned + txCount + poolType + loansCount + maxBorrower + quoteTokenFlashloaned + collateralFlashloaned + hpb + hpbIndex + htp + htpIndex + lup + lupIndex + reserves + claimableReserves + claimableReservesRemaining + burnEpoch + totalAjnaBurned + reserveAuctions + minDebtAmount + actualUtilization + targetUtilization + totalBondEscrowed + liquidationAuctions + quoteTokenBalance + collateralBalance + subsetHash + tokenIdsPledged + bucketTokenIds + tokenIdsAllowed +} + +input Pool_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + createdAtBlockNumber: BigInt + createdAtBlockNumber_not: BigInt + createdAtBlockNumber_gt: BigInt + createdAtBlockNumber_lt: BigInt + createdAtBlockNumber_gte: BigInt + createdAtBlockNumber_lte: BigInt + createdAtBlockNumber_in: [BigInt!] + createdAtBlockNumber_not_in: [BigInt!] + createdAtTimestamp: BigInt + createdAtTimestamp_not: BigInt + createdAtTimestamp_gt: BigInt + createdAtTimestamp_lt: BigInt + createdAtTimestamp_gte: BigInt + createdAtTimestamp_lte: BigInt + createdAtTimestamp_in: [BigInt!] + createdAtTimestamp_not_in: [BigInt!] + collateralToken: String + collateralToken_not: String + collateralToken_gt: String + collateralToken_lt: String + collateralToken_gte: String + collateralToken_lte: String + collateralToken_in: [String!] + collateralToken_not_in: [String!] + collateralToken_starts_with: String + collateralToken_starts_with_nocase: String + collateralToken_not_starts_with: String + collateralToken_not_starts_with_nocase: String + collateralToken_ends_with: String + collateralToken_ends_with_nocase: String + collateralToken_not_ends_with: String + collateralToken_not_ends_with_nocase: String + collateralToken_contains: String + collateralToken_not_contains: String + collateralToken_contains_nocase: String + collateralToken_not_contains_nocase: String + collateralToken_: Token_filter + quoteToken: String + quoteToken_not: String + quoteToken_gt: String + quoteToken_lt: String + quoteToken_gte: String + quoteToken_lte: String + quoteToken_in: [String!] + quoteToken_not_in: [String!] + quoteToken_starts_with: String + quoteToken_starts_with_nocase: String + quoteToken_not_starts_with: String + quoteToken_not_starts_with_nocase: String + quoteToken_ends_with: String + quoteToken_ends_with_nocase: String + quoteToken_not_ends_with: String + quoteToken_not_ends_with_nocase: String + quoteToken_contains: String + quoteToken_not_contains: String + quoteToken_contains_nocase: String + quoteToken_not_contains_nocase: String + quoteToken_: Token_filter + poolSize: BigDecimal + poolSize_not: BigDecimal + poolSize_gt: BigDecimal + poolSize_lt: BigDecimal + poolSize_gte: BigDecimal + poolSize_lte: BigDecimal + poolSize_in: [BigDecimal!] + poolSize_not_in: [BigDecimal!] + t0debt: BigDecimal + t0debt_not: BigDecimal + t0debt_gt: BigDecimal + t0debt_lt: BigDecimal + t0debt_gte: BigDecimal + t0debt_lte: BigDecimal + t0debt_in: [BigDecimal!] + t0debt_not_in: [BigDecimal!] + inflator: BigDecimal + inflator_not: BigDecimal + inflator_gt: BigDecimal + inflator_lt: BigDecimal + inflator_gte: BigDecimal + inflator_lte: BigDecimal + inflator_in: [BigDecimal!] + inflator_not_in: [BigDecimal!] + borrowRate: BigDecimal + borrowRate_not: BigDecimal + borrowRate_gt: BigDecimal + borrowRate_lt: BigDecimal + borrowRate_gte: BigDecimal + borrowRate_lte: BigDecimal + borrowRate_in: [BigDecimal!] + borrowRate_not_in: [BigDecimal!] + lendRate: BigDecimal + lendRate_not: BigDecimal + lendRate_gt: BigDecimal + lendRate_lt: BigDecimal + lendRate_gte: BigDecimal + lendRate_lte: BigDecimal + lendRate_in: [BigDecimal!] + lendRate_not_in: [BigDecimal!] + borrowFeeRate: BigDecimal + borrowFeeRate_not: BigDecimal + borrowFeeRate_gt: BigDecimal + borrowFeeRate_lt: BigDecimal + borrowFeeRate_gte: BigDecimal + borrowFeeRate_lte: BigDecimal + borrowFeeRate_in: [BigDecimal!] + borrowFeeRate_not_in: [BigDecimal!] + depositFeeRate: BigDecimal + depositFeeRate_not: BigDecimal + depositFeeRate_gt: BigDecimal + depositFeeRate_lt: BigDecimal + depositFeeRate_gte: BigDecimal + depositFeeRate_lte: BigDecimal + depositFeeRate_in: [BigDecimal!] + depositFeeRate_not_in: [BigDecimal!] + pledgedCollateral: BigDecimal + pledgedCollateral_not: BigDecimal + pledgedCollateral_gt: BigDecimal + pledgedCollateral_lt: BigDecimal + pledgedCollateral_gte: BigDecimal + pledgedCollateral_lte: BigDecimal + pledgedCollateral_in: [BigDecimal!] + pledgedCollateral_not_in: [BigDecimal!] + totalInterestEarned: BigDecimal + totalInterestEarned_not: BigDecimal + totalInterestEarned_gt: BigDecimal + totalInterestEarned_lt: BigDecimal + totalInterestEarned_gte: BigDecimal + totalInterestEarned_lte: BigDecimal + totalInterestEarned_in: [BigDecimal!] + totalInterestEarned_not_in: [BigDecimal!] + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + poolType: String + poolType_not: String + poolType_gt: String + poolType_lt: String + poolType_gte: String + poolType_lte: String + poolType_in: [String!] + poolType_not_in: [String!] + poolType_starts_with: String + poolType_starts_with_nocase: String + poolType_not_starts_with: String + poolType_not_starts_with_nocase: String + poolType_ends_with: String + poolType_ends_with_nocase: String + poolType_not_ends_with: String + poolType_not_ends_with_nocase: String + poolType_contains: String + poolType_not_contains: String + poolType_contains_nocase: String + poolType_not_contains_nocase: String + loansCount: BigInt + loansCount_not: BigInt + loansCount_gt: BigInt + loansCount_lt: BigInt + loansCount_gte: BigInt + loansCount_lte: BigInt + loansCount_in: [BigInt!] + loansCount_not_in: [BigInt!] + maxBorrower: Bytes + maxBorrower_not: Bytes + maxBorrower_gt: Bytes + maxBorrower_lt: Bytes + maxBorrower_gte: Bytes + maxBorrower_lte: Bytes + maxBorrower_in: [Bytes!] + maxBorrower_not_in: [Bytes!] + maxBorrower_contains: Bytes + maxBorrower_not_contains: Bytes + quoteTokenFlashloaned: BigDecimal + quoteTokenFlashloaned_not: BigDecimal + quoteTokenFlashloaned_gt: BigDecimal + quoteTokenFlashloaned_lt: BigDecimal + quoteTokenFlashloaned_gte: BigDecimal + quoteTokenFlashloaned_lte: BigDecimal + quoteTokenFlashloaned_in: [BigDecimal!] + quoteTokenFlashloaned_not_in: [BigDecimal!] + collateralFlashloaned: BigDecimal + collateralFlashloaned_not: BigDecimal + collateralFlashloaned_gt: BigDecimal + collateralFlashloaned_lt: BigDecimal + collateralFlashloaned_gte: BigDecimal + collateralFlashloaned_lte: BigDecimal + collateralFlashloaned_in: [BigDecimal!] + collateralFlashloaned_not_in: [BigDecimal!] + hpb: BigDecimal + hpb_not: BigDecimal + hpb_gt: BigDecimal + hpb_lt: BigDecimal + hpb_gte: BigDecimal + hpb_lte: BigDecimal + hpb_in: [BigDecimal!] + hpb_not_in: [BigDecimal!] + hpbIndex: Int + hpbIndex_not: Int + hpbIndex_gt: Int + hpbIndex_lt: Int + hpbIndex_gte: Int + hpbIndex_lte: Int + hpbIndex_in: [Int!] + hpbIndex_not_in: [Int!] + htp: BigDecimal + htp_not: BigDecimal + htp_gt: BigDecimal + htp_lt: BigDecimal + htp_gte: BigDecimal + htp_lte: BigDecimal + htp_in: [BigDecimal!] + htp_not_in: [BigDecimal!] + htpIndex: Int + htpIndex_not: Int + htpIndex_gt: Int + htpIndex_lt: Int + htpIndex_gte: Int + htpIndex_lte: Int + htpIndex_in: [Int!] + htpIndex_not_in: [Int!] + lup: BigDecimal + lup_not: BigDecimal + lup_gt: BigDecimal + lup_lt: BigDecimal + lup_gte: BigDecimal + lup_lte: BigDecimal + lup_in: [BigDecimal!] + lup_not_in: [BigDecimal!] + lupIndex: Int + lupIndex_not: Int + lupIndex_gt: Int + lupIndex_lt: Int + lupIndex_gte: Int + lupIndex_lte: Int + lupIndex_in: [Int!] + lupIndex_not_in: [Int!] + reserves: BigDecimal + reserves_not: BigDecimal + reserves_gt: BigDecimal + reserves_lt: BigDecimal + reserves_gte: BigDecimal + reserves_lte: BigDecimal + reserves_in: [BigDecimal!] + reserves_not_in: [BigDecimal!] + claimableReserves: BigDecimal + claimableReserves_not: BigDecimal + claimableReserves_gt: BigDecimal + claimableReserves_lt: BigDecimal + claimableReserves_gte: BigDecimal + claimableReserves_lte: BigDecimal + claimableReserves_in: [BigDecimal!] + claimableReserves_not_in: [BigDecimal!] + claimableReservesRemaining: BigDecimal + claimableReservesRemaining_not: BigDecimal + claimableReservesRemaining_gt: BigDecimal + claimableReservesRemaining_lt: BigDecimal + claimableReservesRemaining_gte: BigDecimal + claimableReservesRemaining_lte: BigDecimal + claimableReservesRemaining_in: [BigDecimal!] + claimableReservesRemaining_not_in: [BigDecimal!] + burnEpoch: BigInt + burnEpoch_not: BigInt + burnEpoch_gt: BigInt + burnEpoch_lt: BigInt + burnEpoch_gte: BigInt + burnEpoch_lte: BigInt + burnEpoch_in: [BigInt!] + burnEpoch_not_in: [BigInt!] + totalAjnaBurned: BigDecimal + totalAjnaBurned_not: BigDecimal + totalAjnaBurned_gt: BigDecimal + totalAjnaBurned_lt: BigDecimal + totalAjnaBurned_gte: BigDecimal + totalAjnaBurned_lte: BigDecimal + totalAjnaBurned_in: [BigDecimal!] + totalAjnaBurned_not_in: [BigDecimal!] + reserveAuctions: [String!] + reserveAuctions_not: [String!] + reserveAuctions_contains: [String!] + reserveAuctions_not_contains: [String!] + reserveAuctions_contains_nocase: [String!] + reserveAuctions_not_contains_nocase: [String!] + reserveAuctions_: ReserveAuction_filter + minDebtAmount: BigDecimal + minDebtAmount_not: BigDecimal + minDebtAmount_gt: BigDecimal + minDebtAmount_lt: BigDecimal + minDebtAmount_gte: BigDecimal + minDebtAmount_lte: BigDecimal + minDebtAmount_in: [BigDecimal!] + minDebtAmount_not_in: [BigDecimal!] + actualUtilization: BigDecimal + actualUtilization_not: BigDecimal + actualUtilization_gt: BigDecimal + actualUtilization_lt: BigDecimal + actualUtilization_gte: BigDecimal + actualUtilization_lte: BigDecimal + actualUtilization_in: [BigDecimal!] + actualUtilization_not_in: [BigDecimal!] + targetUtilization: BigDecimal + targetUtilization_not: BigDecimal + targetUtilization_gt: BigDecimal + targetUtilization_lt: BigDecimal + targetUtilization_gte: BigDecimal + targetUtilization_lte: BigDecimal + targetUtilization_in: [BigDecimal!] + targetUtilization_not_in: [BigDecimal!] + totalBondEscrowed: BigDecimal + totalBondEscrowed_not: BigDecimal + totalBondEscrowed_gt: BigDecimal + totalBondEscrowed_lt: BigDecimal + totalBondEscrowed_gte: BigDecimal + totalBondEscrowed_lte: BigDecimal + totalBondEscrowed_in: [BigDecimal!] + totalBondEscrowed_not_in: [BigDecimal!] + liquidationAuctions: [String!] + liquidationAuctions_not: [String!] + liquidationAuctions_contains: [String!] + liquidationAuctions_not_contains: [String!] + liquidationAuctions_contains_nocase: [String!] + liquidationAuctions_not_contains_nocase: [String!] + liquidationAuctions_: LiquidationAuction_filter + quoteTokenBalance: BigDecimal + quoteTokenBalance_not: BigDecimal + quoteTokenBalance_gt: BigDecimal + quoteTokenBalance_lt: BigDecimal + quoteTokenBalance_gte: BigDecimal + quoteTokenBalance_lte: BigDecimal + quoteTokenBalance_in: [BigDecimal!] + quoteTokenBalance_not_in: [BigDecimal!] + collateralBalance: BigDecimal + collateralBalance_not: BigDecimal + collateralBalance_gt: BigDecimal + collateralBalance_lt: BigDecimal + collateralBalance_gte: BigDecimal + collateralBalance_lte: BigDecimal + collateralBalance_in: [BigDecimal!] + collateralBalance_not_in: [BigDecimal!] + subsetHash: Bytes + subsetHash_not: Bytes + subsetHash_gt: Bytes + subsetHash_lt: Bytes + subsetHash_gte: Bytes + subsetHash_lte: Bytes + subsetHash_in: [Bytes!] + subsetHash_not_in: [Bytes!] + subsetHash_contains: Bytes + subsetHash_not_contains: Bytes + tokenIdsPledged: [BigInt!] + tokenIdsPledged_not: [BigInt!] + tokenIdsPledged_contains: [BigInt!] + tokenIdsPledged_not_contains: [BigInt!] + tokenIdsPledged_contains_nocase: [BigInt!] + tokenIdsPledged_not_contains_nocase: [BigInt!] + bucketTokenIds: [BigInt!] + bucketTokenIds_not: [BigInt!] + bucketTokenIds_contains: [BigInt!] + bucketTokenIds_not_contains: [BigInt!] + bucketTokenIds_contains_nocase: [BigInt!] + bucketTokenIds_not_contains_nocase: [BigInt!] + tokenIdsAllowed: [BigInt!] + tokenIdsAllowed_not: [BigInt!] + tokenIdsAllowed_contains: [BigInt!] + tokenIdsAllowed_not_contains: [BigInt!] + tokenIdsAllowed_contains_nocase: [BigInt!] + tokenIdsAllowed_not_contains_nocase: [BigInt!] + _change_block: BlockChangedFilter + and: [Pool_filter] + or: [Pool_filter] +} + +enum Bucket_orderBy { + id + bucketIndex + bucketPrice + exchangeRate + poolAddress + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + collateral + deposit + lpb + lends + positionLends +} + +input Bucket_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + bucketIndex: Int + bucketIndex_not: Int + bucketIndex_gt: Int + bucketIndex_lt: Int + bucketIndex_gte: Int + bucketIndex_lte: Int + bucketIndex_in: [Int!] + bucketIndex_not_in: [Int!] + bucketPrice: BigDecimal + bucketPrice_not: BigDecimal + bucketPrice_gt: BigDecimal + bucketPrice_lt: BigDecimal + bucketPrice_gte: BigDecimal + bucketPrice_lte: BigDecimal + bucketPrice_in: [BigDecimal!] + bucketPrice_not_in: [BigDecimal!] + exchangeRate: BigDecimal + exchangeRate_not: BigDecimal + exchangeRate_gt: BigDecimal + exchangeRate_lt: BigDecimal + exchangeRate_gte: BigDecimal + exchangeRate_lte: BigDecimal + exchangeRate_in: [BigDecimal!] + exchangeRate_not_in: [BigDecimal!] + poolAddress: String + poolAddress_not: String + poolAddress_gt: String + poolAddress_lt: String + poolAddress_gte: String + poolAddress_lte: String + poolAddress_in: [String!] + poolAddress_not_in: [String!] + poolAddress_starts_with: String + poolAddress_starts_with_nocase: String + poolAddress_not_starts_with: String + poolAddress_not_starts_with_nocase: String + poolAddress_ends_with: String + poolAddress_ends_with_nocase: String + poolAddress_not_ends_with: String + poolAddress_not_ends_with_nocase: String + poolAddress_contains: String + poolAddress_not_contains: String + poolAddress_contains_nocase: String + poolAddress_not_contains_nocase: String + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + collateral: BigDecimal + collateral_not: BigDecimal + collateral_gt: BigDecimal + collateral_lt: BigDecimal + collateral_gte: BigDecimal + collateral_lte: BigDecimal + collateral_in: [BigDecimal!] + collateral_not_in: [BigDecimal!] + deposit: BigDecimal + deposit_not: BigDecimal + deposit_gt: BigDecimal + deposit_lt: BigDecimal + deposit_gte: BigDecimal + deposit_lte: BigDecimal + deposit_in: [BigDecimal!] + deposit_not_in: [BigDecimal!] + lpb: BigDecimal + lpb_not: BigDecimal + lpb_gt: BigDecimal + lpb_lt: BigDecimal + lpb_gte: BigDecimal + lpb_lte: BigDecimal + lpb_in: [BigDecimal!] + lpb_not_in: [BigDecimal!] + lends: [String!] + lends_not: [String!] + lends_contains: [String!] + lends_not_contains: [String!] + lends_contains_nocase: [String!] + lends_not_contains_nocase: [String!] + lends_: Lend_filter + positionLends: [String!] + positionLends_not: [String!] + positionLends_contains: [String!] + positionLends_not_contains: [String!] + positionLends_contains_nocase: [String!] + positionLends_not_contains_nocase: [String!] + positionLends_: PositionLend_filter + _change_block: BlockChangedFilter + and: [Bucket_filter] + or: [Bucket_filter] +} + +enum Lend_orderBy { + id + bucket + bucket__id + bucket__bucketIndex + bucket__bucketPrice + bucket__exchangeRate + bucket__poolAddress + bucket__collateral + bucket__deposit + bucket__lpb + bucketIndex + poolAddress + lender + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + lpb + lpbValueInQuote + depositTime +} + +input Lend_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + bucket: String + bucket_not: String + bucket_gt: String + bucket_lt: String + bucket_gte: String + bucket_lte: String + bucket_in: [String!] + bucket_not_in: [String!] + bucket_starts_with: String + bucket_starts_with_nocase: String + bucket_not_starts_with: String + bucket_not_starts_with_nocase: String + bucket_ends_with: String + bucket_ends_with_nocase: String + bucket_not_ends_with: String + bucket_not_ends_with_nocase: String + bucket_contains: String + bucket_not_contains: String + bucket_contains_nocase: String + bucket_not_contains_nocase: String + bucket_: Bucket_filter + bucketIndex: Int + bucketIndex_not: Int + bucketIndex_gt: Int + bucketIndex_lt: Int + bucketIndex_gte: Int + bucketIndex_lte: Int + bucketIndex_in: [Int!] + bucketIndex_not_in: [Int!] + poolAddress: String + poolAddress_not: String + poolAddress_gt: String + poolAddress_lt: String + poolAddress_gte: String + poolAddress_lte: String + poolAddress_in: [String!] + poolAddress_not_in: [String!] + poolAddress_starts_with: String + poolAddress_starts_with_nocase: String + poolAddress_not_starts_with: String + poolAddress_not_starts_with_nocase: String + poolAddress_ends_with: String + poolAddress_ends_with_nocase: String + poolAddress_not_ends_with: String + poolAddress_not_ends_with_nocase: String + poolAddress_contains: String + poolAddress_not_contains: String + poolAddress_contains_nocase: String + poolAddress_not_contains_nocase: String + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + lpb: BigDecimal + lpb_not: BigDecimal + lpb_gt: BigDecimal + lpb_lt: BigDecimal + lpb_gte: BigDecimal + lpb_lte: BigDecimal + lpb_in: [BigDecimal!] + lpb_not_in: [BigDecimal!] + lpbValueInQuote: BigDecimal + lpbValueInQuote_not: BigDecimal + lpbValueInQuote_gt: BigDecimal + lpbValueInQuote_lt: BigDecimal + lpbValueInQuote_gte: BigDecimal + lpbValueInQuote_lte: BigDecimal + lpbValueInQuote_in: [BigDecimal!] + lpbValueInQuote_not_in: [BigDecimal!] + depositTime: BigInt + depositTime_not: BigInt + depositTime_gt: BigInt + depositTime_lt: BigInt + depositTime_gte: BigInt + depositTime_lte: BigInt + depositTime_in: [BigInt!] + depositTime_not_in: [BigInt!] + _change_block: BlockChangedFilter + and: [Lend_filter] + or: [Lend_filter] +} + +enum Loan_orderBy { + id + poolAddress + borrower + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + inLiquidation + liquidationAuction + liquidationAuction__id + liquidationAuction__borrower + liquidationAuction__lastTakePrice + liquidationAuction__collateral + liquidationAuction__collateralRemaining + liquidationAuction__debt + liquidationAuction__debtRemaining + liquidationAuction__kicker + liquidationAuction__kickTime + liquidationAuction__settleTime + liquidationAuction__settled + liquidationAuction__bondSize + liquidationAuction__bondFactor + liquidationAuction__neutralPrice + liquidationAuction__referencePrice + liquidationAuction__thresholdPrice + collateralPledged + thresholdPrice + tokenIdsPledged + t0debt + t0Np +} + +input Loan_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + poolAddress: String + poolAddress_not: String + poolAddress_gt: String + poolAddress_lt: String + poolAddress_gte: String + poolAddress_lte: String + poolAddress_in: [String!] + poolAddress_not_in: [String!] + poolAddress_starts_with: String + poolAddress_starts_with_nocase: String + poolAddress_not_starts_with: String + poolAddress_not_starts_with_nocase: String + poolAddress_ends_with: String + poolAddress_ends_with_nocase: String + poolAddress_not_ends_with: String + poolAddress_not_ends_with_nocase: String + poolAddress_contains: String + poolAddress_not_contains: String + poolAddress_contains_nocase: String + poolAddress_not_contains_nocase: String + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + inLiquidation: Boolean + inLiquidation_not: Boolean + inLiquidation_gt: Boolean + inLiquidation_lt: Boolean + inLiquidation_gte: Boolean + inLiquidation_lte: Boolean + inLiquidation_in: [Boolean!] + inLiquidation_not_in: [Boolean!] + liquidationAuction: String + liquidationAuction_not: String + liquidationAuction_gt: String + liquidationAuction_lt: String + liquidationAuction_gte: String + liquidationAuction_lte: String + liquidationAuction_in: [String!] + liquidationAuction_not_in: [String!] + liquidationAuction_starts_with: String + liquidationAuction_starts_with_nocase: String + liquidationAuction_not_starts_with: String + liquidationAuction_not_starts_with_nocase: String + liquidationAuction_ends_with: String + liquidationAuction_ends_with_nocase: String + liquidationAuction_not_ends_with: String + liquidationAuction_not_ends_with_nocase: String + liquidationAuction_contains: String + liquidationAuction_not_contains: String + liquidationAuction_contains_nocase: String + liquidationAuction_not_contains_nocase: String + liquidationAuction_: LiquidationAuction_filter + collateralPledged: BigDecimal + collateralPledged_not: BigDecimal + collateralPledged_gt: BigDecimal + collateralPledged_lt: BigDecimal + collateralPledged_gte: BigDecimal + collateralPledged_lte: BigDecimal + collateralPledged_in: [BigDecimal!] + collateralPledged_not_in: [BigDecimal!] + thresholdPrice: BigDecimal + thresholdPrice_not: BigDecimal + thresholdPrice_gt: BigDecimal + thresholdPrice_lt: BigDecimal + thresholdPrice_gte: BigDecimal + thresholdPrice_lte: BigDecimal + thresholdPrice_in: [BigDecimal!] + thresholdPrice_not_in: [BigDecimal!] + tokenIdsPledged: [BigInt!] + tokenIdsPledged_not: [BigInt!] + tokenIdsPledged_contains: [BigInt!] + tokenIdsPledged_not_contains: [BigInt!] + tokenIdsPledged_contains_nocase: [BigInt!] + tokenIdsPledged_not_contains_nocase: [BigInt!] + t0debt: BigDecimal + t0debt_not: BigDecimal + t0debt_gt: BigDecimal + t0debt_lt: BigDecimal + t0debt_gte: BigDecimal + t0debt_lte: BigDecimal + t0debt_in: [BigDecimal!] + t0debt_not_in: [BigDecimal!] + t0Np: BigDecimal + t0Np_not: BigDecimal + t0Np_gt: BigDecimal + t0Np_lt: BigDecimal + t0Np_gte: BigDecimal + t0Np_lte: BigDecimal + t0Np_in: [BigDecimal!] + t0Np_not_in: [BigDecimal!] + _change_block: BlockChangedFilter + and: [Loan_filter] + or: [Loan_filter] +} + +enum Account_orderBy { + id + pools + kicks + lends + loans + settles + takes + reserveAuctions + proposalsCreated + proposalsExecuted + delegatedTo + delegatedTo__id + delegatedTo__rewardsClaimed + delegatedTo__tokensDelegated + delegatedTo__txCount + delegatedFrom + rewardsClaimed + distributionPeriodVotes + tokensDelegated + positions + txCount +} + +input Account_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pools: [String!] + pools_not: [String!] + pools_contains: [String!] + pools_not_contains: [String!] + pools_contains_nocase: [String!] + pools_not_contains_nocase: [String!] + pools_: Pool_filter + kicks: [String!] + kicks_not: [String!] + kicks_contains: [String!] + kicks_not_contains: [String!] + kicks_contains_nocase: [String!] + kicks_not_contains_nocase: [String!] + kicks_: Kick_filter + lends: [String!] + lends_not: [String!] + lends_contains: [String!] + lends_not_contains: [String!] + lends_contains_nocase: [String!] + lends_not_contains_nocase: [String!] + lends_: Lend_filter + loans: [String!] + loans_not: [String!] + loans_contains: [String!] + loans_not_contains: [String!] + loans_contains_nocase: [String!] + loans_not_contains_nocase: [String!] + loans_: Loan_filter + settles: [String!] + settles_not: [String!] + settles_contains: [String!] + settles_not_contains: [String!] + settles_contains_nocase: [String!] + settles_not_contains_nocase: [String!] + settles_: Settle_filter + takes: [String!] + takes_not: [String!] + takes_contains: [String!] + takes_not_contains: [String!] + takes_contains_nocase: [String!] + takes_not_contains_nocase: [String!] + takes_: Take_filter + reserveAuctions: [String!] + reserveAuctions_not: [String!] + reserveAuctions_contains: [String!] + reserveAuctions_not_contains: [String!] + reserveAuctions_contains_nocase: [String!] + reserveAuctions_not_contains_nocase: [String!] + reserveAuctions_: ReserveAuction_filter + proposalsCreated: [String!] + proposalsCreated_not: [String!] + proposalsCreated_contains: [String!] + proposalsCreated_not_contains: [String!] + proposalsCreated_contains_nocase: [String!] + proposalsCreated_not_contains_nocase: [String!] + proposalsCreated_: Proposal_filter + proposalsExecuted: [String!] + proposalsExecuted_not: [String!] + proposalsExecuted_contains: [String!] + proposalsExecuted_not_contains: [String!] + proposalsExecuted_contains_nocase: [String!] + proposalsExecuted_not_contains_nocase: [String!] + proposalsExecuted_: Proposal_filter + delegatedTo: String + delegatedTo_not: String + delegatedTo_gt: String + delegatedTo_lt: String + delegatedTo_gte: String + delegatedTo_lte: String + delegatedTo_in: [String!] + delegatedTo_not_in: [String!] + delegatedTo_starts_with: String + delegatedTo_starts_with_nocase: String + delegatedTo_not_starts_with: String + delegatedTo_not_starts_with_nocase: String + delegatedTo_ends_with: String + delegatedTo_ends_with_nocase: String + delegatedTo_not_ends_with: String + delegatedTo_not_ends_with_nocase: String + delegatedTo_contains: String + delegatedTo_not_contains: String + delegatedTo_contains_nocase: String + delegatedTo_not_contains_nocase: String + delegatedTo_: Account_filter + delegatedFrom: [String!] + delegatedFrom_not: [String!] + delegatedFrom_contains: [String!] + delegatedFrom_not_contains: [String!] + delegatedFrom_contains_nocase: [String!] + delegatedFrom_not_contains_nocase: [String!] + delegatedFrom_: Account_filter + rewardsClaimed: BigDecimal + rewardsClaimed_not: BigDecimal + rewardsClaimed_gt: BigDecimal + rewardsClaimed_lt: BigDecimal + rewardsClaimed_gte: BigDecimal + rewardsClaimed_lte: BigDecimal + rewardsClaimed_in: [BigDecimal!] + rewardsClaimed_not_in: [BigDecimal!] + distributionPeriodVotes: [String!] + distributionPeriodVotes_not: [String!] + distributionPeriodVotes_contains: [String!] + distributionPeriodVotes_not_contains: [String!] + distributionPeriodVotes_contains_nocase: [String!] + distributionPeriodVotes_not_contains_nocase: [String!] + distributionPeriodVotes_: DistributionPeriodVote_filter + tokensDelegated: BigDecimal + tokensDelegated_not: BigDecimal + tokensDelegated_gt: BigDecimal + tokensDelegated_lt: BigDecimal + tokensDelegated_gte: BigDecimal + tokensDelegated_lte: BigDecimal + tokensDelegated_in: [BigDecimal!] + tokensDelegated_not_in: [BigDecimal!] + positions: [String!] + positions_not: [String!] + positions_contains: [String!] + positions_not_contains: [String!] + positions_contains_nocase: [String!] + positions_not_contains_nocase: [String!] + positions_: Position_filter + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + _change_block: BlockChangedFilter + and: [Account_filter] + or: [Account_filter] +} + +enum LiquidationAuction_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + borrower + lastTakePrice + collateral + collateralRemaining + debt + debtRemaining + loan + loan__id + loan__poolAddress + loan__borrower + loan__inLiquidation + loan__collateralPledged + loan__thresholdPrice + loan__t0debt + loan__t0Np + kicker + kick + kick__id + kick__kicker + kick__locked + kick__claimable + kick__borrower + kick__debt + kick__collateral + kick__bond + kick__startingPrice + kick__blockNumber + kick__blockTimestamp + kick__transactionHash + kickTime + takes + bucketTakes + settles + settle + settle__id + settle__borrower + settle__collateral + settle__blockNumber + settle__blockTimestamp + settle__transactionHash + settleTime + settled + bondSize + bondFactor + neutralPrice + referencePrice + thresholdPrice +} + +input LiquidationAuction_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + lastTakePrice: BigDecimal + lastTakePrice_not: BigDecimal + lastTakePrice_gt: BigDecimal + lastTakePrice_lt: BigDecimal + lastTakePrice_gte: BigDecimal + lastTakePrice_lte: BigDecimal + lastTakePrice_in: [BigDecimal!] + lastTakePrice_not_in: [BigDecimal!] + collateral: BigDecimal + collateral_not: BigDecimal + collateral_gt: BigDecimal + collateral_lt: BigDecimal + collateral_gte: BigDecimal + collateral_lte: BigDecimal + collateral_in: [BigDecimal!] + collateral_not_in: [BigDecimal!] + collateralRemaining: BigDecimal + collateralRemaining_not: BigDecimal + collateralRemaining_gt: BigDecimal + collateralRemaining_lt: BigDecimal + collateralRemaining_gte: BigDecimal + collateralRemaining_lte: BigDecimal + collateralRemaining_in: [BigDecimal!] + collateralRemaining_not_in: [BigDecimal!] + debt: BigDecimal + debt_not: BigDecimal + debt_gt: BigDecimal + debt_lt: BigDecimal + debt_gte: BigDecimal + debt_lte: BigDecimal + debt_in: [BigDecimal!] + debt_not_in: [BigDecimal!] + debtRemaining: BigDecimal + debtRemaining_not: BigDecimal + debtRemaining_gt: BigDecimal + debtRemaining_lt: BigDecimal + debtRemaining_gte: BigDecimal + debtRemaining_lte: BigDecimal + debtRemaining_in: [BigDecimal!] + debtRemaining_not_in: [BigDecimal!] + loan: String + loan_not: String + loan_gt: String + loan_lt: String + loan_gte: String + loan_lte: String + loan_in: [String!] + loan_not_in: [String!] + loan_starts_with: String + loan_starts_with_nocase: String + loan_not_starts_with: String + loan_not_starts_with_nocase: String + loan_ends_with: String + loan_ends_with_nocase: String + loan_not_ends_with: String + loan_not_ends_with_nocase: String + loan_contains: String + loan_not_contains: String + loan_contains_nocase: String + loan_not_contains_nocase: String + loan_: Loan_filter + kicker: Bytes + kicker_not: Bytes + kicker_gt: Bytes + kicker_lt: Bytes + kicker_gte: Bytes + kicker_lte: Bytes + kicker_in: [Bytes!] + kicker_not_in: [Bytes!] + kicker_contains: Bytes + kicker_not_contains: Bytes + kick: String + kick_not: String + kick_gt: String + kick_lt: String + kick_gte: String + kick_lte: String + kick_in: [String!] + kick_not_in: [String!] + kick_starts_with: String + kick_starts_with_nocase: String + kick_not_starts_with: String + kick_not_starts_with_nocase: String + kick_ends_with: String + kick_ends_with_nocase: String + kick_not_ends_with: String + kick_not_ends_with_nocase: String + kick_contains: String + kick_not_contains: String + kick_contains_nocase: String + kick_not_contains_nocase: String + kick_: Kick_filter + kickTime: BigInt + kickTime_not: BigInt + kickTime_gt: BigInt + kickTime_lt: BigInt + kickTime_gte: BigInt + kickTime_lte: BigInt + kickTime_in: [BigInt!] + kickTime_not_in: [BigInt!] + takes: [String!] + takes_not: [String!] + takes_contains: [String!] + takes_not_contains: [String!] + takes_contains_nocase: [String!] + takes_not_contains_nocase: [String!] + takes_: Take_filter + bucketTakes: [String!] + bucketTakes_not: [String!] + bucketTakes_contains: [String!] + bucketTakes_not_contains: [String!] + bucketTakes_contains_nocase: [String!] + bucketTakes_not_contains_nocase: [String!] + bucketTakes_: BucketTake_filter + settles: [String!] + settles_not: [String!] + settles_contains: [String!] + settles_not_contains: [String!] + settles_contains_nocase: [String!] + settles_not_contains_nocase: [String!] + settles_: Settle_filter + settle: String + settle_not: String + settle_gt: String + settle_lt: String + settle_gte: String + settle_lte: String + settle_in: [String!] + settle_not_in: [String!] + settle_starts_with: String + settle_starts_with_nocase: String + settle_not_starts_with: String + settle_not_starts_with_nocase: String + settle_ends_with: String + settle_ends_with_nocase: String + settle_not_ends_with: String + settle_not_ends_with_nocase: String + settle_contains: String + settle_not_contains: String + settle_contains_nocase: String + settle_not_contains_nocase: String + settle_: AuctionSettle_filter + settleTime: BigInt + settleTime_not: BigInt + settleTime_gt: BigInt + settleTime_lt: BigInt + settleTime_gte: BigInt + settleTime_lte: BigInt + settleTime_in: [BigInt!] + settleTime_not_in: [BigInt!] + settled: Boolean + settled_not: Boolean + settled_gt: Boolean + settled_lt: Boolean + settled_gte: Boolean + settled_lte: Boolean + settled_in: [Boolean!] + settled_not_in: [Boolean!] + bondSize: BigDecimal + bondSize_not: BigDecimal + bondSize_gt: BigDecimal + bondSize_lt: BigDecimal + bondSize_gte: BigDecimal + bondSize_lte: BigDecimal + bondSize_in: [BigDecimal!] + bondSize_not_in: [BigDecimal!] + bondFactor: BigDecimal + bondFactor_not: BigDecimal + bondFactor_gt: BigDecimal + bondFactor_lt: BigDecimal + bondFactor_gte: BigDecimal + bondFactor_lte: BigDecimal + bondFactor_in: [BigDecimal!] + bondFactor_not_in: [BigDecimal!] + neutralPrice: BigDecimal + neutralPrice_not: BigDecimal + neutralPrice_gt: BigDecimal + neutralPrice_lt: BigDecimal + neutralPrice_gte: BigDecimal + neutralPrice_lte: BigDecimal + neutralPrice_in: [BigDecimal!] + neutralPrice_not_in: [BigDecimal!] + referencePrice: BigDecimal + referencePrice_not: BigDecimal + referencePrice_gt: BigDecimal + referencePrice_lt: BigDecimal + referencePrice_gte: BigDecimal + referencePrice_lte: BigDecimal + referencePrice_in: [BigDecimal!] + referencePrice_not_in: [BigDecimal!] + thresholdPrice: BigDecimal + thresholdPrice_not: BigDecimal + thresholdPrice_gt: BigDecimal + thresholdPrice_lt: BigDecimal + thresholdPrice_gte: BigDecimal + thresholdPrice_lte: BigDecimal + thresholdPrice_in: [BigDecimal!] + thresholdPrice_not_in: [BigDecimal!] + _change_block: BlockChangedFilter + and: [LiquidationAuction_filter] + or: [LiquidationAuction_filter] +} + +enum ReserveAuction_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + claimableReservesRemaining + lastTakePrice + burnEpoch + kick + kick__id + kick__kicker + kick__claimableReserves + kick__startingPrice + kick__blockNumber + kick__blockTimestamp + kick__transactionHash + takes + ajnaBurned +} + +input ReserveAuction_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + claimableReservesRemaining: BigDecimal + claimableReservesRemaining_not: BigDecimal + claimableReservesRemaining_gt: BigDecimal + claimableReservesRemaining_lt: BigDecimal + claimableReservesRemaining_gte: BigDecimal + claimableReservesRemaining_lte: BigDecimal + claimableReservesRemaining_in: [BigDecimal!] + claimableReservesRemaining_not_in: [BigDecimal!] + lastTakePrice: BigDecimal + lastTakePrice_not: BigDecimal + lastTakePrice_gt: BigDecimal + lastTakePrice_lt: BigDecimal + lastTakePrice_gte: BigDecimal + lastTakePrice_lte: BigDecimal + lastTakePrice_in: [BigDecimal!] + lastTakePrice_not_in: [BigDecimal!] + burnEpoch: BigInt + burnEpoch_not: BigInt + burnEpoch_gt: BigInt + burnEpoch_lt: BigInt + burnEpoch_gte: BigInt + burnEpoch_lte: BigInt + burnEpoch_in: [BigInt!] + burnEpoch_not_in: [BigInt!] + kick: String + kick_not: String + kick_gt: String + kick_lt: String + kick_gte: String + kick_lte: String + kick_in: [String!] + kick_not_in: [String!] + kick_starts_with: String + kick_starts_with_nocase: String + kick_not_starts_with: String + kick_not_starts_with_nocase: String + kick_ends_with: String + kick_ends_with_nocase: String + kick_not_ends_with: String + kick_not_ends_with_nocase: String + kick_contains: String + kick_not_contains: String + kick_contains_nocase: String + kick_not_contains_nocase: String + kick_: ReserveAuctionKick_filter + takes: [String!] + takes_not: [String!] + takes_contains: [String!] + takes_not_contains: [String!] + takes_contains_nocase: [String!] + takes_not_contains_nocase: [String!] + takes_: ReserveAuctionTake_filter + ajnaBurned: BigDecimal + ajnaBurned_not: BigDecimal + ajnaBurned_gt: BigDecimal + ajnaBurned_lt: BigDecimal + ajnaBurned_gte: BigDecimal + ajnaBurned_lte: BigDecimal + ajnaBurned_in: [BigDecimal!] + ajnaBurned_not_in: [BigDecimal!] + _change_block: BlockChangedFilter + and: [ReserveAuction_filter] + or: [ReserveAuction_filter] +} + +enum LPTransferorList_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + lender + transferors +} + +input LPTransferorList_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + transferors: [Bytes!] + transferors_not: [Bytes!] + transferors_contains: [Bytes!] + transferors_not_contains: [Bytes!] + transferors_contains_nocase: [Bytes!] + transferors_not_contains_nocase: [Bytes!] + _change_block: BlockChangedFilter + and: [LPTransferorList_filter] + or: [LPTransferorList_filter] +} + +enum LPAllowance_orderBy { + id + index + amount +} + +input LPAllowance_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + index: Int + index_not: Int + index_gt: Int + index_lt: Int + index_gte: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + _change_block: BlockChangedFilter + and: [LPAllowance_filter] + or: [LPAllowance_filter] +} + +enum LPAllowanceList_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + lender + spender + allowances +} + +input LPAllowanceList_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + spender: Bytes + spender_not: Bytes + spender_gt: Bytes + spender_lt: Bytes + spender_gte: Bytes + spender_lte: Bytes + spender_in: [Bytes!] + spender_not_in: [Bytes!] + spender_contains: Bytes + spender_not_contains: Bytes + allowances: [String!] + allowances_not: [String!] + allowances_contains: [String!] + allowances_not_contains: [String!] + allowances_contains_nocase: [String!] + allowances_not_contains_nocase: [String!] + allowances_: LPAllowance_filter + _change_block: BlockChangedFilter + and: [LPAllowanceList_filter] + or: [LPAllowanceList_filter] +} + +enum AddCollateral_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + bucket + bucket__id + bucket__bucketIndex + bucket__bucketPrice + bucket__exchangeRate + bucket__poolAddress + bucket__collateral + bucket__deposit + bucket__lpb + actor + index + amount + lpAwarded + blockNumber + blockTimestamp + transactionHash +} + +input AddCollateral_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + bucket: String + bucket_not: String + bucket_gt: String + bucket_lt: String + bucket_gte: String + bucket_lte: String + bucket_in: [String!] + bucket_not_in: [String!] + bucket_starts_with: String + bucket_starts_with_nocase: String + bucket_not_starts_with: String + bucket_not_starts_with_nocase: String + bucket_ends_with: String + bucket_ends_with_nocase: String + bucket_not_ends_with: String + bucket_not_ends_with_nocase: String + bucket_contains: String + bucket_not_contains: String + bucket_contains_nocase: String + bucket_not_contains_nocase: String + bucket_: Bucket_filter + actor: Bytes + actor_not: Bytes + actor_gt: Bytes + actor_lt: Bytes + actor_gte: Bytes + actor_lte: Bytes + actor_in: [Bytes!] + actor_not_in: [Bytes!] + actor_contains: Bytes + actor_not_contains: Bytes + index: Int + index_not: Int + index_gt: Int + index_lt: Int + index_gte: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + lpAwarded: BigDecimal + lpAwarded_not: BigDecimal + lpAwarded_gt: BigDecimal + lpAwarded_lt: BigDecimal + lpAwarded_gte: BigDecimal + lpAwarded_lte: BigDecimal + lpAwarded_in: [BigDecimal!] + lpAwarded_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [AddCollateral_filter] + or: [AddCollateral_filter] +} + +enum AddQuoteToken_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + bucket + bucket__id + bucket__bucketIndex + bucket__bucketPrice + bucket__exchangeRate + bucket__poolAddress + bucket__collateral + bucket__deposit + bucket__lpb + lender + index + amount + lpAwarded + lup + blockNumber + blockTimestamp + transactionHash +} + +input AddQuoteToken_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + bucket: String + bucket_not: String + bucket_gt: String + bucket_lt: String + bucket_gte: String + bucket_lte: String + bucket_in: [String!] + bucket_not_in: [String!] + bucket_starts_with: String + bucket_starts_with_nocase: String + bucket_not_starts_with: String + bucket_not_starts_with_nocase: String + bucket_ends_with: String + bucket_ends_with_nocase: String + bucket_not_ends_with: String + bucket_not_ends_with_nocase: String + bucket_contains: String + bucket_not_contains: String + bucket_contains_nocase: String + bucket_not_contains_nocase: String + bucket_: Bucket_filter + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + index: Int + index_not: Int + index_gt: Int + index_lt: Int + index_gte: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + lpAwarded: BigDecimal + lpAwarded_not: BigDecimal + lpAwarded_gt: BigDecimal + lpAwarded_lt: BigDecimal + lpAwarded_gte: BigDecimal + lpAwarded_lte: BigDecimal + lpAwarded_in: [BigDecimal!] + lpAwarded_not_in: [BigDecimal!] + lup: BigDecimal + lup_not: BigDecimal + lup_gt: BigDecimal + lup_lt: BigDecimal + lup_gte: BigDecimal + lup_lte: BigDecimal + lup_in: [BigDecimal!] + lup_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [AddQuoteToken_filter] + or: [AddQuoteToken_filter] +} + +enum AuctionSettle_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + loan + loan__id + loan__poolAddress + loan__borrower + loan__inLiquidation + loan__collateralPledged + loan__thresholdPrice + loan__t0debt + loan__t0Np + borrower + collateral + blockNumber + blockTimestamp + transactionHash +} + +input AuctionSettle_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + loan: String + loan_not: String + loan_gt: String + loan_lt: String + loan_gte: String + loan_lte: String + loan_in: [String!] + loan_not_in: [String!] + loan_starts_with: String + loan_starts_with_nocase: String + loan_not_starts_with: String + loan_not_starts_with_nocase: String + loan_ends_with: String + loan_ends_with_nocase: String + loan_not_ends_with: String + loan_not_ends_with_nocase: String + loan_contains: String + loan_not_contains: String + loan_contains_nocase: String + loan_not_contains_nocase: String + loan_: Loan_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + collateral: BigDecimal + collateral_not: BigDecimal + collateral_gt: BigDecimal + collateral_lt: BigDecimal + collateral_gte: BigDecimal + collateral_lte: BigDecimal + collateral_in: [BigDecimal!] + collateral_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [AuctionSettle_filter] + or: [AuctionSettle_filter] +} + +enum BondWithdrawn_orderBy { + id + kicker + reciever + amount + blockNumber + blockTimestamp + transactionHash +} + +input BondWithdrawn_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + kicker: Bytes + kicker_not: Bytes + kicker_gt: Bytes + kicker_lt: Bytes + kicker_gte: Bytes + kicker_lte: Bytes + kicker_in: [Bytes!] + kicker_not_in: [Bytes!] + kicker_contains: Bytes + kicker_not_contains: Bytes + reciever: Bytes + reciever_not: Bytes + reciever_gt: Bytes + reciever_lt: Bytes + reciever_gte: Bytes + reciever_lte: Bytes + reciever_in: [Bytes!] + reciever_not_in: [Bytes!] + reciever_contains: Bytes + reciever_not_contains: Bytes + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [BondWithdrawn_filter] + or: [BondWithdrawn_filter] +} + +enum BucketBankruptcy_orderBy { + id + bucket + bucket__id + bucket__bucketIndex + bucket__bucketPrice + bucket__exchangeRate + bucket__poolAddress + bucket__collateral + bucket__deposit + bucket__lpb + index + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + lpForfeited + blockNumber + blockTimestamp + transactionHash +} + +input BucketBankruptcy_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + bucket: String + bucket_not: String + bucket_gt: String + bucket_lt: String + bucket_gte: String + bucket_lte: String + bucket_in: [String!] + bucket_not_in: [String!] + bucket_starts_with: String + bucket_starts_with_nocase: String + bucket_not_starts_with: String + bucket_not_starts_with_nocase: String + bucket_ends_with: String + bucket_ends_with_nocase: String + bucket_not_ends_with: String + bucket_not_ends_with_nocase: String + bucket_contains: String + bucket_not_contains: String + bucket_contains_nocase: String + bucket_not_contains_nocase: String + bucket_: Bucket_filter + index: Int + index_not: Int + index_gt: Int + index_lt: Int + index_gte: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + lpForfeited: BigDecimal + lpForfeited_not: BigDecimal + lpForfeited_gt: BigDecimal + lpForfeited_lt: BigDecimal + lpForfeited_gte: BigDecimal + lpForfeited_lte: BigDecimal + lpForfeited_in: [BigDecimal!] + lpForfeited_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [BucketBankruptcy_filter] + or: [BucketBankruptcy_filter] +} + +enum BucketTake_orderBy { + id + borrower + taker + liquidationAuction + liquidationAuction__id + liquidationAuction__borrower + liquidationAuction__lastTakePrice + liquidationAuction__collateral + liquidationAuction__collateralRemaining + liquidationAuction__debt + liquidationAuction__debtRemaining + liquidationAuction__kicker + liquidationAuction__kickTime + liquidationAuction__settleTime + liquidationAuction__settled + liquidationAuction__bondSize + liquidationAuction__bondFactor + liquidationAuction__neutralPrice + liquidationAuction__referencePrice + liquidationAuction__thresholdPrice + loan + loan__id + loan__poolAddress + loan__borrower + loan__inLiquidation + loan__collateralPledged + loan__thresholdPrice + loan__t0debt + loan__t0Np + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + index + auctionPrice + amount + collateral + bondChange + isReward + lpAwarded + lpAwarded__id + lpAwarded__taker + lpAwarded__kicker + lpAwarded__lpAwardedTaker + lpAwarded__lpAwardedKicker + lpAwarded__blockNumber + lpAwarded__blockTimestamp + lpAwarded__transactionHash + blockNumber + blockTimestamp + transactionHash +} + +input BucketTake_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + taker: Bytes + taker_not: Bytes + taker_gt: Bytes + taker_lt: Bytes + taker_gte: Bytes + taker_lte: Bytes + taker_in: [Bytes!] + taker_not_in: [Bytes!] + taker_contains: Bytes + taker_not_contains: Bytes + liquidationAuction: String + liquidationAuction_not: String + liquidationAuction_gt: String + liquidationAuction_lt: String + liquidationAuction_gte: String + liquidationAuction_lte: String + liquidationAuction_in: [String!] + liquidationAuction_not_in: [String!] + liquidationAuction_starts_with: String + liquidationAuction_starts_with_nocase: String + liquidationAuction_not_starts_with: String + liquidationAuction_not_starts_with_nocase: String + liquidationAuction_ends_with: String + liquidationAuction_ends_with_nocase: String + liquidationAuction_not_ends_with: String + liquidationAuction_not_ends_with_nocase: String + liquidationAuction_contains: String + liquidationAuction_not_contains: String + liquidationAuction_contains_nocase: String + liquidationAuction_not_contains_nocase: String + liquidationAuction_: LiquidationAuction_filter + loan: String + loan_not: String + loan_gt: String + loan_lt: String + loan_gte: String + loan_lte: String + loan_in: [String!] + loan_not_in: [String!] + loan_starts_with: String + loan_starts_with_nocase: String + loan_not_starts_with: String + loan_not_starts_with_nocase: String + loan_ends_with: String + loan_ends_with_nocase: String + loan_not_ends_with: String + loan_not_ends_with_nocase: String + loan_contains: String + loan_not_contains: String + loan_contains_nocase: String + loan_not_contains_nocase: String + loan_: Loan_filter + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + index: Int + index_not: Int + index_gt: Int + index_lt: Int + index_gte: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + auctionPrice: BigDecimal + auctionPrice_not: BigDecimal + auctionPrice_gt: BigDecimal + auctionPrice_lt: BigDecimal + auctionPrice_gte: BigDecimal + auctionPrice_lte: BigDecimal + auctionPrice_in: [BigDecimal!] + auctionPrice_not_in: [BigDecimal!] + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + collateral: BigDecimal + collateral_not: BigDecimal + collateral_gt: BigDecimal + collateral_lt: BigDecimal + collateral_gte: BigDecimal + collateral_lte: BigDecimal + collateral_in: [BigDecimal!] + collateral_not_in: [BigDecimal!] + bondChange: BigDecimal + bondChange_not: BigDecimal + bondChange_gt: BigDecimal + bondChange_lt: BigDecimal + bondChange_gte: BigDecimal + bondChange_lte: BigDecimal + bondChange_in: [BigDecimal!] + bondChange_not_in: [BigDecimal!] + isReward: Boolean + isReward_not: Boolean + isReward_gt: Boolean + isReward_lt: Boolean + isReward_gte: Boolean + isReward_lte: Boolean + isReward_in: [Boolean!] + isReward_not_in: [Boolean!] + lpAwarded: String + lpAwarded_not: String + lpAwarded_gt: String + lpAwarded_lt: String + lpAwarded_gte: String + lpAwarded_lte: String + lpAwarded_in: [String!] + lpAwarded_not_in: [String!] + lpAwarded_starts_with: String + lpAwarded_starts_with_nocase: String + lpAwarded_not_starts_with: String + lpAwarded_not_starts_with_nocase: String + lpAwarded_ends_with: String + lpAwarded_ends_with_nocase: String + lpAwarded_not_ends_with: String + lpAwarded_not_ends_with_nocase: String + lpAwarded_contains: String + lpAwarded_not_contains: String + lpAwarded_contains_nocase: String + lpAwarded_not_contains_nocase: String + lpAwarded_: BucketTakeLPAwarded_filter + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [BucketTake_filter] + or: [BucketTake_filter] +} + +enum BucketTakeLPAwarded_orderBy { + id + taker + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + kicker + lpAwardedTaker + lpAwardedKicker + blockNumber + blockTimestamp + transactionHash +} + +input BucketTakeLPAwarded_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + taker: Bytes + taker_not: Bytes + taker_gt: Bytes + taker_lt: Bytes + taker_gte: Bytes + taker_lte: Bytes + taker_in: [Bytes!] + taker_not_in: [Bytes!] + taker_contains: Bytes + taker_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + kicker: Bytes + kicker_not: Bytes + kicker_gt: Bytes + kicker_lt: Bytes + kicker_gte: Bytes + kicker_lte: Bytes + kicker_in: [Bytes!] + kicker_not_in: [Bytes!] + kicker_contains: Bytes + kicker_not_contains: Bytes + lpAwardedTaker: BigDecimal + lpAwardedTaker_not: BigDecimal + lpAwardedTaker_gt: BigDecimal + lpAwardedTaker_lt: BigDecimal + lpAwardedTaker_gte: BigDecimal + lpAwardedTaker_lte: BigDecimal + lpAwardedTaker_in: [BigDecimal!] + lpAwardedTaker_not_in: [BigDecimal!] + lpAwardedKicker: BigDecimal + lpAwardedKicker_not: BigDecimal + lpAwardedKicker_gt: BigDecimal + lpAwardedKicker_lt: BigDecimal + lpAwardedKicker_gte: BigDecimal + lpAwardedKicker_lte: BigDecimal + lpAwardedKicker_in: [BigDecimal!] + lpAwardedKicker_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [BucketTakeLPAwarded_filter] + or: [BucketTakeLPAwarded_filter] +} + +enum DrawDebt_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + borrower + amountBorrowed + collateralPledged + lup + blockNumber + blockTimestamp + transactionHash +} + +input DrawDebt_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + amountBorrowed: BigDecimal + amountBorrowed_not: BigDecimal + amountBorrowed_gt: BigDecimal + amountBorrowed_lt: BigDecimal + amountBorrowed_gte: BigDecimal + amountBorrowed_lte: BigDecimal + amountBorrowed_in: [BigDecimal!] + amountBorrowed_not_in: [BigDecimal!] + collateralPledged: BigDecimal + collateralPledged_not: BigDecimal + collateralPledged_gt: BigDecimal + collateralPledged_lt: BigDecimal + collateralPledged_gte: BigDecimal + collateralPledged_lte: BigDecimal + collateralPledged_in: [BigDecimal!] + collateralPledged_not_in: [BigDecimal!] + lup: BigDecimal + lup_not: BigDecimal + lup_gt: BigDecimal + lup_lt: BigDecimal + lup_gte: BigDecimal + lup_lte: BigDecimal + lup_in: [BigDecimal!] + lup_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [DrawDebt_filter] + or: [DrawDebt_filter] +} + +enum Flashloan_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + borrower + amount +} + +input Flashloan_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + _change_block: BlockChangedFilter + and: [Flashloan_filter] + or: [Flashloan_filter] +} + +enum Kick_orderBy { + id + kicker + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + loan + loan__id + loan__poolAddress + loan__borrower + loan__inLiquidation + loan__collateralPledged + loan__thresholdPrice + loan__t0debt + loan__t0Np + locked + claimable + liquidationAuction + liquidationAuction__id + liquidationAuction__borrower + liquidationAuction__lastTakePrice + liquidationAuction__collateral + liquidationAuction__collateralRemaining + liquidationAuction__debt + liquidationAuction__debtRemaining + liquidationAuction__kicker + liquidationAuction__kickTime + liquidationAuction__settleTime + liquidationAuction__settled + liquidationAuction__bondSize + liquidationAuction__bondFactor + liquidationAuction__neutralPrice + liquidationAuction__referencePrice + liquidationAuction__thresholdPrice + borrower + debt + collateral + bond + startingPrice + blockNumber + blockTimestamp + transactionHash +} + +input Kick_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + kicker: Bytes + kicker_not: Bytes + kicker_gt: Bytes + kicker_lt: Bytes + kicker_gte: Bytes + kicker_lte: Bytes + kicker_in: [Bytes!] + kicker_not_in: [Bytes!] + kicker_contains: Bytes + kicker_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + loan: String + loan_not: String + loan_gt: String + loan_lt: String + loan_gte: String + loan_lte: String + loan_in: [String!] + loan_not_in: [String!] + loan_starts_with: String + loan_starts_with_nocase: String + loan_not_starts_with: String + loan_not_starts_with_nocase: String + loan_ends_with: String + loan_ends_with_nocase: String + loan_not_ends_with: String + loan_not_ends_with_nocase: String + loan_contains: String + loan_not_contains: String + loan_contains_nocase: String + loan_not_contains_nocase: String + loan_: Loan_filter + locked: BigDecimal + locked_not: BigDecimal + locked_gt: BigDecimal + locked_lt: BigDecimal + locked_gte: BigDecimal + locked_lte: BigDecimal + locked_in: [BigDecimal!] + locked_not_in: [BigDecimal!] + claimable: BigDecimal + claimable_not: BigDecimal + claimable_gt: BigDecimal + claimable_lt: BigDecimal + claimable_gte: BigDecimal + claimable_lte: BigDecimal + claimable_in: [BigDecimal!] + claimable_not_in: [BigDecimal!] + liquidationAuction: String + liquidationAuction_not: String + liquidationAuction_gt: String + liquidationAuction_lt: String + liquidationAuction_gte: String + liquidationAuction_lte: String + liquidationAuction_in: [String!] + liquidationAuction_not_in: [String!] + liquidationAuction_starts_with: String + liquidationAuction_starts_with_nocase: String + liquidationAuction_not_starts_with: String + liquidationAuction_not_starts_with_nocase: String + liquidationAuction_ends_with: String + liquidationAuction_ends_with_nocase: String + liquidationAuction_not_ends_with: String + liquidationAuction_not_ends_with_nocase: String + liquidationAuction_contains: String + liquidationAuction_not_contains: String + liquidationAuction_contains_nocase: String + liquidationAuction_not_contains_nocase: String + liquidationAuction_: LiquidationAuction_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + debt: BigDecimal + debt_not: BigDecimal + debt_gt: BigDecimal + debt_lt: BigDecimal + debt_gte: BigDecimal + debt_lte: BigDecimal + debt_in: [BigDecimal!] + debt_not_in: [BigDecimal!] + collateral: BigDecimal + collateral_not: BigDecimal + collateral_gt: BigDecimal + collateral_lt: BigDecimal + collateral_gte: BigDecimal + collateral_lte: BigDecimal + collateral_in: [BigDecimal!] + collateral_not_in: [BigDecimal!] + bond: BigDecimal + bond_not: BigDecimal + bond_gt: BigDecimal + bond_lt: BigDecimal + bond_gte: BigDecimal + bond_lte: BigDecimal + bond_in: [BigDecimal!] + bond_not_in: [BigDecimal!] + startingPrice: BigDecimal + startingPrice_not: BigDecimal + startingPrice_gt: BigDecimal + startingPrice_lt: BigDecimal + startingPrice_gte: BigDecimal + startingPrice_lte: BigDecimal + startingPrice_in: [BigDecimal!] + startingPrice_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [Kick_filter] + or: [Kick_filter] +} + +enum LoanStamped_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + borrower + blockNumber + blockTimestamp + transactionHash +} + +input LoanStamped_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [LoanStamped_filter] + or: [LoanStamped_filter] +} + +enum MoveQuoteToken_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + lender + from + from__id + from__bucketIndex + from__bucketPrice + from__exchangeRate + from__poolAddress + from__collateral + from__deposit + from__lpb + to + to__id + to__bucketIndex + to__bucketPrice + to__exchangeRate + to__poolAddress + to__collateral + to__deposit + to__lpb + amount + lpRedeemedFrom + lpAwardedTo + lup + blockNumber + blockTimestamp + transactionHash +} + +input MoveQuoteToken_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + from: String + from_not: String + from_gt: String + from_lt: String + from_gte: String + from_lte: String + from_in: [String!] + from_not_in: [String!] + from_starts_with: String + from_starts_with_nocase: String + from_not_starts_with: String + from_not_starts_with_nocase: String + from_ends_with: String + from_ends_with_nocase: String + from_not_ends_with: String + from_not_ends_with_nocase: String + from_contains: String + from_not_contains: String + from_contains_nocase: String + from_not_contains_nocase: String + from_: Bucket_filter + to: String + to_not: String + to_gt: String + to_lt: String + to_gte: String + to_lte: String + to_in: [String!] + to_not_in: [String!] + to_starts_with: String + to_starts_with_nocase: String + to_not_starts_with: String + to_not_starts_with_nocase: String + to_ends_with: String + to_ends_with_nocase: String + to_not_ends_with: String + to_not_ends_with_nocase: String + to_contains: String + to_not_contains: String + to_contains_nocase: String + to_not_contains_nocase: String + to_: Bucket_filter + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + lpRedeemedFrom: BigDecimal + lpRedeemedFrom_not: BigDecimal + lpRedeemedFrom_gt: BigDecimal + lpRedeemedFrom_lt: BigDecimal + lpRedeemedFrom_gte: BigDecimal + lpRedeemedFrom_lte: BigDecimal + lpRedeemedFrom_in: [BigDecimal!] + lpRedeemedFrom_not_in: [BigDecimal!] + lpAwardedTo: BigDecimal + lpAwardedTo_not: BigDecimal + lpAwardedTo_gt: BigDecimal + lpAwardedTo_lt: BigDecimal + lpAwardedTo_gte: BigDecimal + lpAwardedTo_lte: BigDecimal + lpAwardedTo_in: [BigDecimal!] + lpAwardedTo_not_in: [BigDecimal!] + lup: BigDecimal + lup_not: BigDecimal + lup_gt: BigDecimal + lup_lt: BigDecimal + lup_gte: BigDecimal + lup_lte: BigDecimal + lup_in: [BigDecimal!] + lup_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [MoveQuoteToken_filter] + or: [MoveQuoteToken_filter] +} + +enum RemoveCollateral_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + bucket + bucket__id + bucket__bucketIndex + bucket__bucketPrice + bucket__exchangeRate + bucket__poolAddress + bucket__collateral + bucket__deposit + bucket__lpb + claimer + index + amount + lpRedeemed + blockNumber + blockTimestamp + transactionHash +} + +input RemoveCollateral_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + bucket: String + bucket_not: String + bucket_gt: String + bucket_lt: String + bucket_gte: String + bucket_lte: String + bucket_in: [String!] + bucket_not_in: [String!] + bucket_starts_with: String + bucket_starts_with_nocase: String + bucket_not_starts_with: String + bucket_not_starts_with_nocase: String + bucket_ends_with: String + bucket_ends_with_nocase: String + bucket_not_ends_with: String + bucket_not_ends_with_nocase: String + bucket_contains: String + bucket_not_contains: String + bucket_contains_nocase: String + bucket_not_contains_nocase: String + bucket_: Bucket_filter + claimer: Bytes + claimer_not: Bytes + claimer_gt: Bytes + claimer_lt: Bytes + claimer_gte: Bytes + claimer_lte: Bytes + claimer_in: [Bytes!] + claimer_not_in: [Bytes!] + claimer_contains: Bytes + claimer_not_contains: Bytes + index: Int + index_not: Int + index_gt: Int + index_lt: Int + index_gte: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + lpRedeemed: BigDecimal + lpRedeemed_not: BigDecimal + lpRedeemed_gt: BigDecimal + lpRedeemed_lt: BigDecimal + lpRedeemed_gte: BigDecimal + lpRedeemed_lte: BigDecimal + lpRedeemed_in: [BigDecimal!] + lpRedeemed_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [RemoveCollateral_filter] + or: [RemoveCollateral_filter] +} + +enum RemoveQuoteToken_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + bucket + bucket__id + bucket__bucketIndex + bucket__bucketPrice + bucket__exchangeRate + bucket__poolAddress + bucket__collateral + bucket__deposit + bucket__lpb + lender + index + amount + lpRedeemed + lup + blockNumber + blockTimestamp + transactionHash +} + +input RemoveQuoteToken_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + bucket: String + bucket_not: String + bucket_gt: String + bucket_lt: String + bucket_gte: String + bucket_lte: String + bucket_in: [String!] + bucket_not_in: [String!] + bucket_starts_with: String + bucket_starts_with_nocase: String + bucket_not_starts_with: String + bucket_not_starts_with_nocase: String + bucket_ends_with: String + bucket_ends_with_nocase: String + bucket_not_ends_with: String + bucket_not_ends_with_nocase: String + bucket_contains: String + bucket_not_contains: String + bucket_contains_nocase: String + bucket_not_contains_nocase: String + bucket_: Bucket_filter + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + index: Int + index_not: Int + index_gt: Int + index_lt: Int + index_gte: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + lpRedeemed: BigDecimal + lpRedeemed_not: BigDecimal + lpRedeemed_gt: BigDecimal + lpRedeemed_lt: BigDecimal + lpRedeemed_gte: BigDecimal + lpRedeemed_lte: BigDecimal + lpRedeemed_in: [BigDecimal!] + lpRedeemed_not_in: [BigDecimal!] + lup: BigDecimal + lup_not: BigDecimal + lup_gt: BigDecimal + lup_lt: BigDecimal + lup_gte: BigDecimal + lup_lte: BigDecimal + lup_in: [BigDecimal!] + lup_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [RemoveQuoteToken_filter] + or: [RemoveQuoteToken_filter] +} + +enum RepayDebt_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + borrower + quoteRepaid + collateralPulled + lup + blockNumber + blockTimestamp + transactionHash +} + +input RepayDebt_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + quoteRepaid: BigDecimal + quoteRepaid_not: BigDecimal + quoteRepaid_gt: BigDecimal + quoteRepaid_lt: BigDecimal + quoteRepaid_gte: BigDecimal + quoteRepaid_lte: BigDecimal + quoteRepaid_in: [BigDecimal!] + quoteRepaid_not_in: [BigDecimal!] + collateralPulled: BigDecimal + collateralPulled_not: BigDecimal + collateralPulled_gt: BigDecimal + collateralPulled_lt: BigDecimal + collateralPulled_gte: BigDecimal + collateralPulled_lte: BigDecimal + collateralPulled_in: [BigDecimal!] + collateralPulled_not_in: [BigDecimal!] + lup: BigDecimal + lup_not: BigDecimal + lup_gt: BigDecimal + lup_lt: BigDecimal + lup_gte: BigDecimal + lup_lte: BigDecimal + lup_in: [BigDecimal!] + lup_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [RepayDebt_filter] + or: [RepayDebt_filter] +} + +enum ReserveAuctionKick_orderBy { + id + kicker + reserveAuction + reserveAuction__id + reserveAuction__claimableReservesRemaining + reserveAuction__lastTakePrice + reserveAuction__burnEpoch + reserveAuction__ajnaBurned + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + claimableReserves + startingPrice + blockNumber + blockTimestamp + transactionHash +} + +input ReserveAuctionKick_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + kicker: Bytes + kicker_not: Bytes + kicker_gt: Bytes + kicker_lt: Bytes + kicker_gte: Bytes + kicker_lte: Bytes + kicker_in: [Bytes!] + kicker_not_in: [Bytes!] + kicker_contains: Bytes + kicker_not_contains: Bytes + reserveAuction: String + reserveAuction_not: String + reserveAuction_gt: String + reserveAuction_lt: String + reserveAuction_gte: String + reserveAuction_lte: String + reserveAuction_in: [String!] + reserveAuction_not_in: [String!] + reserveAuction_starts_with: String + reserveAuction_starts_with_nocase: String + reserveAuction_not_starts_with: String + reserveAuction_not_starts_with_nocase: String + reserveAuction_ends_with: String + reserveAuction_ends_with_nocase: String + reserveAuction_not_ends_with: String + reserveAuction_not_ends_with_nocase: String + reserveAuction_contains: String + reserveAuction_not_contains: String + reserveAuction_contains_nocase: String + reserveAuction_not_contains_nocase: String + reserveAuction_: ReserveAuction_filter + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + claimableReserves: BigDecimal + claimableReserves_not: BigDecimal + claimableReserves_gt: BigDecimal + claimableReserves_lt: BigDecimal + claimableReserves_gte: BigDecimal + claimableReserves_lte: BigDecimal + claimableReserves_in: [BigDecimal!] + claimableReserves_not_in: [BigDecimal!] + startingPrice: BigDecimal + startingPrice_not: BigDecimal + startingPrice_gt: BigDecimal + startingPrice_lt: BigDecimal + startingPrice_gte: BigDecimal + startingPrice_lte: BigDecimal + startingPrice_in: [BigDecimal!] + startingPrice_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [ReserveAuctionKick_filter] + or: [ReserveAuctionKick_filter] +} + +enum ReserveAuctionTake_orderBy { + id + taker + reserveAuction + reserveAuction__id + reserveAuction__claimableReservesRemaining + reserveAuction__lastTakePrice + reserveAuction__burnEpoch + reserveAuction__ajnaBurned + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + claimableReservesRemaining + auctionPrice + quotePurchased + ajnaBurned + blockNumber + blockTimestamp + transactionHash +} + +input ReserveAuctionTake_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + taker: Bytes + taker_not: Bytes + taker_gt: Bytes + taker_lt: Bytes + taker_gte: Bytes + taker_lte: Bytes + taker_in: [Bytes!] + taker_not_in: [Bytes!] + taker_contains: Bytes + taker_not_contains: Bytes + reserveAuction: String + reserveAuction_not: String + reserveAuction_gt: String + reserveAuction_lt: String + reserveAuction_gte: String + reserveAuction_lte: String + reserveAuction_in: [String!] + reserveAuction_not_in: [String!] + reserveAuction_starts_with: String + reserveAuction_starts_with_nocase: String + reserveAuction_not_starts_with: String + reserveAuction_not_starts_with_nocase: String + reserveAuction_ends_with: String + reserveAuction_ends_with_nocase: String + reserveAuction_not_ends_with: String + reserveAuction_not_ends_with_nocase: String + reserveAuction_contains: String + reserveAuction_not_contains: String + reserveAuction_contains_nocase: String + reserveAuction_not_contains_nocase: String + reserveAuction_: ReserveAuction_filter + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + claimableReservesRemaining: BigDecimal + claimableReservesRemaining_not: BigDecimal + claimableReservesRemaining_gt: BigDecimal + claimableReservesRemaining_lt: BigDecimal + claimableReservesRemaining_gte: BigDecimal + claimableReservesRemaining_lte: BigDecimal + claimableReservesRemaining_in: [BigDecimal!] + claimableReservesRemaining_not_in: [BigDecimal!] + auctionPrice: BigDecimal + auctionPrice_not: BigDecimal + auctionPrice_gt: BigDecimal + auctionPrice_lt: BigDecimal + auctionPrice_gte: BigDecimal + auctionPrice_lte: BigDecimal + auctionPrice_in: [BigDecimal!] + auctionPrice_not_in: [BigDecimal!] + quotePurchased: BigDecimal + quotePurchased_not: BigDecimal + quotePurchased_gt: BigDecimal + quotePurchased_lt: BigDecimal + quotePurchased_gte: BigDecimal + quotePurchased_lte: BigDecimal + quotePurchased_in: [BigDecimal!] + quotePurchased_not_in: [BigDecimal!] + ajnaBurned: BigDecimal + ajnaBurned_not: BigDecimal + ajnaBurned_gt: BigDecimal + ajnaBurned_lt: BigDecimal + ajnaBurned_gte: BigDecimal + ajnaBurned_lte: BigDecimal + ajnaBurned_in: [BigDecimal!] + ajnaBurned_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [ReserveAuctionTake_filter] + or: [ReserveAuctionTake_filter] +} + +enum ResetInterestRate_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + oldBorrowRate + newBorrowRate + oldLendRate + newLendRate + blockNumber + blockTimestamp + transactionHash +} + +input ResetInterestRate_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + oldBorrowRate: BigDecimal + oldBorrowRate_not: BigDecimal + oldBorrowRate_gt: BigDecimal + oldBorrowRate_lt: BigDecimal + oldBorrowRate_gte: BigDecimal + oldBorrowRate_lte: BigDecimal + oldBorrowRate_in: [BigDecimal!] + oldBorrowRate_not_in: [BigDecimal!] + newBorrowRate: BigDecimal + newBorrowRate_not: BigDecimal + newBorrowRate_gt: BigDecimal + newBorrowRate_lt: BigDecimal + newBorrowRate_gte: BigDecimal + newBorrowRate_lte: BigDecimal + newBorrowRate_in: [BigDecimal!] + newBorrowRate_not_in: [BigDecimal!] + oldLendRate: BigDecimal + oldLendRate_not: BigDecimal + oldLendRate_gt: BigDecimal + oldLendRate_lt: BigDecimal + oldLendRate_gte: BigDecimal + oldLendRate_lte: BigDecimal + oldLendRate_in: [BigDecimal!] + oldLendRate_not_in: [BigDecimal!] + newLendRate: BigDecimal + newLendRate_not: BigDecimal + newLendRate_gt: BigDecimal + newLendRate_lt: BigDecimal + newLendRate_gte: BigDecimal + newLendRate_lte: BigDecimal + newLendRate_in: [BigDecimal!] + newLendRate_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [ResetInterestRate_filter] + or: [ResetInterestRate_filter] +} + +enum Settle_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + liquidationAuction + liquidationAuction__id + liquidationAuction__borrower + liquidationAuction__lastTakePrice + liquidationAuction__collateral + liquidationAuction__collateralRemaining + liquidationAuction__debt + liquidationAuction__debtRemaining + liquidationAuction__kicker + liquidationAuction__kickTime + liquidationAuction__settleTime + liquidationAuction__settled + liquidationAuction__bondSize + liquidationAuction__bondFactor + liquidationAuction__neutralPrice + liquidationAuction__referencePrice + liquidationAuction__thresholdPrice + loan + loan__id + loan__poolAddress + loan__borrower + loan__inLiquidation + loan__collateralPledged + loan__thresholdPrice + loan__t0debt + loan__t0Np + borrower + settledDebt + blockNumber + blockTimestamp + transactionHash +} + +input Settle_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + liquidationAuction: String + liquidationAuction_not: String + liquidationAuction_gt: String + liquidationAuction_lt: String + liquidationAuction_gte: String + liquidationAuction_lte: String + liquidationAuction_in: [String!] + liquidationAuction_not_in: [String!] + liquidationAuction_starts_with: String + liquidationAuction_starts_with_nocase: String + liquidationAuction_not_starts_with: String + liquidationAuction_not_starts_with_nocase: String + liquidationAuction_ends_with: String + liquidationAuction_ends_with_nocase: String + liquidationAuction_not_ends_with: String + liquidationAuction_not_ends_with_nocase: String + liquidationAuction_contains: String + liquidationAuction_not_contains: String + liquidationAuction_contains_nocase: String + liquidationAuction_not_contains_nocase: String + liquidationAuction_: LiquidationAuction_filter + loan: String + loan_not: String + loan_gt: String + loan_lt: String + loan_gte: String + loan_lte: String + loan_in: [String!] + loan_not_in: [String!] + loan_starts_with: String + loan_starts_with_nocase: String + loan_not_starts_with: String + loan_not_starts_with_nocase: String + loan_ends_with: String + loan_ends_with_nocase: String + loan_not_ends_with: String + loan_not_ends_with_nocase: String + loan_contains: String + loan_not_contains: String + loan_contains_nocase: String + loan_not_contains_nocase: String + loan_: Loan_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + settledDebt: BigDecimal + settledDebt_not: BigDecimal + settledDebt_gt: BigDecimal + settledDebt_lt: BigDecimal + settledDebt_gte: BigDecimal + settledDebt_lte: BigDecimal + settledDebt_in: [BigDecimal!] + settledDebt_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [Settle_filter] + or: [Settle_filter] +} + +enum Take_orderBy { + id + taker + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + borrower + liquidationAuction + liquidationAuction__id + liquidationAuction__borrower + liquidationAuction__lastTakePrice + liquidationAuction__collateral + liquidationAuction__collateralRemaining + liquidationAuction__debt + liquidationAuction__debtRemaining + liquidationAuction__kicker + liquidationAuction__kickTime + liquidationAuction__settleTime + liquidationAuction__settled + liquidationAuction__bondSize + liquidationAuction__bondFactor + liquidationAuction__neutralPrice + liquidationAuction__referencePrice + liquidationAuction__thresholdPrice + loan + loan__id + loan__poolAddress + loan__borrower + loan__inLiquidation + loan__collateralPledged + loan__thresholdPrice + loan__t0debt + loan__t0Np + auctionPrice + amount + collateral + bondChange + isReward + blockNumber + blockTimestamp + transactionHash +} + +input Take_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + taker: Bytes + taker_not: Bytes + taker_gt: Bytes + taker_lt: Bytes + taker_gte: Bytes + taker_lte: Bytes + taker_in: [Bytes!] + taker_not_in: [Bytes!] + taker_contains: Bytes + taker_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + liquidationAuction: String + liquidationAuction_not: String + liquidationAuction_gt: String + liquidationAuction_lt: String + liquidationAuction_gte: String + liquidationAuction_lte: String + liquidationAuction_in: [String!] + liquidationAuction_not_in: [String!] + liquidationAuction_starts_with: String + liquidationAuction_starts_with_nocase: String + liquidationAuction_not_starts_with: String + liquidationAuction_not_starts_with_nocase: String + liquidationAuction_ends_with: String + liquidationAuction_ends_with_nocase: String + liquidationAuction_not_ends_with: String + liquidationAuction_not_ends_with_nocase: String + liquidationAuction_contains: String + liquidationAuction_not_contains: String + liquidationAuction_contains_nocase: String + liquidationAuction_not_contains_nocase: String + liquidationAuction_: LiquidationAuction_filter + loan: String + loan_not: String + loan_gt: String + loan_lt: String + loan_gte: String + loan_lte: String + loan_in: [String!] + loan_not_in: [String!] + loan_starts_with: String + loan_starts_with_nocase: String + loan_not_starts_with: String + loan_not_starts_with_nocase: String + loan_ends_with: String + loan_ends_with_nocase: String + loan_not_ends_with: String + loan_not_ends_with_nocase: String + loan_contains: String + loan_not_contains: String + loan_contains_nocase: String + loan_not_contains_nocase: String + loan_: Loan_filter + auctionPrice: BigDecimal + auctionPrice_not: BigDecimal + auctionPrice_gt: BigDecimal + auctionPrice_lt: BigDecimal + auctionPrice_gte: BigDecimal + auctionPrice_lte: BigDecimal + auctionPrice_in: [BigDecimal!] + auctionPrice_not_in: [BigDecimal!] + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + collateral: BigDecimal + collateral_not: BigDecimal + collateral_gt: BigDecimal + collateral_lt: BigDecimal + collateral_gte: BigDecimal + collateral_lte: BigDecimal + collateral_in: [BigDecimal!] + collateral_not_in: [BigDecimal!] + bondChange: BigDecimal + bondChange_not: BigDecimal + bondChange_gt: BigDecimal + bondChange_lt: BigDecimal + bondChange_gte: BigDecimal + bondChange_lte: BigDecimal + bondChange_in: [BigDecimal!] + bondChange_not_in: [BigDecimal!] + isReward: Boolean + isReward_not: Boolean + isReward_gt: Boolean + isReward_lt: Boolean + isReward_gte: Boolean + isReward_lte: Boolean + isReward_in: [Boolean!] + isReward_not_in: [Boolean!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [Take_filter] + or: [Take_filter] +} + +enum TransferLP_orderBy { + id + owner + newOwner + indexes + lp + blockNumber + blockTimestamp + transactionHash +} + +input TransferLP_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + owner: Bytes + owner_not: Bytes + owner_gt: Bytes + owner_lt: Bytes + owner_gte: Bytes + owner_lte: Bytes + owner_in: [Bytes!] + owner_not_in: [Bytes!] + owner_contains: Bytes + owner_not_contains: Bytes + newOwner: Bytes + newOwner_not: Bytes + newOwner_gt: Bytes + newOwner_lt: Bytes + newOwner_gte: Bytes + newOwner_lte: Bytes + newOwner_in: [Bytes!] + newOwner_not_in: [Bytes!] + newOwner_contains: Bytes + newOwner_not_contains: Bytes + indexes: [Int!] + indexes_not: [Int!] + indexes_contains: [Int!] + indexes_not_contains: [Int!] + indexes_contains_nocase: [Int!] + indexes_not_contains_nocase: [Int!] + lp: BigDecimal + lp_not: BigDecimal + lp_gt: BigDecimal + lp_lt: BigDecimal + lp_gte: BigDecimal + lp_lte: BigDecimal + lp_in: [BigDecimal!] + lp_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [TransferLP_filter] + or: [TransferLP_filter] +} + +enum UpdateInterestRate_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + oldBorrowRate + newBorrowRate + oldLendRate + newLendRate + borrowFeeRate + depositFeeRate + blockNumber + blockTimestamp + transactionHash +} + +input UpdateInterestRate_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + oldBorrowRate: BigDecimal + oldBorrowRate_not: BigDecimal + oldBorrowRate_gt: BigDecimal + oldBorrowRate_lt: BigDecimal + oldBorrowRate_gte: BigDecimal + oldBorrowRate_lte: BigDecimal + oldBorrowRate_in: [BigDecimal!] + oldBorrowRate_not_in: [BigDecimal!] + newBorrowRate: BigDecimal + newBorrowRate_not: BigDecimal + newBorrowRate_gt: BigDecimal + newBorrowRate_lt: BigDecimal + newBorrowRate_gte: BigDecimal + newBorrowRate_lte: BigDecimal + newBorrowRate_in: [BigDecimal!] + newBorrowRate_not_in: [BigDecimal!] + oldLendRate: BigDecimal + oldLendRate_not: BigDecimal + oldLendRate_gt: BigDecimal + oldLendRate_lt: BigDecimal + oldLendRate_gte: BigDecimal + oldLendRate_lte: BigDecimal + oldLendRate_in: [BigDecimal!] + oldLendRate_not_in: [BigDecimal!] + newLendRate: BigDecimal + newLendRate_not: BigDecimal + newLendRate_gt: BigDecimal + newLendRate_lt: BigDecimal + newLendRate_gte: BigDecimal + newLendRate_lte: BigDecimal + newLendRate_in: [BigDecimal!] + newLendRate_not_in: [BigDecimal!] + borrowFeeRate: BigDecimal + borrowFeeRate_not: BigDecimal + borrowFeeRate_gt: BigDecimal + borrowFeeRate_lt: BigDecimal + borrowFeeRate_gte: BigDecimal + borrowFeeRate_lte: BigDecimal + borrowFeeRate_in: [BigDecimal!] + borrowFeeRate_not_in: [BigDecimal!] + depositFeeRate: BigDecimal + depositFeeRate_not: BigDecimal + depositFeeRate_gt: BigDecimal + depositFeeRate_lt: BigDecimal + depositFeeRate_gte: BigDecimal + depositFeeRate_lte: BigDecimal + depositFeeRate_in: [BigDecimal!] + depositFeeRate_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [UpdateInterestRate_filter] + or: [UpdateInterestRate_filter] +} + +enum Approval_orderBy { + id + owner + approved + tokenId + blockNumber + blockTimestamp + transactionHash +} + +input Approval_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + owner: Bytes + owner_not: Bytes + owner_gt: Bytes + owner_lt: Bytes + owner_gte: Bytes + owner_lte: Bytes + owner_in: [Bytes!] + owner_not_in: [Bytes!] + owner_contains: Bytes + owner_not_contains: Bytes + approved: Bytes + approved_not: Bytes + approved_gt: Bytes + approved_lt: Bytes + approved_gte: Bytes + approved_lte: Bytes + approved_in: [Bytes!] + approved_not_in: [Bytes!] + approved_contains: Bytes + approved_not_contains: Bytes + tokenId: BigInt + tokenId_not: BigInt + tokenId_gt: BigInt + tokenId_lt: BigInt + tokenId_gte: BigInt + tokenId_lte: BigInt + tokenId_in: [BigInt!] + tokenId_not_in: [BigInt!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [Approval_filter] + or: [Approval_filter] +} + +enum ApprovalForAll_orderBy { + id + owner + operator + approved + blockNumber + blockTimestamp + transactionHash +} + +input ApprovalForAll_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + owner: Bytes + owner_not: Bytes + owner_gt: Bytes + owner_lt: Bytes + owner_gte: Bytes + owner_lte: Bytes + owner_in: [Bytes!] + owner_not_in: [Bytes!] + owner_contains: Bytes + owner_not_contains: Bytes + operator: Bytes + operator_not: Bytes + operator_gt: Bytes + operator_lt: Bytes + operator_gte: Bytes + operator_lte: Bytes + operator_in: [Bytes!] + operator_not_in: [Bytes!] + operator_contains: Bytes + operator_not_contains: Bytes + approved: Boolean + approved_not: Boolean + approved_gt: Boolean + approved_lt: Boolean + approved_gte: Boolean + approved_lte: Boolean + approved_in: [Boolean!] + approved_not_in: [Boolean!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [ApprovalForAll_filter] + or: [ApprovalForAll_filter] +} + +enum MoveLiquidity_orderBy { + id + lender + tokenId + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + fromIndex + toIndex + blockNumber + blockTimestamp + transactionHash +} + +input MoveLiquidity_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + tokenId: BigInt + tokenId_not: BigInt + tokenId_gt: BigInt + tokenId_lt: BigInt + tokenId_gte: BigInt + tokenId_lte: BigInt + tokenId_in: [BigInt!] + tokenId_not_in: [BigInt!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + fromIndex: Int + fromIndex_not: Int + fromIndex_gt: Int + fromIndex_lt: Int + fromIndex_gte: Int + fromIndex_lte: Int + fromIndex_in: [Int!] + fromIndex_not_in: [Int!] + toIndex: Int + toIndex_not: Int + toIndex_gt: Int + toIndex_lt: Int + toIndex_gte: Int + toIndex_lte: Int + toIndex_in: [Int!] + toIndex_not_in: [Int!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [MoveLiquidity_filter] + or: [MoveLiquidity_filter] +} + +enum Transfer_orderBy { + id + token + token__id + token__symbol + token__name + token__decimals + token__tokenType + token__poolCount + token__totalSupply + token__txCount + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + from + to + tokenId + blockNumber + blockTimestamp + transactionHash +} + +input Transfer_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + token: String + token_not: String + token_gt: String + token_lt: String + token_gte: String + token_lte: String + token_in: [String!] + token_not_in: [String!] + token_starts_with: String + token_starts_with_nocase: String + token_not_starts_with: String + token_not_starts_with_nocase: String + token_ends_with: String + token_ends_with_nocase: String + token_not_ends_with: String + token_not_ends_with_nocase: String + token_contains: String + token_not_contains: String + token_contains_nocase: String + token_not_contains_nocase: String + token_: Token_filter + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + from: Bytes + from_not: Bytes + from_gt: Bytes + from_lt: Bytes + from_gte: Bytes + from_lte: Bytes + from_in: [Bytes!] + from_not_in: [Bytes!] + from_contains: Bytes + from_not_contains: Bytes + to: Bytes + to_not: Bytes + to_gt: Bytes + to_lt: Bytes + to_gte: Bytes + to_lte: Bytes + to_in: [Bytes!] + to_not_in: [Bytes!] + to_contains: Bytes + to_not_contains: Bytes + tokenId: BigInt + tokenId_not: BigInt + tokenId_gt: BigInt + tokenId_lt: BigInt + tokenId_gte: BigInt + tokenId_lte: BigInt + tokenId_in: [BigInt!] + tokenId_not_in: [BigInt!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [Transfer_filter] + or: [Transfer_filter] +} + +enum PoolCreated_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + poolType + factory + factory__id + factory__poolType + factory__poolCount + factory__txCount + blockNumber + blockTimestamp + transactionHash +} + +input PoolCreated_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + poolType: String + poolType_not: String + poolType_gt: String + poolType_lt: String + poolType_gte: String + poolType_lte: String + poolType_in: [String!] + poolType_not_in: [String!] + poolType_starts_with: String + poolType_starts_with_nocase: String + poolType_not_starts_with: String + poolType_not_starts_with_nocase: String + poolType_ends_with: String + poolType_ends_with_nocase: String + poolType_not_ends_with: String + poolType_not_ends_with_nocase: String + poolType_contains: String + poolType_not_contains: String + poolType_contains_nocase: String + poolType_not_contains_nocase: String + factory: String + factory_not: String + factory_gt: String + factory_lt: String + factory_gte: String + factory_lte: String + factory_in: [String!] + factory_not_in: [String!] + factory_starts_with: String + factory_starts_with_nocase: String + factory_not_starts_with: String + factory_not_starts_with_nocase: String + factory_ends_with: String + factory_ends_with_nocase: String + factory_not_ends_with: String + factory_not_ends_with_nocase: String + factory_contains: String + factory_not_contains: String + factory_contains_nocase: String + factory_not_contains_nocase: String + factory_: PoolFactory_filter + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [PoolCreated_filter] + or: [PoolCreated_filter] +} + +enum AddCollateralNFT_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + bucket + bucket__id + bucket__bucketIndex + bucket__bucketPrice + bucket__exchangeRate + bucket__poolAddress + bucket__collateral + bucket__deposit + bucket__lpb + actor + index + tokenIds + lpAwarded + blockNumber + blockTimestamp + transactionHash +} + +input AddCollateralNFT_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + bucket: String + bucket_not: String + bucket_gt: String + bucket_lt: String + bucket_gte: String + bucket_lte: String + bucket_in: [String!] + bucket_not_in: [String!] + bucket_starts_with: String + bucket_starts_with_nocase: String + bucket_not_starts_with: String + bucket_not_starts_with_nocase: String + bucket_ends_with: String + bucket_ends_with_nocase: String + bucket_not_ends_with: String + bucket_not_ends_with_nocase: String + bucket_contains: String + bucket_not_contains: String + bucket_contains_nocase: String + bucket_not_contains_nocase: String + bucket_: Bucket_filter + actor: Bytes + actor_not: Bytes + actor_gt: Bytes + actor_lt: Bytes + actor_gte: Bytes + actor_lte: Bytes + actor_in: [Bytes!] + actor_not_in: [Bytes!] + actor_contains: Bytes + actor_not_contains: Bytes + index: BigInt + index_not: BigInt + index_gt: BigInt + index_lt: BigInt + index_gte: BigInt + index_lte: BigInt + index_in: [BigInt!] + index_not_in: [BigInt!] + tokenIds: [BigInt!] + tokenIds_not: [BigInt!] + tokenIds_contains: [BigInt!] + tokenIds_not_contains: [BigInt!] + tokenIds_contains_nocase: [BigInt!] + tokenIds_not_contains_nocase: [BigInt!] + lpAwarded: BigDecimal + lpAwarded_not: BigDecimal + lpAwarded_gt: BigDecimal + lpAwarded_lt: BigDecimal + lpAwarded_gte: BigDecimal + lpAwarded_lte: BigDecimal + lpAwarded_in: [BigDecimal!] + lpAwarded_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [AddCollateralNFT_filter] + or: [AddCollateralNFT_filter] +} + +enum AuctionNFTSettle_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + loan + loan__id + loan__poolAddress + loan__borrower + loan__inLiquidation + loan__collateralPledged + loan__thresholdPrice + loan__t0debt + loan__t0Np + borrower + collateral + lp + index + blockNumber + blockTimestamp + transactionHash +} + +input AuctionNFTSettle_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + loan: String + loan_not: String + loan_gt: String + loan_lt: String + loan_gte: String + loan_lte: String + loan_in: [String!] + loan_not_in: [String!] + loan_starts_with: String + loan_starts_with_nocase: String + loan_not_starts_with: String + loan_not_starts_with_nocase: String + loan_ends_with: String + loan_ends_with_nocase: String + loan_not_ends_with: String + loan_not_ends_with_nocase: String + loan_contains: String + loan_not_contains: String + loan_contains_nocase: String + loan_not_contains_nocase: String + loan_: Loan_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + collateral: BigDecimal + collateral_not: BigDecimal + collateral_gt: BigDecimal + collateral_lt: BigDecimal + collateral_gte: BigDecimal + collateral_lte: BigDecimal + collateral_in: [BigDecimal!] + collateral_not_in: [BigDecimal!] + lp: BigDecimal + lp_not: BigDecimal + lp_gt: BigDecimal + lp_lt: BigDecimal + lp_gte: BigDecimal + lp_lte: BigDecimal + lp_in: [BigDecimal!] + lp_not_in: [BigDecimal!] + index: Int + index_not: Int + index_gt: Int + index_lt: Int + index_gte: Int + index_lte: Int + index_in: [Int!] + index_not_in: [Int!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [AuctionNFTSettle_filter] + or: [AuctionNFTSettle_filter] +} + +enum DrawDebtNFT_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + borrower + amountBorrowed + tokenIdsPledged + lup + blockNumber + blockTimestamp + transactionHash +} + +input DrawDebtNFT_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + borrower: Bytes + borrower_not: Bytes + borrower_gt: Bytes + borrower_lt: Bytes + borrower_gte: Bytes + borrower_lte: Bytes + borrower_in: [Bytes!] + borrower_not_in: [Bytes!] + borrower_contains: Bytes + borrower_not_contains: Bytes + amountBorrowed: BigDecimal + amountBorrowed_not: BigDecimal + amountBorrowed_gt: BigDecimal + amountBorrowed_lt: BigDecimal + amountBorrowed_gte: BigDecimal + amountBorrowed_lte: BigDecimal + amountBorrowed_in: [BigDecimal!] + amountBorrowed_not_in: [BigDecimal!] + tokenIdsPledged: [BigInt!] + tokenIdsPledged_not: [BigInt!] + tokenIdsPledged_contains: [BigInt!] + tokenIdsPledged_not_contains: [BigInt!] + tokenIdsPledged_contains_nocase: [BigInt!] + tokenIdsPledged_not_contains_nocase: [BigInt!] + lup: BigDecimal + lup_not: BigDecimal + lup_gt: BigDecimal + lup_lt: BigDecimal + lup_gte: BigDecimal + lup_lte: BigDecimal + lup_in: [BigDecimal!] + lup_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [DrawDebtNFT_filter] + or: [DrawDebtNFT_filter] +} + +enum MergeOrRemoveCollateralNFT_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + actor + collateralMerged + toIndexLps + blockNumber + blockTimestamp + transactionHash +} + +input MergeOrRemoveCollateralNFT_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + actor: Bytes + actor_not: Bytes + actor_gt: Bytes + actor_lt: Bytes + actor_gte: Bytes + actor_lte: Bytes + actor_in: [Bytes!] + actor_not_in: [Bytes!] + actor_contains: Bytes + actor_not_contains: Bytes + collateralMerged: BigDecimal + collateralMerged_not: BigDecimal + collateralMerged_gt: BigDecimal + collateralMerged_lt: BigDecimal + collateralMerged_gte: BigDecimal + collateralMerged_lte: BigDecimal + collateralMerged_in: [BigDecimal!] + collateralMerged_not_in: [BigDecimal!] + toIndexLps: BigDecimal + toIndexLps_not: BigDecimal + toIndexLps_gt: BigDecimal + toIndexLps_lt: BigDecimal + toIndexLps_gte: BigDecimal + toIndexLps_lte: BigDecimal + toIndexLps_in: [BigDecimal!] + toIndexLps_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [MergeOrRemoveCollateralNFT_filter] + or: [MergeOrRemoveCollateralNFT_filter] +} + +enum Position_orderBy { + id + tokenId + indexes + owner + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + token + token__id + token__symbol + token__name + token__decimals + token__tokenType + token__poolCount + token__totalSupply + token__txCount + tokenURI +} + +input Position_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + tokenId: BigInt + tokenId_not: BigInt + tokenId_gt: BigInt + tokenId_lt: BigInt + tokenId_gte: BigInt + tokenId_lte: BigInt + tokenId_in: [BigInt!] + tokenId_not_in: [BigInt!] + indexes: [String!] + indexes_not: [String!] + indexes_contains: [String!] + indexes_not_contains: [String!] + indexes_contains_nocase: [String!] + indexes_not_contains_nocase: [String!] + indexes_: PositionLend_filter + owner: Bytes + owner_not: Bytes + owner_gt: Bytes + owner_lt: Bytes + owner_gte: Bytes + owner_lte: Bytes + owner_in: [Bytes!] + owner_not_in: [Bytes!] + owner_contains: Bytes + owner_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + token: String + token_not: String + token_gt: String + token_lt: String + token_gte: String + token_lte: String + token_in: [String!] + token_not_in: [String!] + token_starts_with: String + token_starts_with_nocase: String + token_not_starts_with: String + token_not_starts_with_nocase: String + token_ends_with: String + token_ends_with_nocase: String + token_not_ends_with: String + token_not_ends_with_nocase: String + token_contains: String + token_not_contains: String + token_contains_nocase: String + token_not_contains_nocase: String + token_: Token_filter + tokenURI: String + tokenURI_not: String + tokenURI_gt: String + tokenURI_lt: String + tokenURI_gte: String + tokenURI_lte: String + tokenURI_in: [String!] + tokenURI_not_in: [String!] + tokenURI_starts_with: String + tokenURI_starts_with_nocase: String + tokenURI_not_starts_with: String + tokenURI_not_starts_with_nocase: String + tokenURI_ends_with: String + tokenURI_ends_with_nocase: String + tokenURI_not_ends_with: String + tokenURI_not_ends_with_nocase: String + tokenURI_contains: String + tokenURI_not_contains: String + tokenURI_contains_nocase: String + tokenURI_not_contains_nocase: String + _change_block: BlockChangedFilter + and: [Position_filter] + or: [Position_filter] +} + +enum PositionLend_orderBy { + id + bucket + bucket__id + bucket__bucketIndex + bucket__bucketPrice + bucket__exchangeRate + bucket__poolAddress + bucket__collateral + bucket__deposit + bucket__lpb + bucketIndex + depositTime + lpb + lpbValueInQuote + tokenId +} + +input PositionLend_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + bucket: String + bucket_not: String + bucket_gt: String + bucket_lt: String + bucket_gte: String + bucket_lte: String + bucket_in: [String!] + bucket_not_in: [String!] + bucket_starts_with: String + bucket_starts_with_nocase: String + bucket_not_starts_with: String + bucket_not_starts_with_nocase: String + bucket_ends_with: String + bucket_ends_with_nocase: String + bucket_not_ends_with: String + bucket_not_ends_with_nocase: String + bucket_contains: String + bucket_not_contains: String + bucket_contains_nocase: String + bucket_not_contains_nocase: String + bucket_: Bucket_filter + bucketIndex: Int + bucketIndex_not: Int + bucketIndex_gt: Int + bucketIndex_lt: Int + bucketIndex_gte: Int + bucketIndex_lte: Int + bucketIndex_in: [Int!] + bucketIndex_not_in: [Int!] + depositTime: BigInt + depositTime_not: BigInt + depositTime_gt: BigInt + depositTime_lt: BigInt + depositTime_gte: BigInt + depositTime_lte: BigInt + depositTime_in: [BigInt!] + depositTime_not_in: [BigInt!] + lpb: BigDecimal + lpb_not: BigDecimal + lpb_gt: BigDecimal + lpb_lt: BigDecimal + lpb_gte: BigDecimal + lpb_lte: BigDecimal + lpb_in: [BigDecimal!] + lpb_not_in: [BigDecimal!] + lpbValueInQuote: BigDecimal + lpbValueInQuote_not: BigDecimal + lpbValueInQuote_gt: BigDecimal + lpbValueInQuote_lt: BigDecimal + lpbValueInQuote_gte: BigDecimal + lpbValueInQuote_lte: BigDecimal + lpbValueInQuote_in: [BigDecimal!] + lpbValueInQuote_not_in: [BigDecimal!] + tokenId: BigInt + tokenId_not: BigInt + tokenId_gt: BigInt + tokenId_lt: BigInt + tokenId_gte: BigInt + tokenId_lte: BigInt + tokenId_in: [BigInt!] + tokenId_not_in: [BigInt!] + _change_block: BlockChangedFilter + and: [PositionLend_filter] + or: [PositionLend_filter] +} + +enum Burn_orderBy { + id + lender + tokenId + blockNumber + blockTimestamp + transactionHash +} + +input Burn_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + tokenId: BigInt + tokenId_not: BigInt + tokenId_gt: BigInt + tokenId_lt: BigInt + tokenId_gte: BigInt + tokenId_lte: BigInt + tokenId_in: [BigInt!] + tokenId_not_in: [BigInt!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [Burn_filter] + or: [Burn_filter] +} + +enum MemorializePosition_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + lender + tokenId + indexes + blockNumber + blockTimestamp + transactionHash +} + +input MemorializePosition_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + tokenId: BigInt + tokenId_not: BigInt + tokenId_gt: BigInt + tokenId_lt: BigInt + tokenId_gte: BigInt + tokenId_lte: BigInt + tokenId_in: [BigInt!] + tokenId_not_in: [BigInt!] + indexes: [Int!] + indexes_not: [Int!] + indexes_contains: [Int!] + indexes_not_contains: [Int!] + indexes_contains_nocase: [Int!] + indexes_not_contains_nocase: [Int!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [MemorializePosition_filter] + or: [MemorializePosition_filter] +} + +enum Mint_orderBy { + id + lender + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + tokenId + blockNumber + blockTimestamp + transactionHash +} + +input Mint_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + tokenId: BigInt + tokenId_not: BigInt + tokenId_gt: BigInt + tokenId_lt: BigInt + tokenId_gte: BigInt + tokenId_lte: BigInt + tokenId_in: [BigInt!] + tokenId_not_in: [BigInt!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [Mint_filter] + or: [Mint_filter] +} + +enum RedeemPosition_orderBy { + id + pool + pool__id + pool__createdAtBlockNumber + pool__createdAtTimestamp + pool__poolSize + pool__t0debt + pool__inflator + pool__borrowRate + pool__lendRate + pool__borrowFeeRate + pool__depositFeeRate + pool__pledgedCollateral + pool__totalInterestEarned + pool__txCount + pool__poolType + pool__loansCount + pool__maxBorrower + pool__quoteTokenFlashloaned + pool__collateralFlashloaned + pool__hpb + pool__hpbIndex + pool__htp + pool__htpIndex + pool__lup + pool__lupIndex + pool__reserves + pool__claimableReserves + pool__claimableReservesRemaining + pool__burnEpoch + pool__totalAjnaBurned + pool__minDebtAmount + pool__actualUtilization + pool__targetUtilization + pool__totalBondEscrowed + pool__quoteTokenBalance + pool__collateralBalance + pool__subsetHash + lender + tokenId + indexes + blockNumber + blockTimestamp + transactionHash +} + +input RedeemPosition_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_contains: String + pool_not_contains: String + pool_contains_nocase: String + pool_not_contains_nocase: String + pool_: Pool_filter + lender: Bytes + lender_not: Bytes + lender_gt: Bytes + lender_lt: Bytes + lender_gte: Bytes + lender_lte: Bytes + lender_in: [Bytes!] + lender_not_in: [Bytes!] + lender_contains: Bytes + lender_not_contains: Bytes + tokenId: BigInt + tokenId_not: BigInt + tokenId_gt: BigInt + tokenId_lt: BigInt + tokenId_gte: BigInt + tokenId_lte: BigInt + tokenId_in: [BigInt!] + tokenId_not_in: [BigInt!] + indexes: [Int!] + indexes_not: [Int!] + indexes_contains: [Int!] + indexes_not_contains: [Int!] + indexes_contains_nocase: [Int!] + indexes_not_contains_nocase: [Int!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [RedeemPosition_filter] + or: [RedeemPosition_filter] +} + +enum GrantFund_orderBy { + id + treasury + distributionPeriods + totalDelegationRewardsClaimed +} + +input GrantFund_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + treasury: BigDecimal + treasury_not: BigDecimal + treasury_gt: BigDecimal + treasury_lt: BigDecimal + treasury_gte: BigDecimal + treasury_lte: BigDecimal + treasury_in: [BigDecimal!] + treasury_not_in: [BigDecimal!] + distributionPeriods: [String!] + distributionPeriods_not: [String!] + distributionPeriods_contains: [String!] + distributionPeriods_not_contains: [String!] + distributionPeriods_contains_nocase: [String!] + distributionPeriods_not_contains_nocase: [String!] + distributionPeriods_: DistributionPeriod_filter + totalDelegationRewardsClaimed: BigDecimal + totalDelegationRewardsClaimed_not: BigDecimal + totalDelegationRewardsClaimed_gt: BigDecimal + totalDelegationRewardsClaimed_lt: BigDecimal + totalDelegationRewardsClaimed_gte: BigDecimal + totalDelegationRewardsClaimed_lte: BigDecimal + totalDelegationRewardsClaimed_in: [BigDecimal!] + totalDelegationRewardsClaimed_not_in: [BigDecimal!] + _change_block: BlockChangedFilter + and: [GrantFund_filter] + or: [GrantFund_filter] +} + +enum DistributionPeriod_orderBy { + id + distributionId + startBlock + endBlock + topSlate + topSlate__id + topSlate__totalTokensRequested + topSlate__totalFundingVotesReceived + topSlate__updateBlock + slatesSubmitted + fundsAvailable + delegationRewardsClaimed + fundingVotePowerUsed + screeningVotesCast + votes + proposals + totalTokensDistributed +} + +input DistributionPeriod_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + distributionId: BigInt + distributionId_not: BigInt + distributionId_gt: BigInt + distributionId_lt: BigInt + distributionId_gte: BigInt + distributionId_lte: BigInt + distributionId_in: [BigInt!] + distributionId_not_in: [BigInt!] + startBlock: BigInt + startBlock_not: BigInt + startBlock_gt: BigInt + startBlock_lt: BigInt + startBlock_gte: BigInt + startBlock_lte: BigInt + startBlock_in: [BigInt!] + startBlock_not_in: [BigInt!] + endBlock: BigInt + endBlock_not: BigInt + endBlock_gt: BigInt + endBlock_lt: BigInt + endBlock_gte: BigInt + endBlock_lte: BigInt + endBlock_in: [BigInt!] + endBlock_not_in: [BigInt!] + topSlate: String + topSlate_not: String + topSlate_gt: String + topSlate_lt: String + topSlate_gte: String + topSlate_lte: String + topSlate_in: [String!] + topSlate_not_in: [String!] + topSlate_starts_with: String + topSlate_starts_with_nocase: String + topSlate_not_starts_with: String + topSlate_not_starts_with_nocase: String + topSlate_ends_with: String + topSlate_ends_with_nocase: String + topSlate_not_ends_with: String + topSlate_not_ends_with_nocase: String + topSlate_contains: String + topSlate_not_contains: String + topSlate_contains_nocase: String + topSlate_not_contains_nocase: String + topSlate_: FundedSlate_filter + slatesSubmitted: [String!] + slatesSubmitted_not: [String!] + slatesSubmitted_contains: [String!] + slatesSubmitted_not_contains: [String!] + slatesSubmitted_contains_nocase: [String!] + slatesSubmitted_not_contains_nocase: [String!] + slatesSubmitted_: FundedSlate_filter + fundsAvailable: BigDecimal + fundsAvailable_not: BigDecimal + fundsAvailable_gt: BigDecimal + fundsAvailable_lt: BigDecimal + fundsAvailable_gte: BigDecimal + fundsAvailable_lte: BigDecimal + fundsAvailable_in: [BigDecimal!] + fundsAvailable_not_in: [BigDecimal!] + delegationRewardsClaimed: BigDecimal + delegationRewardsClaimed_not: BigDecimal + delegationRewardsClaimed_gt: BigDecimal + delegationRewardsClaimed_lt: BigDecimal + delegationRewardsClaimed_gte: BigDecimal + delegationRewardsClaimed_lte: BigDecimal + delegationRewardsClaimed_in: [BigDecimal!] + delegationRewardsClaimed_not_in: [BigDecimal!] + fundingVotePowerUsed: BigDecimal + fundingVotePowerUsed_not: BigDecimal + fundingVotePowerUsed_gt: BigDecimal + fundingVotePowerUsed_lt: BigDecimal + fundingVotePowerUsed_gte: BigDecimal + fundingVotePowerUsed_lte: BigDecimal + fundingVotePowerUsed_in: [BigDecimal!] + fundingVotePowerUsed_not_in: [BigDecimal!] + screeningVotesCast: BigDecimal + screeningVotesCast_not: BigDecimal + screeningVotesCast_gt: BigDecimal + screeningVotesCast_lt: BigDecimal + screeningVotesCast_gte: BigDecimal + screeningVotesCast_lte: BigDecimal + screeningVotesCast_in: [BigDecimal!] + screeningVotesCast_not_in: [BigDecimal!] + votes: [String!] + votes_not: [String!] + votes_contains: [String!] + votes_not_contains: [String!] + votes_contains_nocase: [String!] + votes_not_contains_nocase: [String!] + votes_: DistributionPeriodVote_filter + proposals: [String!] + proposals_not: [String!] + proposals_contains: [String!] + proposals_not_contains: [String!] + proposals_contains_nocase: [String!] + proposals_not_contains_nocase: [String!] + proposals_: Proposal_filter + totalTokensDistributed: BigDecimal + totalTokensDistributed_not: BigDecimal + totalTokensDistributed_gt: BigDecimal + totalTokensDistributed_lt: BigDecimal + totalTokensDistributed_gte: BigDecimal + totalTokensDistributed_lte: BigDecimal + totalTokensDistributed_in: [BigDecimal!] + totalTokensDistributed_not_in: [BigDecimal!] + _change_block: BlockChangedFilter + and: [DistributionPeriod_filter] + or: [DistributionPeriod_filter] +} + +enum Proposal_orderBy { + id + proposalId + description + distribution + distribution__id + distribution__distributionId + distribution__startBlock + distribution__endBlock + distribution__fundsAvailable + distribution__delegationRewardsClaimed + distribution__fundingVotePowerUsed + distribution__screeningVotesCast + distribution__totalTokensDistributed + executed + screeningVotesReceived + fundingVotesReceived + fundingVotesNegative + fundingVotesPositive + totalTokensRequested + params +} + +input Proposal_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + proposalId: BigInt + proposalId_not: BigInt + proposalId_gt: BigInt + proposalId_lt: BigInt + proposalId_gte: BigInt + proposalId_lte: BigInt + proposalId_in: [BigInt!] + proposalId_not_in: [BigInt!] + description: String + description_not: String + description_gt: String + description_lt: String + description_gte: String + description_lte: String + description_in: [String!] + description_not_in: [String!] + description_starts_with: String + description_starts_with_nocase: String + description_not_starts_with: String + description_not_starts_with_nocase: String + description_ends_with: String + description_ends_with_nocase: String + description_not_ends_with: String + description_not_ends_with_nocase: String + description_contains: String + description_not_contains: String + description_contains_nocase: String + description_not_contains_nocase: String + distribution: String + distribution_not: String + distribution_gt: String + distribution_lt: String + distribution_gte: String + distribution_lte: String + distribution_in: [String!] + distribution_not_in: [String!] + distribution_starts_with: String + distribution_starts_with_nocase: String + distribution_not_starts_with: String + distribution_not_starts_with_nocase: String + distribution_ends_with: String + distribution_ends_with_nocase: String + distribution_not_ends_with: String + distribution_not_ends_with_nocase: String + distribution_contains: String + distribution_not_contains: String + distribution_contains_nocase: String + distribution_not_contains_nocase: String + distribution_: DistributionPeriod_filter + executed: Boolean + executed_not: Boolean + executed_gt: Boolean + executed_lt: Boolean + executed_gte: Boolean + executed_lte: Boolean + executed_in: [Boolean!] + executed_not_in: [Boolean!] + screeningVotesReceived: BigDecimal + screeningVotesReceived_not: BigDecimal + screeningVotesReceived_gt: BigDecimal + screeningVotesReceived_lt: BigDecimal + screeningVotesReceived_gte: BigDecimal + screeningVotesReceived_lte: BigDecimal + screeningVotesReceived_in: [BigDecimal!] + screeningVotesReceived_not_in: [BigDecimal!] + fundingVotesReceived: BigDecimal + fundingVotesReceived_not: BigDecimal + fundingVotesReceived_gt: BigDecimal + fundingVotesReceived_lt: BigDecimal + fundingVotesReceived_gte: BigDecimal + fundingVotesReceived_lte: BigDecimal + fundingVotesReceived_in: [BigDecimal!] + fundingVotesReceived_not_in: [BigDecimal!] + fundingVotesNegative: BigDecimal + fundingVotesNegative_not: BigDecimal + fundingVotesNegative_gt: BigDecimal + fundingVotesNegative_lt: BigDecimal + fundingVotesNegative_gte: BigDecimal + fundingVotesNegative_lte: BigDecimal + fundingVotesNegative_in: [BigDecimal!] + fundingVotesNegative_not_in: [BigDecimal!] + fundingVotesPositive: BigDecimal + fundingVotesPositive_not: BigDecimal + fundingVotesPositive_gt: BigDecimal + fundingVotesPositive_lt: BigDecimal + fundingVotesPositive_gte: BigDecimal + fundingVotesPositive_lte: BigDecimal + fundingVotesPositive_in: [BigDecimal!] + fundingVotesPositive_not_in: [BigDecimal!] + totalTokensRequested: BigDecimal + totalTokensRequested_not: BigDecimal + totalTokensRequested_gt: BigDecimal + totalTokensRequested_lt: BigDecimal + totalTokensRequested_gte: BigDecimal + totalTokensRequested_lte: BigDecimal + totalTokensRequested_in: [BigDecimal!] + totalTokensRequested_not_in: [BigDecimal!] + params: [String!] + params_not: [String!] + params_contains: [String!] + params_not_contains: [String!] + params_contains_nocase: [String!] + params_not_contains_nocase: [String!] + params_: ProposalParams_filter + _change_block: BlockChangedFilter + and: [Proposal_filter] + or: [Proposal_filter] +} + +enum ProposalParams_orderBy { + id + target + value + calldata + recipient + tokensRequested +} + +input ProposalParams_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + target: Bytes + target_not: Bytes + target_gt: Bytes + target_lt: Bytes + target_gte: Bytes + target_lte: Bytes + target_in: [Bytes!] + target_not_in: [Bytes!] + target_contains: Bytes + target_not_contains: Bytes + value: BigInt + value_not: BigInt + value_gt: BigInt + value_lt: BigInt + value_gte: BigInt + value_lte: BigInt + value_in: [BigInt!] + value_not_in: [BigInt!] + calldata: Bytes + calldata_not: Bytes + calldata_gt: Bytes + calldata_lt: Bytes + calldata_gte: Bytes + calldata_lte: Bytes + calldata_in: [Bytes!] + calldata_not_in: [Bytes!] + calldata_contains: Bytes + calldata_not_contains: Bytes + recipient: Bytes + recipient_not: Bytes + recipient_gt: Bytes + recipient_lt: Bytes + recipient_gte: Bytes + recipient_lte: Bytes + recipient_in: [Bytes!] + recipient_not_in: [Bytes!] + recipient_contains: Bytes + recipient_not_contains: Bytes + tokensRequested: BigDecimal + tokensRequested_not: BigDecimal + tokensRequested_gt: BigDecimal + tokensRequested_lt: BigDecimal + tokensRequested_gte: BigDecimal + tokensRequested_lte: BigDecimal + tokensRequested_in: [BigDecimal!] + tokensRequested_not_in: [BigDecimal!] + _change_block: BlockChangedFilter + and: [ProposalParams_filter] + or: [ProposalParams_filter] +} + +enum DistributionPeriodVote_orderBy { + id + voter + voter__id + voter__rewardsClaimed + voter__tokensDelegated + voter__txCount + distribution + distribution__id + distribution__distributionId + distribution__startBlock + distribution__endBlock + distribution__fundsAvailable + distribution__delegationRewardsClaimed + distribution__fundingVotePowerUsed + distribution__screeningVotesCast + distribution__totalTokensDistributed + initialFundingStageVotingPowerRecordedPostVote + remainingFundingStageVotingPowerRecordedPostVote + initialScreeningStageVotingPowerRecordedPostVote + remainingScreeningStageVotingPowerRecordedPostVote + screeningVotes + fundingVotes +} + +input DistributionPeriodVote_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + voter: String + voter_not: String + voter_gt: String + voter_lt: String + voter_gte: String + voter_lte: String + voter_in: [String!] + voter_not_in: [String!] + voter_starts_with: String + voter_starts_with_nocase: String + voter_not_starts_with: String + voter_not_starts_with_nocase: String + voter_ends_with: String + voter_ends_with_nocase: String + voter_not_ends_with: String + voter_not_ends_with_nocase: String + voter_contains: String + voter_not_contains: String + voter_contains_nocase: String + voter_not_contains_nocase: String + voter_: Account_filter + distribution: String + distribution_not: String + distribution_gt: String + distribution_lt: String + distribution_gte: String + distribution_lte: String + distribution_in: [String!] + distribution_not_in: [String!] + distribution_starts_with: String + distribution_starts_with_nocase: String + distribution_not_starts_with: String + distribution_not_starts_with_nocase: String + distribution_ends_with: String + distribution_ends_with_nocase: String + distribution_not_ends_with: String + distribution_not_ends_with_nocase: String + distribution_contains: String + distribution_not_contains: String + distribution_contains_nocase: String + distribution_not_contains_nocase: String + distribution_: DistributionPeriod_filter + initialFundingStageVotingPowerRecordedPostVote: BigDecimal + initialFundingStageVotingPowerRecordedPostVote_not: BigDecimal + initialFundingStageVotingPowerRecordedPostVote_gt: BigDecimal + initialFundingStageVotingPowerRecordedPostVote_lt: BigDecimal + initialFundingStageVotingPowerRecordedPostVote_gte: BigDecimal + initialFundingStageVotingPowerRecordedPostVote_lte: BigDecimal + initialFundingStageVotingPowerRecordedPostVote_in: [BigDecimal!] + initialFundingStageVotingPowerRecordedPostVote_not_in: [BigDecimal!] + remainingFundingStageVotingPowerRecordedPostVote: BigDecimal + remainingFundingStageVotingPowerRecordedPostVote_not: BigDecimal + remainingFundingStageVotingPowerRecordedPostVote_gt: BigDecimal + remainingFundingStageVotingPowerRecordedPostVote_lt: BigDecimal + remainingFundingStageVotingPowerRecordedPostVote_gte: BigDecimal + remainingFundingStageVotingPowerRecordedPostVote_lte: BigDecimal + remainingFundingStageVotingPowerRecordedPostVote_in: [BigDecimal!] + remainingFundingStageVotingPowerRecordedPostVote_not_in: [BigDecimal!] + initialScreeningStageVotingPowerRecordedPostVote: BigDecimal + initialScreeningStageVotingPowerRecordedPostVote_not: BigDecimal + initialScreeningStageVotingPowerRecordedPostVote_gt: BigDecimal + initialScreeningStageVotingPowerRecordedPostVote_lt: BigDecimal + initialScreeningStageVotingPowerRecordedPostVote_gte: BigDecimal + initialScreeningStageVotingPowerRecordedPostVote_lte: BigDecimal + initialScreeningStageVotingPowerRecordedPostVote_in: [BigDecimal!] + initialScreeningStageVotingPowerRecordedPostVote_not_in: [BigDecimal!] + remainingScreeningStageVotingPowerRecordedPostVote: BigDecimal + remainingScreeningStageVotingPowerRecordedPostVote_not: BigDecimal + remainingScreeningStageVotingPowerRecordedPostVote_gt: BigDecimal + remainingScreeningStageVotingPowerRecordedPostVote_lt: BigDecimal + remainingScreeningStageVotingPowerRecordedPostVote_gte: BigDecimal + remainingScreeningStageVotingPowerRecordedPostVote_lte: BigDecimal + remainingScreeningStageVotingPowerRecordedPostVote_in: [BigDecimal!] + remainingScreeningStageVotingPowerRecordedPostVote_not_in: [BigDecimal!] + screeningVotes: [String!] + screeningVotes_not: [String!] + screeningVotes_contains: [String!] + screeningVotes_not_contains: [String!] + screeningVotes_contains_nocase: [String!] + screeningVotes_not_contains_nocase: [String!] + screeningVotes_: ScreeningVote_filter + fundingVotes: [String!] + fundingVotes_not: [String!] + fundingVotes_contains: [String!] + fundingVotes_not_contains: [String!] + fundingVotes_contains_nocase: [String!] + fundingVotes_not_contains_nocase: [String!] + fundingVotes_: FundingVote_filter + _change_block: BlockChangedFilter + and: [DistributionPeriodVote_filter] + or: [DistributionPeriodVote_filter] +} + +enum ScreeningVote_orderBy { + id + distribution + distribution__id + distribution__distributionId + distribution__startBlock + distribution__endBlock + distribution__fundsAvailable + distribution__delegationRewardsClaimed + distribution__fundingVotePowerUsed + distribution__screeningVotesCast + distribution__totalTokensDistributed + voter + voter__id + voter__rewardsClaimed + voter__tokensDelegated + voter__txCount + proposal + proposal__id + proposal__proposalId + proposal__description + proposal__executed + proposal__screeningVotesReceived + proposal__fundingVotesReceived + proposal__fundingVotesNegative + proposal__fundingVotesPositive + proposal__totalTokensRequested + totalVotesCast + votesCast +} + +input ScreeningVote_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + distribution: String + distribution_not: String + distribution_gt: String + distribution_lt: String + distribution_gte: String + distribution_lte: String + distribution_in: [String!] + distribution_not_in: [String!] + distribution_starts_with: String + distribution_starts_with_nocase: String + distribution_not_starts_with: String + distribution_not_starts_with_nocase: String + distribution_ends_with: String + distribution_ends_with_nocase: String + distribution_not_ends_with: String + distribution_not_ends_with_nocase: String + distribution_contains: String + distribution_not_contains: String + distribution_contains_nocase: String + distribution_not_contains_nocase: String + distribution_: DistributionPeriod_filter + voter: String + voter_not: String + voter_gt: String + voter_lt: String + voter_gte: String + voter_lte: String + voter_in: [String!] + voter_not_in: [String!] + voter_starts_with: String + voter_starts_with_nocase: String + voter_not_starts_with: String + voter_not_starts_with_nocase: String + voter_ends_with: String + voter_ends_with_nocase: String + voter_not_ends_with: String + voter_not_ends_with_nocase: String + voter_contains: String + voter_not_contains: String + voter_contains_nocase: String + voter_not_contains_nocase: String + voter_: Account_filter + proposal: String + proposal_not: String + proposal_gt: String + proposal_lt: String + proposal_gte: String + proposal_lte: String + proposal_in: [String!] + proposal_not_in: [String!] + proposal_starts_with: String + proposal_starts_with_nocase: String + proposal_not_starts_with: String + proposal_not_starts_with_nocase: String + proposal_ends_with: String + proposal_ends_with_nocase: String + proposal_not_ends_with: String + proposal_not_ends_with_nocase: String + proposal_contains: String + proposal_not_contains: String + proposal_contains_nocase: String + proposal_not_contains_nocase: String + proposal_: Proposal_filter + totalVotesCast: BigDecimal + totalVotesCast_not: BigDecimal + totalVotesCast_gt: BigDecimal + totalVotesCast_lt: BigDecimal + totalVotesCast_gte: BigDecimal + totalVotesCast_lte: BigDecimal + totalVotesCast_in: [BigDecimal!] + totalVotesCast_not_in: [BigDecimal!] + votesCast: [String!] + votesCast_not: [String!] + votesCast_contains: [String!] + votesCast_not_contains: [String!] + votesCast_contains_nocase: [String!] + votesCast_not_contains_nocase: [String!] + votesCast_: VoteCast_filter + _change_block: BlockChangedFilter + and: [ScreeningVote_filter] + or: [ScreeningVote_filter] +} + +enum FundingVote_orderBy { + id + distribution + distribution__id + distribution__distributionId + distribution__startBlock + distribution__endBlock + distribution__fundsAvailable + distribution__delegationRewardsClaimed + distribution__fundingVotePowerUsed + distribution__screeningVotesCast + distribution__totalTokensDistributed + voter + voter__id + voter__rewardsClaimed + voter__tokensDelegated + voter__txCount + proposal + proposal__id + proposal__proposalId + proposal__description + proposal__executed + proposal__screeningVotesReceived + proposal__fundingVotesReceived + proposal__fundingVotesNegative + proposal__fundingVotesPositive + proposal__totalTokensRequested + totalVotesCast + votingPowerUsed + votesCast +} + +input FundingVote_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + distribution: String + distribution_not: String + distribution_gt: String + distribution_lt: String + distribution_gte: String + distribution_lte: String + distribution_in: [String!] + distribution_not_in: [String!] + distribution_starts_with: String + distribution_starts_with_nocase: String + distribution_not_starts_with: String + distribution_not_starts_with_nocase: String + distribution_ends_with: String + distribution_ends_with_nocase: String + distribution_not_ends_with: String + distribution_not_ends_with_nocase: String + distribution_contains: String + distribution_not_contains: String + distribution_contains_nocase: String + distribution_not_contains_nocase: String + distribution_: DistributionPeriod_filter + voter: String + voter_not: String + voter_gt: String + voter_lt: String + voter_gte: String + voter_lte: String + voter_in: [String!] + voter_not_in: [String!] + voter_starts_with: String + voter_starts_with_nocase: String + voter_not_starts_with: String + voter_not_starts_with_nocase: String + voter_ends_with: String + voter_ends_with_nocase: String + voter_not_ends_with: String + voter_not_ends_with_nocase: String + voter_contains: String + voter_not_contains: String + voter_contains_nocase: String + voter_not_contains_nocase: String + voter_: Account_filter + proposal: String + proposal_not: String + proposal_gt: String + proposal_lt: String + proposal_gte: String + proposal_lte: String + proposal_in: [String!] + proposal_not_in: [String!] + proposal_starts_with: String + proposal_starts_with_nocase: String + proposal_not_starts_with: String + proposal_not_starts_with_nocase: String + proposal_ends_with: String + proposal_ends_with_nocase: String + proposal_not_ends_with: String + proposal_not_ends_with_nocase: String + proposal_contains: String + proposal_not_contains: String + proposal_contains_nocase: String + proposal_not_contains_nocase: String + proposal_: Proposal_filter + totalVotesCast: BigDecimal + totalVotesCast_not: BigDecimal + totalVotesCast_gt: BigDecimal + totalVotesCast_lt: BigDecimal + totalVotesCast_gte: BigDecimal + totalVotesCast_lte: BigDecimal + totalVotesCast_in: [BigDecimal!] + totalVotesCast_not_in: [BigDecimal!] + votingPowerUsed: BigDecimal + votingPowerUsed_not: BigDecimal + votingPowerUsed_gt: BigDecimal + votingPowerUsed_lt: BigDecimal + votingPowerUsed_gte: BigDecimal + votingPowerUsed_lte: BigDecimal + votingPowerUsed_in: [BigDecimal!] + votingPowerUsed_not_in: [BigDecimal!] + votesCast: [String!] + votesCast_not: [String!] + votesCast_contains: [String!] + votesCast_not_contains: [String!] + votesCast_contains_nocase: [String!] + votesCast_not_contains_nocase: [String!] + votesCast_: VoteCast_filter + _change_block: BlockChangedFilter + and: [FundingVote_filter] + or: [FundingVote_filter] +} + +enum FundedSlate_orderBy { + id + distribution + distribution__id + distribution__distributionId + distribution__startBlock + distribution__endBlock + distribution__fundsAvailable + distribution__delegationRewardsClaimed + distribution__fundingVotePowerUsed + distribution__screeningVotesCast + distribution__totalTokensDistributed + proposals + totalTokensRequested + totalFundingVotesReceived + updateBlock +} + +input FundedSlate_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + distribution: String + distribution_not: String + distribution_gt: String + distribution_lt: String + distribution_gte: String + distribution_lte: String + distribution_in: [String!] + distribution_not_in: [String!] + distribution_starts_with: String + distribution_starts_with_nocase: String + distribution_not_starts_with: String + distribution_not_starts_with_nocase: String + distribution_ends_with: String + distribution_ends_with_nocase: String + distribution_not_ends_with: String + distribution_not_ends_with_nocase: String + distribution_contains: String + distribution_not_contains: String + distribution_contains_nocase: String + distribution_not_contains_nocase: String + distribution_: DistributionPeriod_filter + proposals: [String!] + proposals_not: [String!] + proposals_contains: [String!] + proposals_not_contains: [String!] + proposals_contains_nocase: [String!] + proposals_not_contains_nocase: [String!] + proposals_: Proposal_filter + totalTokensRequested: BigDecimal + totalTokensRequested_not: BigDecimal + totalTokensRequested_gt: BigDecimal + totalTokensRequested_lt: BigDecimal + totalTokensRequested_gte: BigDecimal + totalTokensRequested_lte: BigDecimal + totalTokensRequested_in: [BigDecimal!] + totalTokensRequested_not_in: [BigDecimal!] + totalFundingVotesReceived: BigDecimal + totalFundingVotesReceived_not: BigDecimal + totalFundingVotesReceived_gt: BigDecimal + totalFundingVotesReceived_lt: BigDecimal + totalFundingVotesReceived_gte: BigDecimal + totalFundingVotesReceived_lte: BigDecimal + totalFundingVotesReceived_in: [BigDecimal!] + totalFundingVotesReceived_not_in: [BigDecimal!] + updateBlock: BigInt + updateBlock_not: BigInt + updateBlock_gt: BigInt + updateBlock_lt: BigInt + updateBlock_gte: BigInt + updateBlock_lte: BigInt + updateBlock_in: [BigInt!] + updateBlock_not_in: [BigInt!] + _change_block: BlockChangedFilter + and: [FundedSlate_filter] + or: [FundedSlate_filter] +} + +enum DelegateRewardClaimed_orderBy { + id + delegateeAddress_ + distribution + distribution__id + distribution__distributionId + distribution__startBlock + distribution__endBlock + distribution__fundsAvailable + distribution__delegationRewardsClaimed + distribution__fundingVotePowerUsed + distribution__screeningVotesCast + distribution__totalTokensDistributed + rewardClaimed_ + blockNumber + blockTimestamp + transactionHash +} + +input DelegateRewardClaimed_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + delegateeAddress_: Bytes + delegateeAddress__not: Bytes + delegateeAddress__gt: Bytes + delegateeAddress__lt: Bytes + delegateeAddress__gte: Bytes + delegateeAddress__lte: Bytes + delegateeAddress__in: [Bytes!] + delegateeAddress__not_in: [Bytes!] + delegateeAddress__contains: Bytes + delegateeAddress__not_contains: Bytes + distribution: String + distribution_not: String + distribution_gt: String + distribution_lt: String + distribution_gte: String + distribution_lte: String + distribution_in: [String!] + distribution_not_in: [String!] + distribution_starts_with: String + distribution_starts_with_nocase: String + distribution_not_starts_with: String + distribution_not_starts_with_nocase: String + distribution_ends_with: String + distribution_ends_with_nocase: String + distribution_not_ends_with: String + distribution_not_ends_with_nocase: String + distribution_contains: String + distribution_not_contains: String + distribution_contains_nocase: String + distribution_not_contains_nocase: String + distribution_: DistributionPeriod_filter + rewardClaimed_: BigInt + rewardClaimed__not: BigInt + rewardClaimed__gt: BigInt + rewardClaimed__lt: BigInt + rewardClaimed__gte: BigInt + rewardClaimed__lte: BigInt + rewardClaimed__in: [BigInt!] + rewardClaimed__not_in: [BigInt!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [DelegateRewardClaimed_filter] + or: [DelegateRewardClaimed_filter] +} + +enum FundTreasury_orderBy { + id + amount + treasuryBalance + blockNumber + blockTimestamp + transactionHash +} + +input FundTreasury_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + amount: BigInt + amount_not: BigInt + amount_gt: BigInt + amount_lt: BigInt + amount_gte: BigInt + amount_lte: BigInt + amount_in: [BigInt!] + amount_not_in: [BigInt!] + treasuryBalance: BigDecimal + treasuryBalance_not: BigDecimal + treasuryBalance_gt: BigDecimal + treasuryBalance_lt: BigDecimal + treasuryBalance_gte: BigDecimal + treasuryBalance_lte: BigDecimal + treasuryBalance_in: [BigDecimal!] + treasuryBalance_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [FundTreasury_filter] + or: [FundTreasury_filter] +} + +enum FundedSlateUpdated_orderBy { + id + distributionId_ + fundedSlateHash_ + blockNumber + blockTimestamp + transactionHash +} + +input FundedSlateUpdated_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + distributionId_: BigInt + distributionId__not: BigInt + distributionId__gt: BigInt + distributionId__lt: BigInt + distributionId__gte: BigInt + distributionId__lte: BigInt + distributionId__in: [BigInt!] + distributionId__not_in: [BigInt!] + fundedSlateHash_: Bytes + fundedSlateHash__not: Bytes + fundedSlateHash__gt: Bytes + fundedSlateHash__lt: Bytes + fundedSlateHash__gte: Bytes + fundedSlateHash__lte: Bytes + fundedSlateHash__in: [Bytes!] + fundedSlateHash__not_in: [Bytes!] + fundedSlateHash__contains: Bytes + fundedSlateHash__not_contains: Bytes + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [FundedSlateUpdated_filter] + or: [FundedSlateUpdated_filter] +} + +enum ProposalCreated_orderBy { + id + proposal + proposal__id + proposal__proposalId + proposal__description + proposal__executed + proposal__screeningVotesReceived + proposal__fundingVotesReceived + proposal__fundingVotesNegative + proposal__fundingVotesPositive + proposal__totalTokensRequested + proposer + targets + values + signatures + calldatas + startBlock + endBlock + description + blockNumber + blockTimestamp + transactionHash +} + +input ProposalCreated_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + proposal: String + proposal_not: String + proposal_gt: String + proposal_lt: String + proposal_gte: String + proposal_lte: String + proposal_in: [String!] + proposal_not_in: [String!] + proposal_starts_with: String + proposal_starts_with_nocase: String + proposal_not_starts_with: String + proposal_not_starts_with_nocase: String + proposal_ends_with: String + proposal_ends_with_nocase: String + proposal_not_ends_with: String + proposal_not_ends_with_nocase: String + proposal_contains: String + proposal_not_contains: String + proposal_contains_nocase: String + proposal_not_contains_nocase: String + proposal_: Proposal_filter + proposer: Bytes + proposer_not: Bytes + proposer_gt: Bytes + proposer_lt: Bytes + proposer_gte: Bytes + proposer_lte: Bytes + proposer_in: [Bytes!] + proposer_not_in: [Bytes!] + proposer_contains: Bytes + proposer_not_contains: Bytes + targets: [Bytes!] + targets_not: [Bytes!] + targets_contains: [Bytes!] + targets_not_contains: [Bytes!] + targets_contains_nocase: [Bytes!] + targets_not_contains_nocase: [Bytes!] + values: [BigDecimal!] + values_not: [BigDecimal!] + values_contains: [BigDecimal!] + values_not_contains: [BigDecimal!] + values_contains_nocase: [BigDecimal!] + values_not_contains_nocase: [BigDecimal!] + signatures: [String!] + signatures_not: [String!] + signatures_contains: [String!] + signatures_not_contains: [String!] + signatures_contains_nocase: [String!] + signatures_not_contains_nocase: [String!] + calldatas: [Bytes!] + calldatas_not: [Bytes!] + calldatas_contains: [Bytes!] + calldatas_not_contains: [Bytes!] + calldatas_contains_nocase: [Bytes!] + calldatas_not_contains_nocase: [Bytes!] + startBlock: BigInt + startBlock_not: BigInt + startBlock_gt: BigInt + startBlock_lt: BigInt + startBlock_gte: BigInt + startBlock_lte: BigInt + startBlock_in: [BigInt!] + startBlock_not_in: [BigInt!] + endBlock: BigInt + endBlock_not: BigInt + endBlock_gt: BigInt + endBlock_lt: BigInt + endBlock_gte: BigInt + endBlock_lte: BigInt + endBlock_in: [BigInt!] + endBlock_not_in: [BigInt!] + description: String + description_not: String + description_gt: String + description_lt: String + description_gte: String + description_lte: String + description_in: [String!] + description_not_in: [String!] + description_starts_with: String + description_starts_with_nocase: String + description_not_starts_with: String + description_not_starts_with_nocase: String + description_ends_with: String + description_ends_with_nocase: String + description_not_ends_with: String + description_not_ends_with_nocase: String + description_contains: String + description_not_contains: String + description_contains_nocase: String + description_not_contains_nocase: String + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [ProposalCreated_filter] + or: [ProposalCreated_filter] +} + +enum ProposalExecuted_orderBy { + id + proposalId + blockNumber + blockTimestamp + transactionHash +} + +input ProposalExecuted_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + proposalId: BigInt + proposalId_not: BigInt + proposalId_gt: BigInt + proposalId_lt: BigInt + proposalId_gte: BigInt + proposalId_lte: BigInt + proposalId_in: [BigInt!] + proposalId_not_in: [BigInt!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [ProposalExecuted_filter] + or: [ProposalExecuted_filter] +} + +enum DistributionPeriodStarted_orderBy { + id + distribution + distribution__id + distribution__distributionId + distribution__startBlock + distribution__endBlock + distribution__fundsAvailable + distribution__delegationRewardsClaimed + distribution__fundingVotePowerUsed + distribution__screeningVotesCast + distribution__totalTokensDistributed + startBlock + endBlock + blockNumber + blockTimestamp + transactionHash +} + +input DistributionPeriodStarted_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + distribution: String + distribution_not: String + distribution_gt: String + distribution_lt: String + distribution_gte: String + distribution_lte: String + distribution_in: [String!] + distribution_not_in: [String!] + distribution_starts_with: String + distribution_starts_with_nocase: String + distribution_not_starts_with: String + distribution_not_starts_with_nocase: String + distribution_ends_with: String + distribution_ends_with_nocase: String + distribution_not_ends_with: String + distribution_not_ends_with_nocase: String + distribution_contains: String + distribution_not_contains: String + distribution_contains_nocase: String + distribution_not_contains_nocase: String + distribution_: DistributionPeriod_filter + startBlock: BigInt + startBlock_not: BigInt + startBlock_gt: BigInt + startBlock_lt: BigInt + startBlock_gte: BigInt + startBlock_lte: BigInt + startBlock_in: [BigInt!] + startBlock_not_in: [BigInt!] + endBlock: BigInt + endBlock_not: BigInt + endBlock_gt: BigInt + endBlock_lt: BigInt + endBlock_gte: BigInt + endBlock_lte: BigInt + endBlock_in: [BigInt!] + endBlock_not_in: [BigInt!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [DistributionPeriodStarted_filter] + or: [DistributionPeriodStarted_filter] +} + +enum VoteCast_orderBy { + id + voter + proposalId + support + weight + reason + blockNumber + blockTimestamp + transactionHash +} + +input VoteCast_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + voter: Bytes + voter_not: Bytes + voter_gt: Bytes + voter_lt: Bytes + voter_gte: Bytes + voter_lte: Bytes + voter_in: [Bytes!] + voter_not_in: [Bytes!] + voter_contains: Bytes + voter_not_contains: Bytes + proposalId: BigInt + proposalId_not: BigInt + proposalId_gt: BigInt + proposalId_lt: BigInt + proposalId_gte: BigInt + proposalId_lte: BigInt + proposalId_in: [BigInt!] + proposalId_not_in: [BigInt!] + support: Int + support_not: Int + support_gt: Int + support_lt: Int + support_gte: Int + support_lte: Int + support_in: [Int!] + support_not_in: [Int!] + weight: BigDecimal + weight_not: BigDecimal + weight_gt: BigDecimal + weight_lt: BigDecimal + weight_gte: BigDecimal + weight_lte: BigDecimal + weight_in: [BigDecimal!] + weight_not_in: [BigDecimal!] + reason: String + reason_not: String + reason_gt: String + reason_lt: String + reason_gte: String + reason_lte: String + reason_in: [String!] + reason_not_in: [String!] + reason_starts_with: String + reason_starts_with_nocase: String + reason_not_starts_with: String + reason_not_starts_with_nocase: String + reason_ends_with: String + reason_ends_with_nocase: String + reason_not_ends_with: String + reason_not_ends_with_nocase: String + reason_contains: String + reason_not_contains: String + reason_contains_nocase: String + reason_not_contains_nocase: String + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [VoteCast_filter] + or: [VoteCast_filter] +} + +enum DelegateChanged_orderBy { + id + delegator + fromDelegate + toDelegate + blockNumber + blockTimestamp + transactionHash +} + +input DelegateChanged_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + delegator: Bytes + delegator_not: Bytes + delegator_gt: Bytes + delegator_lt: Bytes + delegator_gte: Bytes + delegator_lte: Bytes + delegator_in: [Bytes!] + delegator_not_in: [Bytes!] + delegator_contains: Bytes + delegator_not_contains: Bytes + fromDelegate: Bytes + fromDelegate_not: Bytes + fromDelegate_gt: Bytes + fromDelegate_lt: Bytes + fromDelegate_gte: Bytes + fromDelegate_lte: Bytes + fromDelegate_in: [Bytes!] + fromDelegate_not_in: [Bytes!] + fromDelegate_contains: Bytes + fromDelegate_not_contains: Bytes + toDelegate: Bytes + toDelegate_not: Bytes + toDelegate_gt: Bytes + toDelegate_lt: Bytes + toDelegate_gte: Bytes + toDelegate_lte: Bytes + toDelegate_in: [Bytes!] + toDelegate_not_in: [Bytes!] + toDelegate_contains: Bytes + toDelegate_not_contains: Bytes + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [DelegateChanged_filter] + or: [DelegateChanged_filter] +} + +enum DelegateVotesChanged_orderBy { + id + delegate + previousBalance + newBalance + blockNumber + blockTimestamp + transactionHash +} + +input DelegateVotesChanged_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + delegate: Bytes + delegate_not: Bytes + delegate_gt: Bytes + delegate_lt: Bytes + delegate_gte: Bytes + delegate_lte: Bytes + delegate_in: [Bytes!] + delegate_not_in: [Bytes!] + delegate_contains: Bytes + delegate_not_contains: Bytes + previousBalance: BigDecimal + previousBalance_not: BigDecimal + previousBalance_gt: BigDecimal + previousBalance_lt: BigDecimal + previousBalance_gte: BigDecimal + previousBalance_lte: BigDecimal + previousBalance_in: [BigDecimal!] + previousBalance_not_in: [BigDecimal!] + newBalance: BigDecimal + newBalance_not: BigDecimal + newBalance_gt: BigDecimal + newBalance_lt: BigDecimal + newBalance_gte: BigDecimal + newBalance_lte: BigDecimal + newBalance_in: [BigDecimal!] + newBalance_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [DelegateVotesChanged_filter] + or: [DelegateVotesChanged_filter] +} + +enum BurnWrap_orderBy { + id + wrapper + account + account__id + account__rewardsClaimed + account__tokensDelegated + account__txCount + amount + blockNumber + blockTimestamp + transactionHash +} + +input BurnWrap_filter { + id: Bytes + id_not: Bytes + id_gt: Bytes + id_lt: Bytes + id_gte: Bytes + id_lte: Bytes + id_in: [Bytes!] + id_not_in: [Bytes!] + id_contains: Bytes + id_not_contains: Bytes + wrapper: Bytes + wrapper_not: Bytes + wrapper_gt: Bytes + wrapper_lt: Bytes + wrapper_gte: Bytes + wrapper_lte: Bytes + wrapper_in: [Bytes!] + wrapper_not_in: [Bytes!] + wrapper_contains: Bytes + wrapper_not_contains: Bytes + account: String + account_not: String + account_gt: String + account_lt: String + account_gte: String + account_lte: String + account_in: [String!] + account_not_in: [String!] + account_starts_with: String + account_starts_with_nocase: String + account_not_starts_with: String + account_not_starts_with_nocase: String + account_ends_with: String + account_ends_with_nocase: String + account_not_ends_with: String + account_not_ends_with_nocase: String + account_contains: String + account_not_contains: String + account_contains_nocase: String + account_not_contains_nocase: String + account_: Account_filter + amount: BigDecimal + amount_not: BigDecimal + amount_gt: BigDecimal + amount_lt: BigDecimal + amount_gte: BigDecimal + amount_lte: BigDecimal + amount_in: [BigDecimal!] + amount_not_in: [BigDecimal!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + blockTimestamp: BigInt + blockTimestamp_not: BigInt + blockTimestamp_gt: BigInt + blockTimestamp_lt: BigInt + blockTimestamp_gte: BigInt + blockTimestamp_lte: BigInt + blockTimestamp_in: [BigInt!] + blockTimestamp_not_in: [BigInt!] + transactionHash: Bytes + transactionHash_not: Bytes + transactionHash_gt: Bytes + transactionHash_lt: Bytes + transactionHash_gte: Bytes + transactionHash_lte: Bytes + transactionHash_in: [Bytes!] + transactionHash_not_in: [Bytes!] + transactionHash_contains: Bytes + transactionHash_not_contains: Bytes + _change_block: BlockChangedFilter + and: [BurnWrap_filter] + or: [BurnWrap_filter] +} + +type _MetaBlock_ { + hash: Bytes + number: Int! + timestamp: Int +} + +type _Meta_ { + block: _MetaBlock_! + deployment: String! + hasIndexingErrors: Boolean! +} + +type ResultState { + block: _Block_! + contractAddress: String! + cid: String! + kind: String! + data: String! +} + +type SyncStatus { + latestIndexedBlockHash: String! + latestIndexedBlockNumber: Int! + latestCanonicalBlockHash: String! + latestCanonicalBlockNumber: Int! + initialIndexedBlockHash: String! + initialIndexedBlockNumber: Int! + latestProcessedBlockHash: String! + latestProcessedBlockNumber: Int! +} + +type Query { + events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] + eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] + token(id: ID!, block: Block_height): Token + tokens(block: Block_height, where: Token_filter, orderBy: Token_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Token!]! + poolFactory(id: ID!, block: Block_height): PoolFactory + poolFactories(block: Block_height, where: PoolFactory_filter, orderBy: PoolFactory_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [PoolFactory!]! + pool(id: ID!, block: Block_height): Pool + pools(block: Block_height, where: Pool_filter, orderBy: Pool_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Pool!]! + bucket(id: ID!, block: Block_height): Bucket + buckets(block: Block_height, where: Bucket_filter, orderBy: Bucket_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Bucket!]! + lend(id: ID!, block: Block_height): Lend + lends(block: Block_height, where: Lend_filter, orderBy: Lend_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Lend!]! + loan(id: ID!, block: Block_height): Loan + loans(block: Block_height, where: Loan_filter, orderBy: Loan_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Loan!]! + account(id: ID!, block: Block_height): Account + accounts(block: Block_height, where: Account_filter, orderBy: Account_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Account!]! + liquidationAuction(id: ID!, block: Block_height): LiquidationAuction + liquidationAuctions(block: Block_height, where: LiquidationAuction_filter, orderBy: LiquidationAuction_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [LiquidationAuction!]! + reserveAuction(id: ID!, block: Block_height): ReserveAuction + reserveAuctions(block: Block_height, where: ReserveAuction_filter, orderBy: ReserveAuction_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [ReserveAuction!]! + lptransferorList(id: ID!, block: Block_height): LPTransferorList + lptransferorLists(block: Block_height, where: LPTransferorList_filter, orderBy: LPTransferorList_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [LPTransferorList!]! + lpallowance(id: ID!, block: Block_height): LPAllowance + lpallowances(block: Block_height, where: LPAllowance_filter, orderBy: LPAllowance_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [LPAllowance!]! + lpallowanceList(id: ID!, block: Block_height): LPAllowanceList + lpallowanceLists(block: Block_height, where: LPAllowanceList_filter, orderBy: LPAllowanceList_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [LPAllowanceList!]! + addCollateral(id: ID!, block: Block_height): AddCollateral + addCollaterals(block: Block_height, where: AddCollateral_filter, orderBy: AddCollateral_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [AddCollateral!]! + addQuoteToken(id: ID!, block: Block_height): AddQuoteToken + addQuoteTokens(block: Block_height, where: AddQuoteToken_filter, orderBy: AddQuoteToken_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [AddQuoteToken!]! + auctionSettle(id: ID!, block: Block_height): AuctionSettle + auctionSettles(block: Block_height, where: AuctionSettle_filter, orderBy: AuctionSettle_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [AuctionSettle!]! + bondWithdrawn(id: ID!, block: Block_height): BondWithdrawn + bondWithdrawns(block: Block_height, where: BondWithdrawn_filter, orderBy: BondWithdrawn_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [BondWithdrawn!]! + bucketBankruptcy(id: ID!, block: Block_height): BucketBankruptcy + bucketBankruptcies(block: Block_height, where: BucketBankruptcy_filter, orderBy: BucketBankruptcy_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [BucketBankruptcy!]! + bucketTake(id: ID!, block: Block_height): BucketTake + bucketTakes(block: Block_height, where: BucketTake_filter, orderBy: BucketTake_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [BucketTake!]! + bucketTakeLPAwarded(id: ID!, block: Block_height): BucketTakeLPAwarded + bucketTakeLPAwardeds(block: Block_height, where: BucketTakeLPAwarded_filter, orderBy: BucketTakeLPAwarded_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [BucketTakeLPAwarded!]! + drawDebt(id: ID!, block: Block_height): DrawDebt + drawDebts(block: Block_height, where: DrawDebt_filter, orderBy: DrawDebt_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [DrawDebt!]! + flashloan(id: ID!, block: Block_height): Flashloan + flashloans(block: Block_height, where: Flashloan_filter, orderBy: Flashloan_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Flashloan!]! + kick(id: ID!, block: Block_height): Kick + kicks(block: Block_height, where: Kick_filter, orderBy: Kick_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Kick!]! + loanStamped(id: ID!, block: Block_height): LoanStamped + loanStampeds(block: Block_height, where: LoanStamped_filter, orderBy: LoanStamped_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [LoanStamped!]! + moveQuoteToken(id: ID!, block: Block_height): MoveQuoteToken + moveQuoteTokens(block: Block_height, where: MoveQuoteToken_filter, orderBy: MoveQuoteToken_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [MoveQuoteToken!]! + removeCollateral(id: ID!, block: Block_height): RemoveCollateral + removeCollaterals(block: Block_height, where: RemoveCollateral_filter, orderBy: RemoveCollateral_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [RemoveCollateral!]! + removeQuoteToken(id: ID!, block: Block_height): RemoveQuoteToken + removeQuoteTokens(block: Block_height, where: RemoveQuoteToken_filter, orderBy: RemoveQuoteToken_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [RemoveQuoteToken!]! + repayDebt(id: ID!, block: Block_height): RepayDebt + repayDebts(block: Block_height, where: RepayDebt_filter, orderBy: RepayDebt_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [RepayDebt!]! + reserveAuctionKick(id: ID!, block: Block_height): ReserveAuctionKick + reserveAuctionKicks(block: Block_height, where: ReserveAuctionKick_filter, orderBy: ReserveAuctionKick_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [ReserveAuctionKick!]! + reserveAuctionTake(id: ID!, block: Block_height): ReserveAuctionTake + reserveAuctionTakes(block: Block_height, where: ReserveAuctionTake_filter, orderBy: ReserveAuctionTake_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [ReserveAuctionTake!]! + resetInterestRate(id: ID!, block: Block_height): ResetInterestRate + resetInterestRates(block: Block_height, where: ResetInterestRate_filter, orderBy: ResetInterestRate_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [ResetInterestRate!]! + settle(id: ID!, block: Block_height): Settle + settles(block: Block_height, where: Settle_filter, orderBy: Settle_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Settle!]! + take(id: ID!, block: Block_height): Take + takes(block: Block_height, where: Take_filter, orderBy: Take_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Take!]! + transferLP(id: ID!, block: Block_height): TransferLP + transferLPS(block: Block_height, where: TransferLP_filter, orderBy: TransferLP_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [TransferLP!]! + updateInterestRate(id: ID!, block: Block_height): UpdateInterestRate + updateInterestRates(block: Block_height, where: UpdateInterestRate_filter, orderBy: UpdateInterestRate_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [UpdateInterestRate!]! + approval(id: ID!, block: Block_height): Approval + approvals(block: Block_height, where: Approval_filter, orderBy: Approval_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Approval!]! + approvalForAll(id: ID!, block: Block_height): ApprovalForAll + approvalForAlls(block: Block_height, where: ApprovalForAll_filter, orderBy: ApprovalForAll_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [ApprovalForAll!]! + moveLiquidity(id: ID!, block: Block_height): MoveLiquidity + moveLiquidities(block: Block_height, where: MoveLiquidity_filter, orderBy: MoveLiquidity_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [MoveLiquidity!]! + transfer(id: ID!, block: Block_height): Transfer + transfers(block: Block_height, where: Transfer_filter, orderBy: Transfer_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Transfer!]! + poolCreated(id: ID!, block: Block_height): PoolCreated + poolCreateds(block: Block_height, where: PoolCreated_filter, orderBy: PoolCreated_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [PoolCreated!]! + addCollateralNFT(id: ID!, block: Block_height): AddCollateralNFT + addCollateralNFTS(block: Block_height, where: AddCollateralNFT_filter, orderBy: AddCollateralNFT_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [AddCollateralNFT!]! + auctionNFTSettle(id: ID!, block: Block_height): AuctionNFTSettle + auctionNFTSettles(block: Block_height, where: AuctionNFTSettle_filter, orderBy: AuctionNFTSettle_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [AuctionNFTSettle!]! + drawDebtNFT(id: ID!, block: Block_height): DrawDebtNFT + drawDebtNFTS(block: Block_height, where: DrawDebtNFT_filter, orderBy: DrawDebtNFT_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [DrawDebtNFT!]! + mergeOrRemoveCollateralNFT(id: ID!, block: Block_height): MergeOrRemoveCollateralNFT + mergeOrRemoveCollateralNFTS(block: Block_height, where: MergeOrRemoveCollateralNFT_filter, orderBy: MergeOrRemoveCollateralNFT_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [MergeOrRemoveCollateralNFT!]! + position(id: ID!, block: Block_height): Position + positions(block: Block_height, where: Position_filter, orderBy: Position_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Position!]! + positionLend(id: ID!, block: Block_height): PositionLend + positionLends(block: Block_height, where: PositionLend_filter, orderBy: PositionLend_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [PositionLend!]! + burn(id: ID!, block: Block_height): Burn + burns(block: Block_height, where: Burn_filter, orderBy: Burn_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Burn!]! + memorializePosition(id: ID!, block: Block_height): MemorializePosition + memorializePositions(block: Block_height, where: MemorializePosition_filter, orderBy: MemorializePosition_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [MemorializePosition!]! + mint(id: ID!, block: Block_height): Mint + mints(block: Block_height, where: Mint_filter, orderBy: Mint_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Mint!]! + redeemPosition(id: ID!, block: Block_height): RedeemPosition + redeemPositions(block: Block_height, where: RedeemPosition_filter, orderBy: RedeemPosition_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [RedeemPosition!]! + grantFund(id: ID!, block: Block_height): GrantFund + grantFunds(block: Block_height, where: GrantFund_filter, orderBy: GrantFund_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [GrantFund!]! + distributionPeriod(id: ID!, block: Block_height): DistributionPeriod + distributionPeriods(block: Block_height, where: DistributionPeriod_filter, orderBy: DistributionPeriod_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [DistributionPeriod!]! + proposal(id: ID!, block: Block_height): Proposal + proposals(block: Block_height, where: Proposal_filter, orderBy: Proposal_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Proposal!]! + proposalParams(id: ID!, block: Block_height): ProposalParams + proposalParamss(block: Block_height, where: ProposalParams_filter, orderBy: ProposalParams_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [ProposalParams!]! + distributionPeriodVote(id: ID!, block: Block_height): DistributionPeriodVote + distributionPeriodVotes(block: Block_height, where: DistributionPeriodVote_filter, orderBy: DistributionPeriodVote_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [DistributionPeriodVote!]! + screeningVote(id: ID!, block: Block_height): ScreeningVote + screeningVotes(block: Block_height, where: ScreeningVote_filter, orderBy: ScreeningVote_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [ScreeningVote!]! + fundingVote(id: ID!, block: Block_height): FundingVote + fundingVotes(block: Block_height, where: FundingVote_filter, orderBy: FundingVote_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [FundingVote!]! + fundedSlate(id: ID!, block: Block_height): FundedSlate + fundedSlates(block: Block_height, where: FundedSlate_filter, orderBy: FundedSlate_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [FundedSlate!]! + delegateRewardClaimed(id: ID!, block: Block_height): DelegateRewardClaimed + delegateRewardClaimeds(block: Block_height, where: DelegateRewardClaimed_filter, orderBy: DelegateRewardClaimed_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [DelegateRewardClaimed!]! + fundTreasury(id: ID!, block: Block_height): FundTreasury + fundTreasuries(block: Block_height, where: FundTreasury_filter, orderBy: FundTreasury_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [FundTreasury!]! + fundedSlateUpdated(id: ID!, block: Block_height): FundedSlateUpdated + fundedSlateUpdateds(block: Block_height, where: FundedSlateUpdated_filter, orderBy: FundedSlateUpdated_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [FundedSlateUpdated!]! + proposalCreated(id: ID!, block: Block_height): ProposalCreated + proposalCreateds(block: Block_height, where: ProposalCreated_filter, orderBy: ProposalCreated_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [ProposalCreated!]! + proposalExecuted(id: ID!, block: Block_height): ProposalExecuted + proposalExecuteds(block: Block_height, where: ProposalExecuted_filter, orderBy: ProposalExecuted_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [ProposalExecuted!]! + distributionPeriodStarted(id: ID!, block: Block_height): DistributionPeriodStarted + distributionPeriodStarteds(block: Block_height, where: DistributionPeriodStarted_filter, orderBy: DistributionPeriodStarted_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [DistributionPeriodStarted!]! + voteCast(id: ID!, block: Block_height): VoteCast + voteCasts(block: Block_height, where: VoteCast_filter, orderBy: VoteCast_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [VoteCast!]! + delegateChanged(id: ID!, block: Block_height): DelegateChanged + delegateChangeds(block: Block_height, where: DelegateChanged_filter, orderBy: DelegateChanged_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [DelegateChanged!]! + delegateVotesChanged(id: ID!, block: Block_height): DelegateVotesChanged + delegateVotesChangeds(block: Block_height, where: DelegateVotesChanged_filter, orderBy: DelegateVotesChanged_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [DelegateVotesChanged!]! + burnWrap(id: ID!, block: Block_height): BurnWrap + burnWraps(block: Block_height, where: BurnWrap_filter, orderBy: BurnWrap_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [BurnWrap!]! + _meta(block: Block_height): _Meta_ + getStateByCID(cid: String!): ResultState + getState(blockHash: String!, contractAddress: String!, kind: String): ResultState + getSyncStatus: SyncStatus +} + +type Token { + id: Bytes! + symbol: String! + name: String! + decimals: Int + tokenType: String! + poolCount: BigInt! + pools: [Pool!]! + totalSupply: BigInt + txCount: BigInt! +} + +type Pool { + id: Bytes! + createdAtBlockNumber: BigInt! + createdAtTimestamp: BigInt! + collateralToken: Token! + quoteToken: Token! + poolSize: BigDecimal! + t0debt: BigDecimal! + inflator: BigDecimal! + borrowRate: BigDecimal! + lendRate: BigDecimal! + borrowFeeRate: BigDecimal! + depositFeeRate: BigDecimal! + pledgedCollateral: BigDecimal! + totalInterestEarned: BigDecimal! + txCount: BigInt! + poolType: String! + loansCount: BigInt! + maxBorrower: Bytes! + quoteTokenFlashloaned: BigDecimal! + collateralFlashloaned: BigDecimal! + hpb: BigDecimal! + hpbIndex: Int! + htp: BigDecimal! + htpIndex: Int! + lup: BigDecimal! + lupIndex: Int! + reserves: BigDecimal! + claimableReserves: BigDecimal! + claimableReservesRemaining: BigDecimal! + burnEpoch: BigInt! + totalAjnaBurned: BigDecimal! + reserveAuctions: [ReserveAuction!]! + minDebtAmount: BigDecimal! + actualUtilization: BigDecimal! + targetUtilization: BigDecimal! + totalBondEscrowed: BigDecimal! + liquidationAuctions: [LiquidationAuction!]! + quoteTokenBalance: BigDecimal! + collateralBalance: BigDecimal! + subsetHash: Bytes! + tokenIdsPledged: [BigInt!]! + bucketTokenIds: [BigInt!]! + tokenIdsAllowed: [BigInt!]! +} + +type ReserveAuction { + id: Bytes! + pool: Pool! + claimableReservesRemaining: BigDecimal! + lastTakePrice: BigDecimal! + burnEpoch: BigInt! + kick: ReserveAuctionKick! + takes: [ReserveAuctionTake!]! + ajnaBurned: BigDecimal! +} + +type ReserveAuctionKick { + id: Bytes! + kicker: Bytes + reserveAuction: ReserveAuction! + pool: Pool! + claimableReserves: BigDecimal! + startingPrice: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type ReserveAuctionTake { + id: Bytes! + taker: Bytes + reserveAuction: ReserveAuction! + pool: Pool! + claimableReservesRemaining: BigDecimal! + auctionPrice: BigDecimal! + quotePurchased: BigDecimal! + ajnaBurned: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type LiquidationAuction { + id: Bytes! + pool: Pool! + borrower: Bytes! + lastTakePrice: BigDecimal! + collateral: BigDecimal! + collateralRemaining: BigDecimal! + debt: BigDecimal! + debtRemaining: BigDecimal! + loan: Loan! + kicker: Bytes! + kick: Kick! + kickTime: BigInt! + takes: [Take!]! + bucketTakes: [BucketTake!]! + settles: [Settle!]! + settle: AuctionSettle + settleTime: BigInt + settled: Boolean! + bondSize: BigDecimal! + bondFactor: BigDecimal! + neutralPrice: BigDecimal! + referencePrice: BigDecimal! + thresholdPrice: BigDecimal! +} + +type Loan { + id: Bytes! + poolAddress: String! + borrower: Bytes! + pool: Pool! + inLiquidation: Boolean! + liquidationAuction: LiquidationAuction + collateralPledged: BigDecimal! + thresholdPrice: BigDecimal! + tokenIdsPledged: [BigInt!]! + t0debt: BigDecimal! + t0Np: BigDecimal! +} + +type Kick { + id: Bytes! + kicker: Bytes! + pool: Pool! + loan: Loan! + locked: BigDecimal! + claimable: BigDecimal! + liquidationAuction: LiquidationAuction! + borrower: Bytes! + debt: BigDecimal! + collateral: BigDecimal! + bond: BigDecimal! + startingPrice: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type Take { + id: Bytes! + taker: Bytes! + pool: Pool! + borrower: Bytes! + liquidationAuction: LiquidationAuction! + loan: Loan! + auctionPrice: BigDecimal! + amount: BigDecimal! + collateral: BigDecimal! + bondChange: BigDecimal! + isReward: Boolean! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type BucketTake { + id: Bytes! + borrower: Bytes! + taker: Bytes! + liquidationAuction: LiquidationAuction! + loan: Loan! + pool: Pool! + index: Int! + auctionPrice: BigDecimal! + amount: BigDecimal! + collateral: BigDecimal! + bondChange: BigDecimal! + isReward: Boolean! + lpAwarded: BucketTakeLPAwarded! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type BucketTakeLPAwarded { + id: Bytes! + taker: Bytes! + pool: Pool! + kicker: Bytes! + lpAwardedTaker: BigDecimal! + lpAwardedKicker: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type Settle { + id: Bytes! + pool: Pool! + liquidationAuction: LiquidationAuction! + loan: Loan! + borrower: Bytes! + settledDebt: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type AuctionSettle { + id: Bytes! + pool: Pool! + loan: Loan! + borrower: Bytes! + collateral: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type PoolFactory { + id: Bytes! + poolType: String! + poolCount: BigInt! + pools: [Pool!]! + txCount: BigInt! +} + +type Bucket { + id: Bytes! + bucketIndex: Int! + bucketPrice: BigDecimal! + exchangeRate: BigDecimal! + poolAddress: String! + pool: Pool! + collateral: BigDecimal! + deposit: BigDecimal! + lpb: BigDecimal! + lends: [Lend!]! + positionLends: [PositionLend!]! +} + +type Lend { + id: Bytes! + bucket: Bucket! + bucketIndex: Int! + poolAddress: String! + lender: Bytes! + pool: Pool! + lpb: BigDecimal! + lpbValueInQuote: BigDecimal! + depositTime: BigInt! +} + +type PositionLend { + id: Bytes! + bucket: Bucket! + bucketIndex: Int! + depositTime: BigInt! + lpb: BigDecimal! + lpbValueInQuote: BigDecimal! + tokenId: BigInt! +} + +type Account { + id: Bytes! + pools: [Pool!]! + kicks: [Kick!]! + lends: [Lend!]! + loans: [Loan!]! + settles: [Settle!]! + takes: [Take!]! + reserveAuctions: [ReserveAuction!]! + proposalsCreated: [Proposal!]! + proposalsExecuted: [Proposal!]! + delegatedTo: Account + delegatedFrom: [Account!]! + rewardsClaimed: BigDecimal! + distributionPeriodVotes: [DistributionPeriodVote!]! + tokensDelegated: BigDecimal! + positions: [Position!]! + txCount: BigInt! +} + +type Proposal { + id: Bytes! + proposalId: BigInt! + description: String! + distribution: DistributionPeriod + executed: Boolean! + screeningVotesReceived: BigDecimal! + fundingVotesReceived: BigDecimal! + fundingVotesNegative: BigDecimal! + fundingVotesPositive: BigDecimal! + totalTokensRequested: BigDecimal! + params: [ProposalParams!]! +} + +type DistributionPeriod { + id: Bytes! + distributionId: BigInt! + startBlock: BigInt! + endBlock: BigInt! + topSlate: FundedSlate + slatesSubmitted: [FundedSlate!]! + fundsAvailable: BigDecimal! + delegationRewardsClaimed: BigDecimal! + fundingVotePowerUsed: BigDecimal! + screeningVotesCast: BigDecimal! + votes: [DistributionPeriodVote!]! + proposals: [Proposal!]! + totalTokensDistributed: BigDecimal! +} + +type FundedSlate { + id: Bytes! + distribution: DistributionPeriod! + proposals: [Proposal!]! + totalTokensRequested: BigDecimal! + totalFundingVotesReceived: BigDecimal! + updateBlock: BigInt! +} + +type DistributionPeriodVote { + id: Bytes! + voter: Account! + distribution: DistributionPeriod! + initialFundingStageVotingPowerRecordedPostVote: BigDecimal! + remainingFundingStageVotingPowerRecordedPostVote: BigDecimal! + initialScreeningStageVotingPowerRecordedPostVote: BigDecimal! + remainingScreeningStageVotingPowerRecordedPostVote: BigDecimal! + screeningVotes: [ScreeningVote!]! + fundingVotes: [FundingVote!]! +} + +type ScreeningVote { + id: Bytes! + distribution: DistributionPeriod! + voter: Account! + proposal: Proposal! + totalVotesCast: BigDecimal! + votesCast: [VoteCast!]! +} + +type VoteCast { + id: Bytes! + voter: Bytes! + proposalId: BigInt! + support: Int! + weight: BigDecimal! + reason: String! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type FundingVote { + id: Bytes! + distribution: DistributionPeriod! + voter: Account! + proposal: Proposal! + totalVotesCast: BigDecimal! + votingPowerUsed: BigDecimal! + votesCast: [VoteCast!]! +} + +type ProposalParams { + id: Bytes! + target: Bytes! + value: BigInt! + calldata: Bytes! + recipient: Bytes! + tokensRequested: BigDecimal! +} + +type Position { + id: Bytes! + tokenId: BigInt + indexes: [PositionLend!]! + owner: Bytes! + pool: Pool! + token: Token! + tokenURI: String! +} + +type LPTransferorList { + id: Bytes! + pool: Pool! + lender: Bytes! + transferors: [Bytes!]! +} + +type LPAllowance { + id: Bytes! + index: Int! + amount: BigDecimal! +} + +type LPAllowanceList { + id: Bytes! + pool: Pool! + lender: Bytes! + spender: Bytes! + allowances: [LPAllowance!]! +} + +type AddCollateral { + id: Bytes! + pool: Pool! + bucket: Bucket! + actor: Bytes! + index: Int! + amount: BigDecimal! + lpAwarded: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type AddQuoteToken { + id: Bytes! + pool: Pool! + bucket: Bucket! + lender: Bytes! + index: Int! + amount: BigDecimal! + lpAwarded: BigDecimal! + lup: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type BondWithdrawn { + id: Bytes! + kicker: Bytes! + reciever: Bytes! + amount: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type BucketBankruptcy { + id: Bytes! + bucket: Bucket! + index: Int! + pool: Pool! + lpForfeited: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type DrawDebt { + id: Bytes! + pool: Pool! + borrower: Bytes! + amountBorrowed: BigDecimal! + collateralPledged: BigDecimal! + lup: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type Flashloan { + id: Bytes! + pool: Pool! + borrower: Bytes! + amount: BigDecimal! +} + +type LoanStamped { + id: Bytes! + pool: Pool! + borrower: Bytes! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type MoveQuoteToken { + id: Bytes! + pool: Pool! + lender: Bytes! + from: Bucket! + to: Bucket! + amount: BigDecimal! + lpRedeemedFrom: BigDecimal! + lpAwardedTo: BigDecimal! + lup: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type RemoveCollateral { + id: Bytes! + pool: Pool! + bucket: Bucket! + claimer: Bytes! + index: Int! + amount: BigDecimal! + lpRedeemed: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type RemoveQuoteToken { + id: Bytes! + pool: Pool! + bucket: Bucket! + lender: Bytes! + index: Int! + amount: BigDecimal! + lpRedeemed: BigDecimal! + lup: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type RepayDebt { + id: Bytes! + pool: Pool! + borrower: Bytes! + quoteRepaid: BigDecimal! + collateralPulled: BigDecimal! + lup: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type ResetInterestRate { + id: Bytes! + pool: Pool! + oldBorrowRate: BigDecimal! + newBorrowRate: BigDecimal! + oldLendRate: BigDecimal! + newLendRate: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type TransferLP { + id: Bytes! + owner: Bytes! + newOwner: Bytes! + indexes: [Int!]! + lp: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type UpdateInterestRate { + id: Bytes! + pool: Pool! + oldBorrowRate: BigDecimal! + newBorrowRate: BigDecimal! + oldLendRate: BigDecimal! + newLendRate: BigDecimal! + borrowFeeRate: BigDecimal! + depositFeeRate: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type Approval { + id: Bytes! + owner: Bytes! + approved: Bytes! + tokenId: BigInt! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type ApprovalForAll { + id: Bytes! + owner: Bytes! + operator: Bytes! + approved: Boolean! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type MoveLiquidity { + id: Bytes! + lender: Bytes! + tokenId: BigInt! + pool: Pool! + fromIndex: Int! + toIndex: Int! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type Transfer { + id: Bytes! + token: Token! + pool: Pool! + from: Bytes! + to: Bytes! + tokenId: BigInt! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type PoolCreated { + id: Bytes! + pool: Pool! + poolType: String! + factory: PoolFactory! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type AddCollateralNFT { + id: Bytes! + pool: Pool! + bucket: Bucket! + actor: Bytes! + index: BigInt! + tokenIds: [BigInt!]! + lpAwarded: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type AuctionNFTSettle { + id: Bytes! + pool: Pool! + loan: Loan! + borrower: Bytes! + collateral: BigDecimal! + lp: BigDecimal! + index: Int! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type DrawDebtNFT { + id: Bytes! + pool: Pool! + borrower: Bytes! + amountBorrowed: BigDecimal! + tokenIdsPledged: [BigInt!]! + lup: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type MergeOrRemoveCollateralNFT { + id: Bytes! + pool: Pool! + actor: Bytes! + collateralMerged: BigDecimal! + toIndexLps: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type Burn { + id: Bytes! + lender: Bytes! + tokenId: BigInt! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type MemorializePosition { + id: Bytes! + pool: Pool! + lender: Bytes! + tokenId: BigInt! + indexes: [Int!]! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type Mint { + id: Bytes! + lender: Bytes! + pool: Pool! + tokenId: BigInt! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type RedeemPosition { + id: Bytes! + pool: Pool! + lender: Bytes! + tokenId: BigInt! + indexes: [Int!]! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type GrantFund { + id: Bytes! + treasury: BigDecimal! + distributionPeriods: [DistributionPeriod!]! + totalDelegationRewardsClaimed: BigDecimal! +} + +type DelegateRewardClaimed { + id: Bytes! + delegateeAddress_: Bytes! + distribution: DistributionPeriod! + rewardClaimed_: BigInt! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type FundTreasury { + id: Bytes! + amount: BigInt! + treasuryBalance: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type FundedSlateUpdated { + id: Bytes! + distributionId_: BigInt! + fundedSlateHash_: Bytes! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type ProposalCreated { + id: Bytes! + proposal: Proposal! + proposer: Bytes! + targets: [Bytes!]! + values: [BigDecimal!]! + signatures: [String!]! + calldatas: [Bytes!]! + startBlock: BigInt! + endBlock: BigInt! + description: String! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type ProposalExecuted { + id: Bytes! + proposalId: BigInt! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type DistributionPeriodStarted { + id: Bytes! + distribution: DistributionPeriod! + startBlock: BigInt! + endBlock: BigInt! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type DelegateChanged { + id: Bytes! + delegator: Bytes! + fromDelegate: Bytes! + toDelegate: Bytes! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type DelegateVotesChanged { + id: Bytes! + delegate: Bytes! + previousBalance: BigDecimal! + newBalance: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type BurnWrap { + id: Bytes! + wrapper: Bytes! + account: Account + amount: BigDecimal! + blockNumber: BigInt! + blockTimestamp: BigInt! + transactionHash: Bytes! +} + +type Mutation { + watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! +} + +type Subscription { + onEvent: ResultEvent! +} diff --git a/src/server.ts b/src/server.ts new file mode 100644 index 0000000..679134f --- /dev/null +++ b/src/server.ts @@ -0,0 +1,43 @@ +// +// Copyright 2021 Vulcanize, Inc. +// + +import fs from 'fs'; +import path from 'path'; +import 'reflect-metadata'; +import debug from 'debug'; + +import { ServerCmd } from '@cerc-io/cli'; +import { getGraphDbAndWatcher } from '@cerc-io/graph-node'; + +import { createResolvers } from './resolvers'; +import { Indexer } from './indexer'; +import { Database, ENTITY_QUERY_TYPE_MAP, ENTITY_TO_LATEST_ENTITY_MAP } from './database'; + +const log = debug('vulcanize:server'); + +export const main = async (): Promise => { + const serverCmd = new ServerCmd(); + await serverCmd.init(Database); + + const { graphWatcher } = await getGraphDbAndWatcher( + serverCmd.config.server, + serverCmd.clients.ethClient, + serverCmd.ethProvider, + serverCmd.database.baseDatabase, + ENTITY_QUERY_TYPE_MAP, + ENTITY_TO_LATEST_ENTITY_MAP + ); + + await serverCmd.initIndexer(Indexer, graphWatcher); + + const typeDefs = fs.readFileSync(path.join(__dirname, 'schema.gql')).toString(); + + return serverCmd.exec(createResolvers, typeDefs); +}; + +main().then(() => { + log('Starting server...'); +}).catch(err => { + log(err); +}); diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..c456217 --- /dev/null +++ b/src/types.ts @@ -0,0 +1,3 @@ +// +// Copyright 2021 Vulcanize, Inc. +// diff --git a/subgraph-build/AjnaToken/AjnaToken.wasm b/subgraph-build/AjnaToken/AjnaToken.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9988b885b5b558f565a5783f95f44308b0cd8254 GIT binary patch literal 686412 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 -%=03!CalJfw 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Ξ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

kN$wyd`2*i=jOl8jXmZ>^2Z*U`Agq; zZ~QXj`Ik*wgn4XZ8PCQaesH=!GeVXolXTnaC#S-#{LgsPM+KVF$+~qvxi2;}8FScYmg6HWM;BgbW|2!ma$zcpW11 zMMe6;)VMbOHsfVnx{AExfhdf(A8!8Z-1zJ7@F!v>WU8_5KR5m|<7Jo)C7a1>evEtL zA2Xf>vQ0jx>t_G_56yp_J9}a;R??|_xBoYOnel2Di`lL63{ZSN8-Mtb>Hg#bYtq?Y z{l9Q4|1)0xUu=uz?G-uTByJU^5Fa#?m(zdim~^Izx2o^&03=QY_=&EviC%Z%4Wc+9T!Tz-sa z;}1VR-7n8*k;mqqDk%F;g?N=(frrB^Vd{Q zMvH>}yXM=u@s}AdlOb?KGM3*F=&dCVbrlPAqoC>${KjT@=e$1;C@hkkb z@wbn786+3{k)v!IZ$H!g*SYhT-N^!WWXH9CHvTf>WlgNkB+91|eu93=gYP6w~u(fX4^|IUH8McUu^#C-1+NoSuM7C5)+GY zZv17&r!V7BF3F1ZdF0;s$49)+e{?~&zczz${7=n)of~`PntdRj4nSkG^5MPl%Zv|` zY{3-9JMOaF2!`3(zZsmW*$3Ir^Rd%e;Q`g4dKH_yKtg?hQ6+hm7 zsrj#S=dW&)~}ieaOrn=f+=VyxY~f>`^Isei--0KR)7lpi${KjY;+ zF4atC0Ds1{@wbn7@l77Hil(yv?b`g;x$`$jd!){i?AHGqfBA?{)rxB-()xMkz44D3 zpZ+hts#mmB^f>-%^IzxA9@U+m!cRV9XuLOm`G{97EJ;69o91uh55G3u50wbKdLnMe zscb(=L(Fe;R-I zjotn5=?JnYJ2%G0sc)hF6I_S8vM^5|l`9tHE8Lw}? zDu4v8iqB``55G0tpS+<(WM9=kPK8_fpYbX;{RgYB=ZtY}{Ou#2e!P=Rm#F%B`|akx z&Yi!RTCrMm^@z%!bK@@`@irel0uEDd8283MW_)%H7U40Ul~ufsztjBJxwGe$#qyI5 zU;2OJml>}f!wl=8*M9PB{NZ<}`}J8~s(HO##>xM}t^Ch;lSs~|r`ru=(6~1K_7R^N zA(t7m*8AJ7`LFZ;_Ww`&zxV$?t=khR-%YTp_H&~zGuqwi9Wy-7?$hYU9<6SZ%k01GxAYol*7T1U)&sru=uyWjq(`L1*0r8$-=$n#G&v~h0q zWkzE~jm46D7BKFOe(ce&s!tCRDLFijf82c6xv?a5{Mw)KxjqNHH+q@TsbBVHpEE(m zv(bk?+1#CNi8XGQBl58rJQZr?dq%6u;N*$kQg>e)ecPkMUwUr3kX#>cf7*Q4`H7dh znP_IyPzlN0ac=ZwkA`H2_~XvZsJgs2`Z1$pEh%y0gMRWqn(sO{mWYbVQ8D=&s&OjR%J&|fDa%^Z({Je~jlRujnCQp1I>z^( zH{W$`yi|wq_=8pt75Q_cFEbj07-z|AMvr@=AA2+$rg`da-s&fR(R|mru>^ZO%X1m~ zW#M>l^fIF}H#2imq2=YX(TBg>-7Tlm2icIhqMsCM<$Fe_|Cr$Uba3sl*GAv=Xm+wC zeME25i^khuHQ#k^yo}Xy_4UMrrEzZbWk$=BbiZt|Y#R4QKlbQ!Y^>?Dc}^+x@zH$O zxv>OFMJ#dahc1W@oeDG8`JU049byja zPce9H^lgvM=70x#jM`B{ay6GW|h>^g&uwbw&Q%=*u3>a@|r6vcGfi-ss1S zj(;K^9(B)g{GZKtof}KC@9-`?mObWWqnAAzPFAa*>;>!^&qg1fySvkk^*_vu{6D4p*{+Sg?a^{yJ;WlBv>lAMziqzj+;~ZQBv_)J*U5cu^kt7$i@K%w zs2_IA??yjnw5-yPvqz+Jj^qDozU$mrqSwGBKcYqdZuGK8XP&Zy-Ps7M8lH_l{N3*E z>_?)blI4uh##=-VEh9;*UmYVx)$d3$TV>)d#$?_{IO3^6I{?sKCrGdg=6+kKg8 z`bnc7GumybOtxgoj^jUWzU$mrA}X)RpwIERa`3&;%Z$!ur!R9E^x+GpyECI$ ztL{aqy3eUlE8kmm>=aL(JKbKbjccQCGaAc0%|2){6#DI-G~ac8;$=FkNXol zJf4j{e9`Xi^zTf1v(oI5--TNFp3yQX8@>CpZ;orDZ!;QW_>%#dhUMkk7dPK^ZoG7x zKBD3QT_s*5!T-y6N` z(X^YwVlD^L<;Jtohkv@e8@tgjUwx_RaVpfx_l&05?a7pM@o{bRZI8D9vzTxG=$-bH zFKxc-+;}PfbTfCdTj!MDjlRt2R06hj!u02HZ}ekE=QC}41becrjN_Lz-*s**(a+?R z*o$X+?RanWGNWJ5XYyM`^K(2KefaX}?sQ{b%JuAU<5Z}X?-`A?_{hs-%(yoCwnytc z@lRF8D*yY#r<(6NH(ttXtnpGz^YlH=jlRt2>{OzXF1UX7cyIJ$Myr->7hGd`{EFtg z&W$D6?Q~4NKHaBs@V(K?jApf-soF(|C*#@Z!&gpszb2->Bh%IYI2CH;dq&%d!v`+I z;kY*XwnvMNF2ZVOej0CI)qK~v@lp+_2i~d%x0l`LMqg&MN+jV=YN0lcd!rv)G=wjw zyG4`r<9KYo>-@x$7b^RPjZn5!p1e1Dnb9Ovfz$2TPa1vr>gjHLr@M-IzQ(CgE8jEP z-@7?hC9>n%=-VF623^)4kxX|RZ(q}V*SYah)!28$GtZme|%kM@nGdlA|ro=~?HJ*(=eBE@nPMOWa?AEX3 zccE6kXSDvBz1w79QE_r@^lgt;iLnKfZszHD`}*d)&W)G(1Qc_Lkc=$!xzU#yjX&Js zCefGQjeg8%nsJUxKk5GC_zlf>of}KSn!J*SYC;8#_eL)>TAr!^mS+OhlzKM$@Qu^m z*>>bewhcavQ=wMAXLKroMW%xstH@s)eVftgJ(*A9gY)tB&zkQ#H(mxM2gQYlI_Nkz z`ZA;K1+QHiTD-=+(T^Fe%H16MQ$yqU&ztW$ca~u8(|b&|n(^M~WsgqWZ5ixN*O%Xo zK77;e?)3Te;XF^RJH)9_E8jC3EBb`!rxuEnYol*7I+Kh=IuBdyC;y`Pu5;t1Xt@1V zl`^s-e{S?;k4_iK7N%$FaQaE3A2Zrrx@_W^&N+_X+hfDtOv?L`Q7N-jFyA?AHKth{QlPF zyUvZ5uRfBRmoMv_KR5a^qiI%M>2E!E?u~xz(Rs2EBN@O`KaJzJHQ#k^EXjm&FHcpn z+8pnVUS_n)fzf*~l6|nzhtqU-cz8W~>2CUWp;o?UwEZq!D$!Z{;I+}WEgDKTWlw(f z@rwN0zihti{KQLWbC~U~&j)E5=SE*b@^=c;a^R6`&;var^(#v5T`<|e9!27 zR$zxoMykDWZS-xA&XajeRE8jCZTc)mNn&7><{k74z87 z;rph$|P^({Ql;<&YdM;J6&84l8NKJ(aVfZZYQT~ zS?MQ@KK#IRceXIuDytIPaVpfx_a4nkokZT^M+O#y*GAuFbf#G(#D1;fw{!Dd=f+D` zsy3+fdeY)d#$(nUs>!gMNgoEv?a(eRi^hN$R@{JqhSJvz0X=dEm~_OWsN_sw^m8%xqv?Hw#h zEz9plFEiTYNl$@im44Fb!w*k)r$4bsmFa8t??SD7&u9@3GudI;Gp>!k&1jXzUM!m6 z>=|$Wq4}{?ij!xf4?jBHt#_*zxgx)^e-~=ydq%r8T|TVybX*&K zo6*TpTw?_{l~r#))_m8w@iLWV1LIx#w|Uv<%ZyGR$!LvQUKZQR2 zc=KK7&Js9znB7!PRSv#4dYRFgei&!Hj4AZ9(TAUy?#7@R5KY$ebesyc@;#$vluj#C zNyx@=ZS-xAmP47v^4!lNI^HhLcbywA<%Y?Wykh%m_qoxR8O^^urHNGf+qgISF{4EU zPL$|aC-?Cuo9{YzmY7g%)-S_j+5O(=Wk%Z{pmHl#@ZIRcPfd554gSb)R;$c$D%8sN z9xWCu!1L>~KmDZ9w;7FxZ1ysW2bEQCKiz!Sx$#m>s)H9JqEqN|qc1Z$(=5*e>}UPB zH~KN7({p5$DoeJH<9qX6=gt!Or?;|SuCE>Wz0u2ze&sbD^VwtB{cQB%XQsPFBQsV% z?5sK!YUO*6&c>~B!*?eAxHkGWqh+k_lYYw@`TeuacbywA-KBD}f2#(aYn&T>nbEO< z?J^6W`gfxrGdevmI}jwh#_{Kx?>cvu@KBz<<^;yad!v^b9sW`^JjUjDHu~`MySrH} zkMxoBll9s4RH&8j87=?vJVMUyVgGLQZAQxrHK~>(Rh9PkADizwH(o-TteM%-QVgCO zeVNhtkk^?!sh)9f^kYWH1~WC&Sf?GwUueGT+*u+nx!IXLe7rY$nbG1clk`85KD8Rp zMjw80x*HFv9C^s&vgA~#mG3=TEhg{MvwYW28hxA5x>WwxdEfn348HxR=DW^~muyaM zt7em%%s4mtGNW}qd6=yu8_l>k`Z1$nJ#Vr9^>jCm|GD|Db7x65N7-U-=GkPtH+q@T z@;NqRl8;rz&qg19X}UYT+p_>hG7rb8P%Gbibao|{znr@Zl6g4PAu6lxjegAN%yzkzoLM`>acREm+*yJRT!_yn z9pb&w%Z!FfAH*e(<#(eG|7E({ev*Ak<*10t!Be4DzGt-Fr~70dV2ys#=-VDG?y^t~ zzj8o+|JUZb&W)Eg82OaRrdP?bac=ZwMrYHdpUoJryYG#D%xKZUO6o0Ba2$W7`L1(k ziP*^xIx?55BfmF#nbB(O_3ZlU7US9I!*#lwS1;T7OwTwKYUO)Ivm^ZqAH5Y^8-1J6 z?#hgf^=sFB`_<;V&W)E4SXP@Nlx{K3jlRri+nv~_YItBjY4l@8<2iLngNm;_IsRJn zUFXgcT|qY%A+cHSesA-xh*>RL_}Ta--TNFp3ykQIT@9+ zKGj_teVfsG1gz|aT_?%ge`~($+rvr>IXm7Pz3kDl2otzVxA%QK8-4ig-QCcs184U8 zLZ1q?@;#%&h%U>H&e&_CZ!!{+wU~rb#A;AJGqKQw!nLyZ}eqGs{nD~ zYkFI8a&PowMza@Awc$tBjN|V%-*xUR$=qgvsUUap-RNaTi$=CnS@O#7Mjvj|-7xwp zYciANccE6kXLLGAay65)IJq|Zwny_UdtK^1KaaQHYrgB;c&WqYNg!Khs$!fQeffw^ z*O7rLf&92P`Z1$LK3lI?ihS*w$KP+h>)ctA>56OhELP>^d!v^bof$8yQWrFgXQK~) zFx@S7c3+&RwRO&)3bpb*qq8NeOq^%pk87iEGg`K07tp0dzBfVY45QusfEhH_eL)>8Vjse zm*%hzJ)Vs|{Lyr`sudR&lU#e%sZcB5Gg^+&FYfr0H{;sq+edWRR-Zg@`*{1~=DW_F zm;M$XiMyLU&o}xqqjRH7O~tcj+#CIv(KZKBkuNe#Ovmw0n(sPymZX#L52$YRO!rCucKy+Zc%S_s;%WI==d$g=bXY-kYo~4hE zxBt<6*SYbMts(Iq(R|mr^HOEms(49qt%h@>FEctFTffTWTsPBuqaPp9BEpL7u&QGm|FZe6b7x7O zEaiv}q!a1ijb8R>U4#YcRw@)Ted&C9=T zzU$msk|$_)sebE4$+OXiznSjNv#^}X=ShAVr$ViKe?+rER9Gy_ z@!ja#jLzp9GCW!^Ki>Xl^Ihl8OWa{Sb%XV?K?G45C` z1IF>$eAl_LBokPzWeU?!==Vl1AJN$XReidJ{iM-{zn$)ugP3;8+I1G63bpb*qr(QK z*`P;M_qjIu|0nG}pl!S7{qN62B)X}0zIvCXch=Fn=$)P9q>;puL~mOUf~~jUtG8h4 zEtq-`Og#v`dJs%K+~9fr&ff05IT_FYdB*tPGhSKebIyG4z1Cc1?{n^O)=8&7dh^lR zzM`~S(dunS{cG!dyFAUU+tQ-#Yq)osZu9TGl>x`)bwh z_xAnC*3n09c67Uan|~tMc8sHTobR2FZr?Ms*OATFl=l2|PEOo9`lOwY zZs)Dt%JzD=`8BA0fAXZwkNq;2r@58wbGLJ``6q#PM%+8cZXJExX^-Cgb9Q^=wXfan z?6fnw?c}YaPucnC&9BAn`L+3dO1n?D9sT6ZYw{MC|LdBxSNZm}y4|+++T3oh>wWyz z(I@PD^yc69ZGL@kuT<@kyY1AiqmO*bP9J;om7zW7+hcq4dB5!#N9{P@r$4&gKkcKo zKMS%Kg3>*$kqKDyoCo8R+p{=H1AwjK4|pgk*FvF+%mZJlqIr@1EW)oJsY+5X#(_Px*X zTSuR;^U<5HBJJx)yOr%(>YhJ!>*yn&zSGBU-!rtYAe-lA^Y3%E9pk7S=lk?Wx93^A zKJ8YvSMT=y_tw!T?R<25e7D=!UY9o?ukHK6XKbBsm#4Xv?eV?&d}#OM=6Tt6?AFo8 zo%ZPV`8OYT?R;#$p13bh-a7h}osVu`!!}d ztX=nZ``YJdkKJv@ZykNY>5p#rNPE@X{2I|-DYl)ub@Y)(?ewwRebOGU?L4>Z)LuQe z9pk7S=X>X)+vBR;L+y29^D*1LKiN9^q|+bWzMi%3BHDerd49GX^_;Eq?ea9YvOS{P z99 z*QA|;_DE^xy}erPcnluDb@U0RKYH`n_IlFJc{_gFsar=M`GTE3c6(;E=Vbe;&>r3G zQM>IJN9{P@r$4%#=gseAHoq3O?@zXlK56HpH(v!e|E6m5Pw4IYlNWBCZ{M-R|@D9qHy**3D<#wv)GxKIQaBx9hz5wXZ!|+gaRp^ozF6 zx69L9lg+Ok?Rngq_IfwrBxb@Y)hzW7-$*8Ww?^KbpD zmhJ4dkGT0YqMe&<$2ex!qYigt{p4@I*yV`B9ed8M+v~zzm&`0L(sdgYi;H&MIumiR zu3ItEU%czq80apcCz)A>o?>xHJri*$JtO_4^$c{E(UZ(9FRQ0mTu#qKTwc#ee+4}Q z-4*pDGs`RKDHd1OGZ9zOGtysG&p>xIJ;}^+Pd&wAp=Tnlu4kmbhMoaux!a3mW_c|= z#p2p}CgM7JM*8dO8F2q}dy&j6udknRqu&@&OY)HBlGO3y%dYdy)#@-}*k#clOW#O?Hq^tabD(A_~# zGPAs+o?>w)Jri+fJtO^IdIq|?=t*XlchyrY?xtrV?yhH~zlWZI?w)#*ndQCo6pMT7 znTY%78R_qEo@8cue?7(G0eU9lfqF*z2k9B;*7PJZ%f0m!i+%J=#J+k)`t33X zy8ZMdGt2$;6pI7&OvHhDM*4&F40I3Hlgun1qNi9KtY;z)(KFH?s%M~ksGekIxzbZC z9;Rm^4%0KzAFgMhJ3>z~vwXOoV(|z)6Y)qrBmJZF40Mmylgun1qo-IrR?kE{PR~gH zcs&E%6Z9lA%O~n77VCN@;z@c&`X}od=$@h{nOQznPqBEKo{4z6o{|0;dIq{9^&~UP zXX+^y&(bpy&(<^2AEjrYdybxDX8Bw_#o~E-CSpU+NdJ621KkVsBs0qw>M0g4(lZe+ z)-%$-M9)C?Qa#Dc@@0C8#mn_f#4GfS^sm%2&>gKOnOVL{PqBElo{4yko{>KF40Ny6 zlgun%r>9uFUe83lLC;A4Mm+=FoAe|z%Qx#O7H`or5pUHq(!Wj5K=*b%$;|Q?J;mZ3 zdM4tXdPe$p=^5w-J;}`S-Fk|}d-P1id-aU;@6$8Ty6wT>>lx|)qGzD{ ztDa=~j&NyY14gG0>e+PcpOIT~D#tL(fEw&Jri+dJtO^9^bB-Y)sxIDucoJ1 z?5SrW7J5edtLqu)uAwKHSzc35vAC9=iMY0&k^VY*2D6dy2x@~%rndQy&6pNednTT8H8R>7SXP~>4o@8cu zYdyu{HhL!Fwt7bT+vyqTZm%bqS>8cUvACn2iMW%Vk^atl2D-iUBs0sq=qVO=)iV)y z(=*cFUC%&w4?W4u@}7E%#l7@Q#J%;5^!L#-(A`&0GPAs&o?>x-JrnT&JtO@C^$c_m z(v!?A*Yp&Nz4c7QK6*y_ef11<+w~+f%l-5ei~aRX!~uFn`UCY0bO-54W|j}uQ!E~$ zXCe;PGtwWTXP`S&PcpN7sGef6(lZec(=*Z^re~l#Tu(ByJVH;gc(|U4c!Zvj{*ihH zx<~0rW|oiEQ!E~%XCfY}XQY3eo`LT1dXkyt6Z8~|C+eAqbv+~flk^O9Pu7#nET5vM zSUgqFL_AH;NdI&_1Kl(9Bs0q+^%RR|>Y0dV=^5#tt!JP+N>4Jge2$)C@mxI<@jN{v z{f3@_?)iF>ndJ-g6pI(?nTQwZ8R=iFXP|qDo@8eEQa#1uWqKy!<$6Z?SLhk&Ua2RU zSstyYSiDNlM7&zhNdFo=16}G#W|ptjQ!HMmXChv&XQY3Fo`LR-dXkytoAeZmH|v>* zx9Az^->PSzdz+qQX8CqK#o`z}6Y&l`BmFz|40P|(lgum!J;mbPdM4sMdPe&9>KW+X zrze?NzF$wV_<){?_@JJV{zG~Ox)19~W|kk(Q!GBJXCjW(Gtz%d&p`KaJ;}`S6MBlp zsAnQRsb{4Bl%9d^(|VGbq%yoU(r)6zN%*;COsql*Ypf@U)Ph&EWe?rSbS5@M0`unNdIj;1KoG@Bs0qs z^c0Kl>Y0e|=^5$2uVO&#q^nJBOZRW_eCM#iG|U5$Dn~(w|$; zKzANJ$;|S+dWyyQ^i0J0^^Eiv&@<3oP){NoJOp)>AAlqh}&6t7oLYoSuR1@_Le)94G3pu38mWM+9)J;mZ`dM08|JtO@>&p>x|J;}`S8hVPwHT6uywe*bi*VZ%8T}Mwc zv%IdJVsSk^6LEb#BmE8Z40Jctlgun{q^DTiSkFYxOJ;}`S_IirN9rR4Z9rcX#chWP^ z-C0jEv)oHhvABz#iMXqtk^XLa2D-cJNoJP!&{Hh#sb?bYrDvqSx1NFSK6;Xw<$d)O zi~H%Bi2Lgq=^vnHpnIU6WM=swJ;h>8&qVC4XQbap&p@}Yo@8dZT~D#tPtQc`uV? z&q%+nXP|qMo@8eEWIe^=DS9U2sd`5Gr|B8!o~|dESw2Hgu{cuCL_AZ^NdGK71KqRr zBs0sS^c0Kd=$VM;>KW;ur)Qws(38w8pRcD_yg<)Hyim_b{~|pD-HY`kGs~CgDHbo) zGZ8P-Gt$3Y&p`JIJ;}`Sm3oTB(RwE0ReDDHSL+$*UZW?OS*D(1@mf6-@j5*t{pA$3BpgUeqGPC@$o?`J8JrnU&JtO_3XQ2CKW;Oq-UTj zJ;}`S$9jszPxMU0PxXxSKhrbN{ajBnv;2jgV)08o6LFHBk^WbD2D)GCNoJP6(No09 zjw31Jw>C);zq3h-_`OY1#B7rk@dulvh(FpSMf}MoDdNvINfCdsNs9QZO;W_)Y?2~Q zu}O;fyG>HWKWvgB{>vsQ;#8ZYh=1B7Mf}SqDdOKYNfF%{x;2s_cCkr{*wrQ};tV!P z5xdzWMV!$lDPnhO;W@SY?2~wXp5&PLBMeJ{r6mft}QpABaNf8IxBt<;fCMn_}Hc1f&+ayICVv`hcs7+GDLv4~G zRyIiy53@;%ILsy~;&7X!h$C#0A|7s&6!8d~q=-k_Bt<;RCMn|4Hc1hWu}O+}tW8qH z<7|>59&eKr@dTTsh$q@4MXcK-MLfwSDdNdCNfA%6Ns4%?O;W_uY?30LZj%)844b5g zBW;o*o@tX5@hqF9h-cd*MI2?56!9FJq=@I*Bt<;WCMjaWCMn|iHc1gLut|z|p-oc6 zi)@l2UTl*T@e-S)h?m+VMZC-=DdOceNfEEGNs4%-O;W_sHc1h$vPp_~wM|mQYiyDt z(k3b5wKho+ud_*tc)d+h#2ajqBHn0|6!9jTq=+}$Bt^W%CMn{rHc1h0vq_40yG>HW zF*ZpN@32XVc&ANL#Jg;gA_kkJho!Rd->^xF_@+%##J6mcBED^t6!9IKq=*x2k|MrqlN9kio1}>E+ayJt zXp%Qp81Uk|Hi@lN50=o1}<~+ayI?!X_yqY?2}_X_FLj zDVwB-OWPzxT*f9T;<7eL5tp+`inzQ@Qp6Q(k|M5XlN50!o1};<+ayI?#U?4@sy0ax zSF=fq*wZE{VqudMadn%dh-=s+MO@P+DdJi-NfFn!Ns73RO;W^lZIU9cXOk3heVe3+ z8`va8+|VW|;zl+}5jVC;inxhQQp8Pdk|LHiNfFy@k|J(qlN51to1}WE%O)w}E;dOK zceP21xSLH<#NBO@BJN?66md_Rq=p6tRy@QpCPCNfFy^k|OrANs8FtCMn_oo1};XZIU7mvPp_~ zuuW3LLu`^F4z@{(IK(C?;!vBUh=NfA%9Ns3svNs4%qO;W^@ zZIU9MVv`i{RGXxTr`aS$Jl!TK;u$tc5l7l2MLg3cDdJf+NfFPsNs2hiCMn`MHc1iB zwMmM2o=sB3hD}n$^KFtMUSN|H@j{!Vh!@!;MZDN1DdHtINf9r#Ns4%xO;W_mZIU8h zVUrZ`N}HsJqivERUS*RM@oJl-h}YO8MWjtq#A|JmB3@^c6!ChSq=+}zBt^W@CMn`g zHc1h0wn>V3i%n9*TWyje-e!{&@phY}h+}M$BHm$>6!A`*q=ITR&6h?*RN7MSR3DBt?AGCMn`r zo1}=3*(61L+$JgF6E;Z^qfJu8CvB1@oAf+h|kz0MSRvKDdKZBNfDp7Ns2hm zCMn_zHc1g*v`LEil1);?@is{jU$#k#_=-(Z#8+*SA|{)ph_BfsMSR^RDdHP8NfF<) zNs9QEO;W_SZIU9sW0Mqdf=yDycWsg)zGssZ@qL@5h!bs+B7R_#6!Alwq=+BcBt?`> zQpAsKk|KU$lN9k&o1}=J*(62$+$JgF7dA-|zqCn;ILRg{;#W3F5x=%ciujF9QpCwN zNfE!bNs9QLO;W_~ZIU8po1}<8*d#^#(IzS4Pc}&rf3``A_=`>{ z&S8@jaZa10h~6eC;#@XK5$Co^ia3u=Qp9;}k|NG$lN51&o1};f*d#?<&?YJ3LN-Ye z7q&@?xQI87Bt=}+CMn`-Hc1hC+9X9RY?30bZj%&o z4V$EhYuY45T+1dY;@UPz5!bOviny*#QpELak|M5elN50So1};v+9XBX$R;V`#x_Y2 zH?c{IxT#H2#L^}yVw+7;#LaAyB5rPz6mbiiq=;MEBt_iHCMn|9Hc1h;u}O-!txZzI z?QD`FZf}zmaR-~Eh&$ROMcm0IDdNsHNfCS5Bt_iCCMn{sHc1h8vq_4$yG>HWJ#3O9 z?rD=0aW9*sh4Mcl_GDdN61NfGz6Ns73?O;W@IY?2}#Xpb3Qp8hik|LgJlN9kZo1}=R z+ayIi!zL->NSmaHXWAr1Jj*62;@LJy5l7i1MLfqQDdM>{NfFPpNs8F8Ns4&BO;W@Q zY?2~gXpCc;-xl85ihezig>wAQp784k|JJdlN52ZO;W_GY?2~g zZIcx78k?kuv`LD1txZzI>ui!DUT>2W@dlfuh&S3KMZC!-DdNpGNfB?cNs4%@O;W_$ zY?310Zj%&oj7?I+J8Y67-f5E*@h+RBh`}Z);@vh$5$~}{ig>S0QpEdgk|N%3lN9j* zo1};j+9XAM$R;V`!!}6~AF)Y__^3@%#IZI>5g)TjiukxqQp6{0k|IW%q=--2Bt?A6 zCMn|6Hc1hmu}O;ftW8qH=WLQ9K5vs0ahy$3#20LmBED#o6!9gSq=@5fk|MrrlN9k4 zo1}=Z+9X9xHc1g*vq_5hx=m8VH*At3zG;&b@hzLAh;Q2@MSRC5DdGg1q=@g@Bt?AB zCMn|kHc1gD+9XB%z$Pi;hc-zOKe9=RD4V2+AKN5F{KO_H;-@xA5kIp@iuk!rQp7K8 zk|KU-lN521O;W_KY?2~=ZIcx78=ItvlWmeBeruBy@jIKOh~L{JMa(uy5r42riuj{V zQpBHZk|O?WlN9k6o1}=p+9XB%%_b@06q}@ozuP25{KFI z+9XAs&n7A2{5DAu7qCf+xS&l^#D#2$|fn|(l$vEm$6BTxU5Z5#N}*~A}()}6mbQcq=+lpBt=}wCMn{|Hc1gz zu}O-!s!dYF)ohX?_OwZgSlA>*T-_!q;uA z*(60=-zF*I1~y3%H?&ELxRFg##Eor|B5q=n6me6Vq==NfGz9Ns73SO;W^tZIUAHXOk3h zf19L;2iPP~oAtw<)iBX{?|Wp^AKjLgI{ zcklLMoq?i%mYx;KME7hxYiuww6G!P;XQ1exqi01j(LGns8XJtv#Pjs5Gf?y!dR8P8 z-ShRVvBAhpyg<)714aKrJu8xl?nQdm*kEKPUaV)Gfuetjo)yVN_fkD;Y%nqtFVnNm zK+(Tk&x&NCdxf4gHW-Zm=CE6^ z#s(uZ@mf9W3>5wA^sGoGy4UMjV}p^Ic!QpG28#ZTdR8P8-JA5RvBAhpyjjmW14aK9 zJu8xl?yY*(*kEKP-lk`rfueuAo)yVNcZ{AjHW-R9zAPpFftSG)w9k((Z5g6ie#dDzn(QV7@3I==vil==s&1uMKaNS zNY5G@jLgJ`^{g{c^dHf)BAMtus%MQ2MrPtzJ?jh<{m1mING7_E>se!ik(u~}o^=L_ ze$=xfndm;LXN?U;X5v$N))^@JPwQEcOmv^ov&IG^Gx1qH>kJhA=k%;dCc4k-S!08d znK(|*Is--j1wAX0iSCPf*4SWVCcdO+oq?i1UeAhTqWiL*H8vQTiLdBcXQ1f6s%J$q z;UCcQZ&~ZvU}Pq~re~djqW`*{70E>R4LxgYFftS0)U(b&(SJ+Nie#euww^UM7@3Lh z=vil==ugnIBAMvEt7nZ3MrPuBde#{z`tR#mkxXRDrhk(u~`o^=L_{)c*2Bop0_ z^sKSL$V`-;bq0$5$9h&I6Wvertg*q!O#D>OIs--jGd(MkiSFlm*4SWVCVru3oq?kN zrJfbZM0b*&H8vQTiC^hiXQ1eRt!G6t(fvlx8XJtv#L0Tr87TVS>RFLYbidQH#s(uZ z@q0b%3>5vWXGJp6{Xx$f8;s1vAN8y=Q1pM&vm%-3{;X$>4Mt|-FM8G)DEhzZS&>Y1 zf77$Z1|u_Zik@`_ivI6yJ^Yhod-%8d_V9O7 zd-%7<_vpGa=viZfk(t;{&pHD|e?~nkl8J72J!@<*G822~S!bZ=&!lHXGSQt`&l($y z%*0vrtTRybXVtSJndr`@XN?U;X5#F6))^@JbLd%-Omyeev&IG^Gtui=XQ1fMrDsJl z(Vbh*8XJtv#Ci0rGf?#B)w3d*=+38SjSWU-;{1Bn87TS-=vk3WbQjdK#s(uZaUnhH z3>5u^^{hxHx{K&pV}p^IxTv0W28#Y-dR8P8-Np5+vBAhpTtd$}14SQtRwNVMCH1Va z!N^QpO3yk2MSp2ME0T%sGJ4k7U}PpPt7n~oqQ9J;70E<*c|B`vFftQY(6i1!(O*%| zie#d@lAbj-7@3JH>se=@=&zz@MKaM{RnHn5jLgK<^sF;b^n2=AkxY0a0Pkg`XM>TM zxVoNo28#X~dR8P8-8J>BvBAhpTuaY714VyrJu8xl?mBwb*kEKPuB&IAfug^jo)yVN zcYQr;Y%nqtH_)@rK+)e&&x&NCyOEwXHW-se=@=x?ECMKaOdQqLM2jLgKX^sF;b^taZtBAMuJqi2l` zMrPu+de#{z`rGMQkxX>A*R#e3BQtRaJ?jh<{T=nJNG7^F=~-igk(s!&o^=L_elI;M zl8Npvde+!rWG3#aXPtqfznh*F$wYT|J!@<*G86aEv(7-#-&4C}vm%-3_SLh-1|u`EUC%lLMZce(70E=mzn(QV7@3I!^sF;b z^atu$kxX<4=~-igk(qd~o^=L_{vmo+Bop1ide+!rWF`*Lv(7-#AF5|XGSNL$&l($y z%*0C1Is--jFg+`hiS95xYiuww6Nl?rXQ1eh(6b_$=pL?TjSWU-;t_h*87TTk>RFLY zbdS=r#s(uZ@n}8k3>5ui^sGoGy2t8SV}p^Ic$}Vf28#aidR8P8-4pbzvBAhpJWY1&(O2R z1|u_Zq@HyKivF2;RwNVMv-GU7!M0;hy~K{UJw49l`Oo0{^PbV~H0@nEe{fOn>Dmr* zd5X)k?&5&mIH=q1olXDgcW%^edzs5U+wWX~hjx$X_UjJo_U{h%^GEuBJn!rB(5+uR zLV0L+fM4Bqe5-xj6WZl2K2N*6iqGTneC?y1gYdq55B1-JyuYRQQa$=#j(J?S?JX`J z(vI2A6MUwFx_!DmyQPnOShsh#>JH>EWvkogKiKd7&+lE;uOIGL+V33VN4tKT>tILj z=hxfyY`=QA_vLKIZaezlKJ)#3W|y~apLxkG{oa8)ZtZ^E!+o4^EBE#h9`4uLbw1pG z5A|`5aJjdiwf}DS<1oK}c>AcQwvT#nx9!OFIP1Q<_=xxC|K|1_=rgo4yr<7_+UvG; zJ5KhQcARCG7iypJ+-!GryWIz<+Zj8|?S0bbac^;XiFVut*?-45J*2zEX^!8|eYth? z2`(?vjy^B#Bc1NZQ@4&h^2zZ(?-RR^&))8*hje$^aUS>a@m+^w9JAwHd0k$*ebkHc zKgZtPEj`4Mhx<%>``OAn^R~hx@+6m+ZN8@;{G( z+xjTmj(+OqHGPZAtM1}6UXJ!r4y9e+BX)emJzd9rcRa=p@oQW6;fbw1#;tVuDo-76 z9>OjE`%@nzZ4bSNy2IKN=+REi|DP*=h^yI7X6(38n>Tp#VcV|q=|A4heB^dD+vnP6 z>n3hK=-Pw7osP?Uk$Ac*>uLQmmzUhd^}H~b_j{X9kDagMwqv)BKhEVvF6r3zP+INk ze=g_$;tZRY^)IhpC$}Tr*{8U?X8Xuj;hs*@|JxHVcHFwdeCBqCUCjgR89sui--ld2 zsC|Tc^MCX7``<4o|MODtpO=s$H?QwoT>kgV<^SpWwik@e7e3eZ#8!Klp5*esU;5fp z>~8LZ|JZ5^=VNwxXV3{RB*+{^80*6z9XQt?RtZAXNc+06%P zyZ_o-H*Y)fnVZ-9B$xmFQ2n2?)E?RgIp=$-+l%1lllMQj`B~bFdUClu^DfS=f9bWo z1@y7@t{2^{+jg9vJmXC5ciPvL_Qu=`Z$aJO^u4{&b$b)__D0(64cgmVz_&N5Zg0oF zaJv>h)54Qu;gPm*-4`D1t!!^Ce|3F(^Xttwv~F)Ve;wKzT(`GdZ*QQ!H~X+J+u4u( zcYM}XwzmdvZ_nM{Q2ZJ`e|tmh_BP#{Z)4rwmV9saVPCehAN%jP#_hAVvb{-mdlT;V z*4ynowzrSpd^7R(w&{Db5Bsv6{n&rUt=)Vp@b;Noz4?ab?akA#rEhNlzWL_pd%N6+ zec8@_?7!nowOiY+ar>;-_N$w3{@&i)y}fz-^|(HJvk&{So&DI~XK82pKW_oP`KIoh zZ!+KB948J$~urJ%$kNq9d?xl97+u3TjxLxb^nOog{T#xqV<$JRa`?8(= z*x&EAd$`?8?M%0`)oyXS*6lO5y8UQx9=|vHurJ%$kNy2ldvt8Ras1|+)3>wLZgIQT z?K8K!{n(p**q80>$Nqk`J+j)Pqus;pUb+_TY_(h5u66s&t!_W|VPCehAN%{2_NZ)+ ztoG<=_i($H+L>-=tKH&ut=ngAb^Ea|+u4u(t@em+kIMGQYLAX~54U@%o#}SA+AVI^ zx_#zWw;$VS-?Z%SXYJY09?|Vl*&bQ#(b4YVb}zLv-Og6K#qC-+$XP zsXZIoBf32*+as$zI@&$l?xl97+u3TjxLxb^nOog{?C;0sv#>pr+OwfOqT8dgJ+j)P zqus;pUTSB$ovn6@+qG_=xz*cFe1X@C`+JphdFS@3aGM>k7ws9@o(e-xT~zCwY@~r zirrNb1Em}R0+^#MM*wqQ0m2<1fVrRDNG`5i~C-*V7!MVHqs@g5TKzFymhxnF4yKsLP*J<=yi8RpY z$K6kpjShpXenO!7k$SfIB-HF&Uw$>N*Ew{-K_A9%X3LR!6M=&!!Id9z?yRK}L@QbO zQ_w=X4t{@xG$6lw9iM`aT;vEbT321eTe}8npw_yQYXh%sYVDYV@Cnk%MB@SY%*WkD zOkOZIJfKgIdM5aoy8JqzDh_?r zvMltBe7)E(?l4V4>Y;KU(87HKJRmNR=91q;9$sucl_A|h>TzQ!bce2^t;?^k^(S#L z^i-N^B*mtfd}H`GPa(|fEODmCBEGx@QwPpjepcuq6_yJ-<)(5sYgF)?INCU%(*{wGpA<- z(tSztwfOL9F>eL8B~74>Y!aVv#MV(MP&DS0{sig%RC=$XrCVTIX%rw`qLCoB>K2De zN{M?&J-?sqHMNFMG%0^8YA3Hbw!z82{8nMIN0coAZ6jW?2vl0Bk!7cO4?J{%TWJ%DuWh& zgwzXI*x*MK$~n3|bUV+p0_pC=#U1e(&xIb8h>cL*6nZz(<0x+@J`+tu^ZQf<6VFw5 zpq63Gd5~VpCXW}OnikeIxmp*WJQh~yPa|jsT&2n4x;r_$Mv;1xzvs5)#x!s8w}Em( zV9W0k1V&8PAOM=~Qa2+7qX23YQ{- z|0!DJDuOeu8CuEdT!C~a5)}o`3dI^5p;jLqs$u*YK;DPeYcT`*SL)Aj`uoejlrv z2RVqDWcxS@pTFDQ<|iznc(g?f6yDe_lH@mwCa zG0|0px5M{wT2>-GgJ`i!&_bce|DKfZ2PJ1h%1BQmN>0URB0JR#zKRy#x4HR#N+lNT z0n|T&`jOtn)c$4=P~L(CC*{9l+r}OQ*-*PrkovZ5ry{m(_#xyZrAF!nih@!fTkn(} zL%LTjICC=sE6?Hc0Y2MoiXaO!^$(9z(_J$tiXe*F<{0NFB+CG{&I#?ft z!E(JKHwO9`r)v$;3h5d*quk(NEq}aXjuDmtuAK_GlLbX9*8zn_lToB65&wJGhxCo~ zq#q^t=tg04vbicgi}Al3|8zq8J#q#Jd%F|$~ zojl8*EsDePtinAu=p(gAGg1?125GDBepFE>Rz1hrzXoYZXKW&ss3I*R&x01~yhtx% zo%h@c*uf_iTr+8*Imz^uylZZ|xVCcA#w!JRP8E6J>t6t2C!+%+^`;y#)aoxfiz`4B zm7&Q6Uo<9*wiMsV{&I?G6^5vC*ZE>2F9IJnc`edYNDUU?(~fdv=crA5ra-owMsV_n zshu=&p)o##l|NEuQWBbM(H(c1rn9l%AG2etUgCAFL7JetXf`nmCEREQp;ooV;g>o0 zRwA86HO|DRh1EfA39`svWaQsKsO|8CUJ*vcN>F|N)2Ij(lJF?f7NT)R2pS80fLA%@ z8l)jH$N2(7Yk8|zAZ;Q#j|@R4#qY_kYb;((h|s-{kb3%12_N}dHbs+oT-lvc_dz!) zibeBV|1R>G8nESi25tJf7cP-M*sXmIMqyF`DeFQB>dN(sSx8ep(xd@m$78HSTI}-)vd7zIk zH1W<{IKAiWSO^sAyu9>6l;quYA<#4|qfoqozR?}tMct9gH6H$?mzF2o&;!vB8(zoR zu@b2_li}suKmv7QnxqppxpWJ`4s!A0Xf~CGs(*yk>yAVRH=W$nBpGYDA>iW3r!qgT z1EG$*;V>Dg=lJJMCe}MSJ`!`}O$|0s4ifX5LTFXo4#7um61p2Q2RBBLn;B1}o7m z_|T$6mdTJL&ci)9NQ0ba*Pn?Ey@irc$`wfKs3dg?e>*_FX<>V(MyNzP)EenwRN@eP zd_(X0Hg5afZYs74avS+d_)YbM3s!tbp=!0%do=noPY z!?lAWG5(tpOo7p%aWce7u}O~orjAF~vCU-l_pns~Wn$0ai}JZiu@8}MQHz`OM>m$e zUAyJBE@~~i%x~O`8(Y(U7y2VMfrOXnnwy!bKoi#E+7_G85Bd$nk8vRq*?dy$>~|33 zcM)hq9R2Nrj)m(jF>rtgJ;zCv&G~O-3+FoS(S5QQEX98;-PuV2jM~S5)ku|7;~Vjz zKbOK<_AAiu*vR)CPOWpljN*%e_KYFj!iA&;F8cv)fE&X|cc8i{G)n0lCk5j_#J#*i zLqBxzSK-TSm(p`lg8m|CB}=J^_-o|aKIvR1jeslk7eVV;>adlOGm7xMOJ6O&@3DZc zFM^&S57UE}+%NCAUp{ode2g!f`#7b+^A!9wTql~|!VTpu$QS8e0>sUY3cZC z4`#I{?`OSbn|h|d$2ewk!y%EQf?#EG>0V$(d-eXdj9uSn8tHBZQWLANc(az!(`rh9 z*yNZX5EHkichJ@>G)7yx>Cr)ugtoZE*amOSXWD}Rlpuw%r^iA2>_H{b^h{D)8ntZ0 z)aotG-Yj_Te$C!|W=U*E1&TB^sV~-(TC#C)i|G|2kl@pLCTDGVM1>_?HfK{gYpbb2 z3ZH60Yw5pw+h}W;wspmY<~L0HT*ZZ28>W4}p;Gc1nasC2GDx{1@?aeOLZzii7M>)x zt+cc&4_i-b)^>-7q&#aZ*}g4E+4B7beRqe$ffD?HERnS<8273Q?uUb%%*x z45Tmxbf=Bv&SA*z)$I;*m#>5%8zp0zpn4!Yd`v-XO-NSGS zO7^8P?Hy3{OjNT6G*io^y)X3%HI>?<%;+>hQL@QuzqUY4<+R#4LAYH)#rf#O$Co{; z1JRqb>RJPV8D*OB?23lqdCldMdT=m)Q;SKa#3xs)Nz_dd8j}qpx*f z8a$C)0^HuOB?wXQa#C8thDT#X8^PCcF#Fe*s4gA{YYr%*5w7c0q$0+Hwy9GNtZ3-v z!vibpk$g}^CRac}?FUz6C!MmVYo<|OQSTKh<*FO4NNrHuv5!n2wWZlZ8iPpKRXd@) zpe2(lay)#DdTRfaK$0I%fS~$QcVTVF*?KCXdj=OT<$-`>>tIRhKn2+t&LArw=JX*eQ0H9_oX0)hr(Z(D5(@ zh;rGM_B;!GNyj405WDYJZsp|gF3!4Tppm8+eJvT=9IO_RGwR?gAD+@O{r14&H~h~M z8IOa^Be$As|} za|>Q_-U%fb4M9{qlz5cQ=m_Mi6>k-1ZD%OHFxEma;LEYirDZe09E5j6+i-^4u0SrM zpu)T>vDifSM(#`K0zHA0Lm(fT!L@$=p{3b3&W3QES|GS%j;p3K=jymX+LTX;?@1mX zNE-wtcfDY@IVV(V649JS!$@gr=ETD)=LB=bPMTF|!K7|wQ|e$d27t5FjFA~k8#(LD zLr(Ule(^X)eFlCCH-F5FbxhN#hMwWVV>!MWf^KG>;vtj2&jXPiRjDUemE`jI&% z*NKVFK43zM$v^aX+KT0}+#V(K>dD0tu8MYAPEA=$I;zDXwlvkzxAb6At+blWB36L4 z$5S)v!M3qT%R~p%Ofsc4J4(}ppZ!{Lu#AN$Nw-#7!Z>S6Fg`CZpm`3nzkXE4NNRDcB;-<>6`iQh^{0$p z6>Gyh(UWnbFHSR>vy~%4lxG2CSc!9#dS9Cn+{2o5bar>gyahCabOTM|?BZPI(+^m2 zlk1ViLqQs%OS)#Ar+oVJ{&Doc<}Fh$-AMCXfiLNtWzTZrJLfCQ|7QrgK)GP!)1q75 znth=X$SM^`SnL4H6=AG!dQ21eZlpay_%6jo%7Np$SFy|;y{BS1wKxQe;{yj7A`AKh{(Xpl?sMxkEhJHS%l&2itxoL4E7Br(5Olr2^N~Z#UaEab?)D*gbJo*s|C}adkLmqrq(Uc1_sgTnSewfyUxOSs~Oy ztCH7-t(y&-R^#GDemuBTswy4n8D`zlwZK9Fe+r{O3%N!(3KRBotF$6vW#x>J4 z%wc74qtvcj9gA*I&fG|Kw@}k>R8HS0)iZ^=X(Lt6gnn}{-7ey#G9UMrV0KI>4)?eo zdYn~F?bcxSB)@PSpV-_Ms;q9Eh-Kf~l|TW+f_nSyJCs24a-p2#(Yp=4Q>kdb3pagr zn1tLF%-I-Ua~(EQ&}x9TGPIo8zNot^ma{jRF_zq;RJzZ=EzD(oZ|K%%47-Kq!K*6P z7MFsQeP8IZ{r3H#%ciskLYM8=9;{eXY1S$%(>)Yg-Wjd`VI|bs6B}!p$2))Olt+{@ zYa~3#FK9d&7TSb7KV#|r8QRW@nepn1+u^}Xo${z`JFrdlvCssd@Z+)sz-e0(ngA4j zLW#0*Q6)F1H`mvvnNcRDM)rMyt}S8ibT4?_(btFB>yygvtVHo8Qq_J+5f=w2NPsQu znn@eDy7BAC-1HeE%AO2@N3SW1w$#=#$*x?ci*^oDo~M=F3i6~ivtL6Ni*7%oY{zb+ zth3Lp&(ySM6=4O)BH-?ht{%$&obsg-R3qB;yhBs*W?@^Kt(h+{ljRyK31i>r2WWC9+yZT6@`HXK}hTgh&TpQT8eU(r1`0YGUBkl9@~bvb42MCMFo( z^P;qZ7U!CwC5e@q88*-JSSHBsuauofJT;=G|Z-uNJMZX)$ZAxk13st3VVWIr(a8=sxgmSbnbbUWm zLABTVff8s*Gk?6Qqe$-$LzT2nGwsn(jAj1ZyA``+&LARr4RkuPeO5uZLNQ=VmFL9#rM{~U$N6oWxdVyAA}N;zq|gYp@f9(^*>Wu*^n_| z9HQj1jo?Q9Tn2~-Klx_!52b;e;N>sM`IV)b#wcQbo$6U(7wCYP8AN5yCneBXK zv0y1bQp%hoC=1ffy=E3}`?bOsGyneIh zG3j;dr)xm*bewOIOdd>R zo0k71t%^=xWtII|ns9${{x8*$yASxWbW@$Ze5|Q|Eq92wl(d;z@@O{$`S*JO2JHGg!DgRsK&Yv$3QkFWA=J|0r@hJGiEv9g!IN&>AM$b0k5SVLLa%XUVEy zdbv##+?n$tJnAq$6WcMiEF$3)_#$SFIzJ-OL0vgBqzfde5-rq)kweBA6?VZA&kp4c zJj)|x&hnShHNm7^6ybp(k^Ri12_m{UBH?L(Z?0LpB*M*_SXXJIR4gEw$B7|HPVnUb zCeuqJ#}$`DD2I(5ZE#LRT^8ZCH+Z{C$!|s-3qf5TSx{ASy;#~6krS&9>_y+c5vg?Z zTxnLQ_BSJyZdfdh2))PJ&bKO7)zYY0BYS0}r@DOQQO2vP+Ya+*1 zl>-#4T~TGOBG^r&URz~YC)#^mgil8NFnoTbp0OvKy}3Se0xRu97ex3au!kLP_}Ko+ zfCTIfjxq3I+1h~w;*C|-FbcBYRAtP*lxp7`na^5Ttr5XJ_Hs)|zoZclELg-2BVuJ6 z`&^Gvt$|xZj`}{9nzIKC^R|#fw2y-Wnzq(u820Us!c^Krd??#gGnUGqZ9s^3M8bu5 zd_+@AXnNMR2<=X3mhl+vU6F9HLZ7OB)tYZ<$(12J-aMdoJ+0e!OG}Z($Za*9y+>L} zlX_pDp1?-0!Fwa&qE3DTZNpYm%^u*YNVqwe4`?BRbzh{+6Rsxk7JQUmJbR>7(>gVC zmTKKEr4NE9|9}+h>9B=wA0CuacEaNJ;UOu_A{@^?JS=4&2&&LNJR)Tu2vM{TtEE}S z?Zcx|`ao1U_Te!p```dE`|!B56g~T}Mp{XI`|yO6eP9}qZy%nNvJV7E_Tech`#>mp z_F*I>T#r8*iW`-lcBT}S4zmJW7atWx)Mp}Pb{|b(6Wfh`5$4&DeW(eCYDAppLiVAS z#W>p{0zDtnL@=OE)l}0W+6&Iat5V)~r}12iCIiQA;N29q^~I3AAP-ce@}-b=qW};h zc{y@znZqX&s0FoA+^Ah8S2{1c^h)F!S>o6d!U8(4#aErGMdquKG7l%6fNl8_z$1W& zk82~J{-baBxd6tQ8Fk{(sMjJJ>&#d_F|S9;tP}F!q_`u>IcCcy$KQ@raFm7BEUY%I zi{d`IvQFeguox|@os355QZm`9|hy5yWh%L>|x!DHRZ>VineLG<>~2q>x1#JplWgG z{zk@1UQ{kU*Qa5@jufL{ia zSs?_dXT^UNOnnQB3#)V=1!H9q1ZS5eqvO}%=-|rF5PlP>;JoMp^8e6zoSyvKV1g9d zK#R}Zgt5xUf*GKE0D<`5RqUGxtGK@pQ@J3)KLj)6`NaFimoeavkptQITzreZju>_> zsaZ1@V|HcsTYriiP%<|T5Onmpng1NAFOfOr9wYDz{3Wt)i30R=UKje~$o?#+zuwW* zF}E|;73=BfqV4;|36BSOiL+l&VNSK63Fl(EB3s-A!>$O$G<|(dD+etalmu|H#iGyj7R*$ zP8l*Mn1V5DFr!Y?jDJT?VGOAjc3}_rzsSi|#?R|B|A{QDDtwV%c6Lp?s#T0v-*alJ zyYC^d=bc+~QdP;vbK``5eO?XkPelz2tGCi{64z1DAT6um>&w+rQPG5*UuA63)?82% zZYc&Hf4A^_de;hESX209-dqNcZCYNlBjdAwIL>jyE~?q?EEu$y*`G@zaA>u&XCz-- z^O>{QlV~rg*+I1iGYLFvI?gV{bD1SL)izYKy>Q*gI+rgUm)+DT`(=gM`Q^)Nw)IfZ z9;(6CHr+&-q#W|ucda)S=dCv`(FQwhD03=+o~~CPYi{mp>Fy30pkkWGa9Z1rZ)uJ< zp3u|MT@x;J>|-&MO(Zr(GK$*f^=uk$dC;e1K0rPr3)0xp(f(P9O?j*}-924x^JZ-p zE{^Coh>I!K)fGEob6GJllr3aYdggbww`{qq|GYl70!j~gj-J@k)e&!O+p5IP=B;-x zR6!Am$yvB37* zoCUvGG*~;#4DlGV9y|c8Em_Ye9y_*#M~IPI%8y6y)D#{D2f_F&F}~O=1v0sT5wx=$ ziZdnNMGmE58lz=b2^9ZTA-hS)h)^8H>@Er8aOO*rFb-?>XbmsyRy^U;cF3uf#c}A_ zQ$ke!G6wmxO9@-YmohmVIOiBiD_;Sm?{gND?+1uSa7< z?JJ>=j9c6g?kC$ef8lullO)?l7MfmGf`uz{kdx;%_kfeD5AKWQz&YX3^VTqF{qi7* zF6DFc;JM*Ral?!Re`;hf2B(v zm+P!g>*2>%3)3U>hG~p;;PZ>Xa5~jD~5gvKXyXr_7SZXqa}4tT*Pn z|vobz5DPGPS^Ji<3}&asDtBv^Nj zby*0*&RI!G1@VX3Hd{+;l7mjmQZ0c63nSB!v+>AjtxpoKaEQfg#VUW_3QcOT&_Hrv z5feTh4oEW28}?bJ&?N~I2I^BKf&pF|7fD(oM^$MHk0Z*I1iys1mjj#*^Wq#wkT~*_ zk>C+?q>q_$XoDd;K>#6H2|}6-D{WY@%;0GfuCfC{lLH``5>{D2VjDv(36&PGny|CW zmM{Z(P-&bshEJ8NPBU4wYq7*sK%k9b#cXU8?#k^*30Mpidwj!+{jG(sW)|A@cf^87zC=x!8KpQ&{X`QP`MBO*86x09=f3)QY$_7&9-0aq}tzTZ%!9Y8$C*6e zi`R{Jz^1foZ z(Xo2cv-AcsXB04l1uq!c_uQKKRMUxr>QuRc#FJw z@TU>C%Bx|Ip4KdSjMQ!NhPg-2-Y#!Xh1ds;vv(*GQ3tMdJxlMDA1`{AHX6ynyX1|g zJ84@fFFbF8b+-y`3ZJVcnydll)Zfe6PZl-8;$Hk(7q z_=PLZLGLG&DW#9T@k96g2!|ErCzPKo_hz?JXF8t>S(qI;9SK>ON#p5|51$u?u4h8N zy+D9)BLB~pdoj=iJVdblxpFTCnxH5xnm-?sfoy{OLb;cKO;9l_%q-`NASscsLxs!Xk<8#~9C)|OMG z5>MQCE!YdOL{iyu%IgY$vEzhiZF!xG$vj4xk^FYBw(%0)OUKvwFJg?xP21Mv^f16T Pl+E~&QZ2a|JK_2N1+`^6 literal 0 HcmV?d00001 diff --git a/subgraph-build/AjnaToken/abis/AjnaToken.json b/subgraph-build/AjnaToken/abis/AjnaToken.json new file mode 100644 index 0000000..1390522 --- /dev/null +++ b/subgraph-build/AjnaToken/abis/AjnaToken.json @@ -0,0 +1,674 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "tokenReceiver_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burnFrom", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoints", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "pos", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct ERC20Votes.Checkpoint", + "components": [ + { + "name": "fromBlock", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "votes", + "type": "uint224", + "internalType": "uint224" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "subtractedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "delegate", + "inputs": [ + { + "name": "delegatee", + "type": "address", + "internalType": "address" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "delegateBySig", + "inputs": [ + { + "name": "delegatee", + "type": "address", + "internalType": "address" + }, + { + "name": "nonce", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "delegates", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPastTotalSupply", + "inputs": [ + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPastVotes", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "blockNumber", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVotes", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "increaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "addedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "numCheckpoints", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint32", + "internalType": "uint32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFromWithPermit", + "inputs": [ + { + "name": "from_", + "type": "address", + "internalType": "address" + }, + { + "name": "to_", + "type": "address", + "internalType": "address" + }, + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "value_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "deadline_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "v_", + "type": "uint8", + "internalType": "uint8" + }, + { + "name": "r_", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "s_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DelegateChanged", + "inputs": [ + { + "name": "delegator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "fromDelegate", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "toDelegate", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DelegateVotesChanged", + "inputs": [ + { + "name": "delegate", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "previousBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] \ No newline at end of file diff --git a/subgraph-build/BurnWrappedAjna/BurnWrappedAjna.wasm b/subgraph-build/BurnWrappedAjna/BurnWrappedAjna.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2b79f79f74830070e606414d77b47f94d978b5ae GIT binary patch literal 675236 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

wC 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 T{QkpNwQa=7QI_8Z4|4uLm_~BA literal 0 HcmV?d00001 diff --git a/subgraph-build/BurnWrappedAjna/abis/BurnWrappedAjna.json b/subgraph-build/BurnWrappedAjna/abis/BurnWrappedAjna.json new file mode 100644 index 0000000..2e86bed --- /dev/null +++ b/subgraph-build/BurnWrappedAjna/abis/BurnWrappedAjna.json @@ -0,0 +1,460 @@ +[ + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "wrappedToken", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "InvalidWrappedToken", + "type": "error" + }, + { + "inputs": [], + "name": "UnwrapNotAllowed", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "depositFor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "underlying", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "withdrawTo", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } +] \ No newline at end of file diff --git a/subgraph-build/ERC20Pool/abis/ERC20.json b/subgraph-build/ERC20Pool/abis/ERC20.json new file mode 100644 index 0000000..d83f596 --- /dev/null +++ b/subgraph-build/ERC20Pool/abis/ERC20.json @@ -0,0 +1,288 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "name_", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol_", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "subtractedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "increaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "addedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] \ No newline at end of file diff --git a/subgraph-build/ERC20Pool/abis/ERC20Pool.json b/subgraph-build/ERC20Pool/abis/ERC20Pool.json new file mode 100644 index 0000000..9f4f8a7 --- /dev/null +++ b/subgraph-build/ERC20Pool/abis/ERC20Pool.json @@ -0,0 +1,2472 @@ +[ + { + "type": "function", + "name": "addCollateral", + "inputs": [ + { + "name": "amountToAdd_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addQuoteToken", + "inputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "addedAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approveLPTransferors", + "inputs": [ + { + "name": "transferors_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approvedTransferors", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "auctionInfo", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + }, + { + "name": "bondFactor_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondSize_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "kickTime_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referencePrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "neutralPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCollateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "head_", + "type": "address", + "internalType": "address" + }, + { + "name": "next_", + "type": "address", + "internalType": "address" + }, + { + "name": "prev_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowerInfo", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketCollateralDust", + "inputs": [ + { + "name": "bucketIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "bucketExchangeRate", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "exchangeRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketInfo", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketTake", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "depositTake_", + "type": "bool", + "internalType": "bool" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burnInfo", + "inputs": [ + { + "name": "burnEventEpoch_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "collateralAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "collateralScale", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "currentBurnEpoch", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "debtInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "amounts_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "depositIndex", + "inputs": [ + { + "name": "debt_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositScale", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositSize", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositUpToIndex", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositUtilization", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "drawDebt", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "amountToBorrow_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "limitIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateralToPledge_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "emasInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashFee", + "inputs": [ + { + "name": "token_", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiver_", + "type": "address", + "internalType": "contract IERC3156FlashBorrower" + }, + { + "name": "token_", + "type": "address", + "internalType": "address" + }, + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data_", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "increaseLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "amounts_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "inflatorInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "interestRateInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "kick", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + }, + { + "name": "npLimitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kickReserveAuction", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kickerInfo", + "inputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lenderInfo", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lender_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "lpBalance_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "depositTime_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lenderKick", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "npLimitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "loanInfo", + "inputs": [ + { + "name": "loanId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "loansInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lpAllowance", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "owner_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "allowance_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFlashLoan", + "inputs": [ + { + "name": "token_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxLoan_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "moveQuoteToken", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fromIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "fromBucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toBucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "movedAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "multicall", + "inputs": [ + { + "name": "data", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "results", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "pledgedCollateral", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolType", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "quoteTokenAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "quoteTokenScale", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "removeCollateral", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "removedAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "redeemedLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeQuoteToken", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "removedAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "redeemedLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayDebt", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxQuoteTokenAmountToRepay_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateralAmountToPull_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateralReceiver_", + "type": "address", + "internalType": "address" + }, + { + "name": "limitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "amountRepaid_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "reservesInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "revokeLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokeLPTransferors", + "inputs": [ + { + "name": "transferors_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "settle", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxDepth_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "collateralSettled_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "isBorrowerSettled_", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stampLoan", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "take", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "callee_", + "type": "address", + "internalType": "address" + }, + { + "name": "data_", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "collateralTaken_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "takeReserves", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "totalAuctionsInPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalT0Debt", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalT0DebtInAuction", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferLP", + "inputs": [ + { + "name": "owner_", + "type": "address", + "internalType": "address" + }, + { + "name": "newOwner_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateInterest", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawBonds", + "inputs": [ + { + "name": "recipient_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "withdrawnAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddCollateral", + "inputs": [ + { + "name": "actor", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwarded", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AddQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwarded", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApproveLPTransferors", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "transferors", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuctionNFTSettle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lp", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuctionSettle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BondWithdrawn", + "inputs": [ + { + "name": "kicker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "reciever", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketBankruptcy", + "inputs": [ + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "lpForfeited", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketTake", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondChange", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "isReward", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketTakeLPAwarded", + "inputs": [ + { + "name": "taker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "kicker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAwardedTaker", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwardedKicker", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DecreaseLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DrawDebt", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountBorrowed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateralPledged", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Flashloan", + "inputs": [ + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IncreaseLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InterestUpdateFailure", + "inputs": [], + "anonymous": false + }, + { + "type": "event", + "name": "Kick", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bond", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "KickReserveAuction", + "inputs": [ + { + "name": "claimableReservesRemaining", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "auctionPrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBurnEpoch", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LoanStamped", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MoveQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "to", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemedFrom", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwardedTo", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveCollateral", + "inputs": [ + { + "name": "claimer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RepayDebt", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "quoteRepaid", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateralPulled", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveAuction", + "inputs": [ + { + "name": "claimableReservesRemaining", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "auctionPrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBurnEpoch", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResetInterestRate", + "inputs": [ + { + "name": "oldRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RevokeLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RevokeLPTransferors", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "transferors", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Settle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "settledDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Take", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondChange", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "isReward", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferLP", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "lp", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UpdateInterestRate", + "inputs": [ + { + "name": "oldRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddAboveAuctionPrice", + "inputs": [] + }, + { + "type": "error", + "name": "AddAboveAuctionPrice", + "inputs": [] + }, + { + "type": "error", + "name": "AlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "AmountLTMinDebt", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionActive", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionActive", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotClearable", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotCleared", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotCleared", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotTakeable", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionPriceGtBucketPrice", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerNotSender", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerOk", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerUnderCollateralized", + "inputs": [] + }, + { + "type": "error", + "name": "BucketBankruptcyBlock", + "inputs": [] + }, + { + "type": "error", + "name": "BucketIndexOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "CannotMergeToHigherPrice", + "inputs": [] + }, + { + "type": "error", + "name": "DustAmountNotExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanCallbackFailed", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanIncorrectBalance", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanUnavailableForToken", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientCollateral", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLP", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAllowancesInput", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndex", + "inputs": [] + }, + { + "type": "error", + "name": "LUPBelowHTP", + "inputs": [] + }, + { + "type": "error", + "name": "LimitIndexExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "MoveToSameIndex", + "inputs": [] + }, + { + "type": "error", + "name": "NoAllowance", + "inputs": [] + }, + { + "type": "error", + "name": "NoAuction", + "inputs": [] + }, + { + "type": "error", + "name": "NoClaim", + "inputs": [] + }, + { + "type": "error", + "name": "NoDebt", + "inputs": [] + }, + { + "type": "error", + "name": "NoReserves", + "inputs": [] + }, + { + "type": "error", + "name": "NoReservesAuction", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__DivInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__DivOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__Exp2InputTooBig", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntUnderflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__LogInputTooSmall", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__SqrtNegativeInput", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__SqrtOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivFixedPointOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "denominator", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PriceBelowLUP", + "inputs": [] + }, + { + "type": "error", + "name": "RemoveDepositLockedByAuctionDebt", + "inputs": [] + }, + { + "type": "error", + "name": "RemoveDepositLockedByAuctionDebt", + "inputs": [] + }, + { + "type": "error", + "name": "ReserveAuctionTooSoon", + "inputs": [] + }, + { + "type": "error", + "name": "TransactionExpired", + "inputs": [] + }, + { + "type": "error", + "name": "TransactionExpired", + "inputs": [] + }, + { + "type": "error", + "name": "TransferToSameOwner", + "inputs": [] + }, + { + "type": "error", + "name": "TransferorNotApproved", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroDebtToCollateral", + "inputs": [] + } +] \ No newline at end of file diff --git a/subgraph-build/ERC20Pool/abis/ERC721.json b/subgraph-build/ERC20Pool/abis/ERC721.json new file mode 100644 index 0000000..3cd8163 --- /dev/null +++ b/subgraph-build/ERC20Pool/abis/ERC721.json @@ -0,0 +1,348 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "name_", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol_", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenURI", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] \ No newline at end of file diff --git a/subgraph-build/ERC20Pool/abis/PoolInfoUtils.json b/subgraph-build/ERC20Pool/abis/PoolInfoUtils.json new file mode 100644 index 0000000..81ec4bb --- /dev/null +++ b/subgraph-build/ERC20Pool/abis/PoolInfoUtils.json @@ -0,0 +1,789 @@ +[ + { + "type": "function", + "name": "auctionInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + }, + { + "name": "bondFactor_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondSize_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "kickTime_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referencePrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "neutralPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCollateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "head_", + "type": "address", + "internalType": "address" + }, + { + "name": "next_", + "type": "address", + "internalType": "address" + }, + { + "name": "prev_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "auctionStatus", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "kickTime_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCover_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "isCollateralized_", + "type": "bool", + "internalType": "bool" + }, + { + "name": "price_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "neutralPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referencePrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCollateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondFactor_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "availableQuoteTokenAmount", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowFeeRate", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowerInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "debt_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t0Np_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "thresholdPrice_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "price_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "quoteTokens_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "scale_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "exchangeRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositFeeRate", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hpb", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hpbIndex", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "htp", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "htp_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "indexToPrice", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lenderInterestMargin", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "lenderInterestMargin_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lpToCollateral", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "lp_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "collateralAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lpToQuoteTokens", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "lp_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "quoteAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lup", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lupIndex", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "multicall", + "inputs": [ + { + "name": "data", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "results", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "poolLoansInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "poolSize_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "loansCount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxBorrower_", + "type": "address", + "internalType": "address" + }, + { + "name": "pendingInflator_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "pendingInterestFactor_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolPricesInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "hpb_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hpbIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "htp_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "htpIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lup_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lupIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolReservesInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "reserves_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "claimableReserves_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "claimableReservesRemaining_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "auctionPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeRemaining_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolUtilizationInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "poolMinDebtAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "poolCollateralization_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "poolActualUtilization_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "poolTargetUtilization_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "priceToIndex", + "inputs": [ + { + "name": "price_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "BucketIndexOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "BucketPriceOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__CeilOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__DivInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__DivOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__Exp2InputTooBig", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntUnderflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__LogInputTooSmall", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivFixedPointOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "denominator", + "type": "uint256", + "internalType": "uint256" + } + ] + } +] \ No newline at end of file diff --git a/subgraph-build/ERC20Pool/abis/PoolInfoUtilsMulticall.json b/subgraph-build/ERC20Pool/abis/PoolInfoUtilsMulticall.json new file mode 100644 index 0000000..edb9cf4 --- /dev/null +++ b/subgraph-build/ERC20Pool/abis/PoolInfoUtilsMulticall.json @@ -0,0 +1,295 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "poolInfoUtils_", + "type": "address", + "internalType": "contract PoolInfoUtils" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "poolBalanceDetails", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "quoteTokenAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "collateralTokenAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "isNFT_", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [ + { + "name": "poolBalanceDetails_", + "type": "tuple", + "internalType": "struct PoolInfoUtilsMulticall.PoolBalanceDetails", + "components": [ + { + "name": "debt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "accruedDebt", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtInAuction", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t0Debt2ToCollateral", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "depositUpToIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "quoteTokenBalance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateralTokenBalance", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolDetailsMulticall", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "poolLoansInfo_", + "type": "tuple", + "internalType": "struct PoolInfoUtilsMulticall.PoolLoansInfo", + "components": [ + { + "name": "poolSize", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "loansCount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxBorrower", + "type": "address", + "internalType": "address" + }, + { + "name": "pendingInflator", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "pendingInterestFactor", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "poolPriceInfo_", + "type": "tuple", + "internalType": "struct PoolInfoUtilsMulticall.PoolPriceInfo", + "components": [ + { + "name": "hpb", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hpbIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "htp", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "htpIndex", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lupIndex", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "poolRatesAndFees_", + "type": "tuple", + "internalType": "struct PoolInfoUtilsMulticall.PoolRatesAndFees", + "components": [ + { + "name": "lenderInterestMargin", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "borrowFeeRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "depositFeeRate", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "poolReservesInfo_", + "type": "tuple", + "internalType": "struct PoolInfoUtilsMulticall.PoolReservesInfo", + "components": [ + { + "name": "reserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "claimableReserves", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "claimableReservesRemaining", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "auctionPrice", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeRemaining", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "name": "poolUtilizationInfo_", + "type": "tuple", + "internalType": "struct PoolInfoUtilsMulticall.PoolUtilizationInfo", + "components": [ + { + "name": "poolMinDebtAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "poolCollateralization", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "poolActualUtilization", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "poolTargetUtilization", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolInfoUtils", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract PoolInfoUtils" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolRatesAndFeesMulticall", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "lenderInterestMargin", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "borrowFeeRate", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "depositFeeRate", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + } +] \ No newline at end of file diff --git a/subgraph-build/ERC20PoolFactory/ERC20PoolFactory.wasm b/subgraph-build/ERC20PoolFactory/ERC20PoolFactory.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c445d6f0e04d4d36a80639718206e89df8427e91 GIT binary patch literal 705472 zcmeEv34mQivG!T+%-mUSauyH7E)qXxw*R!oCxbO$CWN0&3hhkpHXdrRtn}CYh}2`(I$X&+V?R(@Rx# zb#-;0psRmL7z9DMIvjIScvg7UNzqvp#%K8`prn8@&patWRsmTA5+X4``k5{*pi=Y; zpl6)aKwtoA+rXH1^5Ul26)EL(Ci z07snMykqry(AQev2rEj5j+C}UAp zZ(7pbL;dC|L0L3}ssb)+xGH5j+vR9{weBTVg>RTH)cdX=R6V)VAU(+g?r^u+3T5i) zk~6Q{AzOV*a?-#Shp%^@Bsy#-ch_e1Npi`;B01?%;I5MvSLfGepVB>FQKMslzU~F5 zWb@psmr_4?Lfy_2DiL?rg6iA47B8y?k?N?OvmIp^BZoK#ft=RWUw!?-K@guEzZMlB zt>Q3@A+;KVLf9CLh~pShh<~kN+#HN-3*sQeZxo;)i13>dqC%lCs)>HL;RiDC4?olY z8Vh)V{l_px{t<@s-Xi}1Rziz^jo@tj-%z3-CXMo_D)Nu=TJSFjhcyi^Qepfnm>M+T zpQ)-UL&d9d6~eQ%JoPz_osXrrJ+!7vJjQ&6U01O+207)8No z3bvzQdkS`-UT${?iB1n!JZUMpkOZw zUPr;+6zoI6L<%NRurCGsQ81Z;{V6zrf&(ddJq1%JIEaFSDR=_~hfwfF3J#^q#iO^H!#g;yqm*&IJ}p``#8Lx!v{Egki&;Ke3-*WIDC}DH5@+1;o}^B zhr=g0e3HYbIDCQW;};yh$l*&IKFeeE9EU&P@Oci`a`;0If5hRBIs6HSKjrXe9R8fc z7dZR{hc9yY5{EBy_)89d#o@0xT*u*WIQ%V#zvJ-t9R7jBKXUjd4*$&IUpV|LhkxVn z6%JqJ@b4VH#^C^y-`O0V!{NCcp2y+&9A3cTg&bbQ;l&(Y!r`SHUdG|&9A3fUl^ibT z@G1_k=J0(SUc=%0IlPv`>p1)XhacqdE~fjtIlPC%dpW$1!}~dWfWv2)=bz*7c@Dwc zmd%-ie#D8wTf$5~R`va*H80`Y`nW`A=hvkdMMswd)*VNs(bFJGp1WLl_&dnLaNYg zQgThkUfbzHM?ncR>92FG;TPLM*gJ(~`f1gk+VNd|T}$G9CTJ}5Jnz`9rPF(AeW#nE zf_UOy8vs?6n>5D4&R){hSHtR{*4H(+b~x1Scwg69suuh0WWinAPw4CF=|>5yFXG9g zGnvyC_s(4u@9&1fm0|1$>~4Yot*>h-8biORMcKw2=z7V*@c_Mkhjd|S`;=@QOkW@5 z+M=3%up4+O{f2C5ZhCykc>6k6N!9HN;Ty*d4kqt7bhiwYX|cldrd@L(1jS+dmQkDp|C%7vpu+c^)o)s}nyS$L#I}JzceBebsn&U9Ap3Wm(Un z8P%?NXwV6cG`Zy5xz+yuqpPPMU+r7c-A}dwQ}+{HcNr*RYLoFc#}|}wM0a1+F#Nyi zkj8BxZpWwp7zOR90V&aETag}V7XA6SZ9q+jSs+_1u8 zT}YGh5+|~$ZDw}q(PLv9`fuH}Q(X0W-Fwtb<@#f3iyhZvdKbi}I@~M{X6*m^DREy) zpb${M13J97e@SnD(sO!Ta|~~jNO_|4Wo~>``ZQYf$EUgGshq=myL;kyxvorQELqZB z0~f{b&OvDAr_-J2P~|u$slkGG^0HbrevhN66bS57J#(w^f9GT#+dHp1vuA#9e1;R1 zsw6RWwU4vkn^X3Lcbn-WJ~O95eyroOoIp^ReeQ`%AseglK$z*?WwlfIy=R9`F)*bK zHJlSV@t{&?9uc1#rdz?#Gmq$8+_hjj44?6Np<@kIjuo%|`25f*4VnW|H7=2c zDZVgFkL}^TZuBn7)Brh4yXMxW!7N1-6JK0cvZue=(+}3Xq^_jRvGuz&?672Ps&d4# zr4YpEytnn%s?*5^Nn?CjrX!D7*4M>a+vS;#G$eIJm>#+eIbE5lEoajd8ZXbwp_;^3 zWoqE7c6I1@)HJ|l9Mj!ji{DpQ5z`>s_-n#6M|M`L@%uAlVDlN*VVY4~#<9@Iy5kRLTIq6U z!$QBf8eg9&jKQq&peV`n z$xO3PAggt)Ysu31QyHQ-p?hh3Q)cwlbij0bbLfPq$jh?$*38R&j-}$;GM(h}G05>}!?bwUnMO+X$DbSQ1y+o%%n;Dq%$AUS{pWo{ zlfHLVyH2Z`as7fPN}GIqUvKaHS@Vt76@SsoMVoy>*Mj&Y?0oEm5-_;^@^hS^KvF!)3`;;7lPjzj+~ zs}h0HS}Fc|xJzB)IBZTG0^aWH#x}?&^8m0Xfjp26nZ=g-3 zPlY?xXW-Smx(p86wLWvnvi{nU4&bIdytJ+M&K(CW8QdK1P@mb|4>}7z9S%Pn_@wvq?p?3ve%rC}y)3?vQt-Jp?ECK>hRW_&AOKZ~L z%i(tQIkdy}mAnkvX!~kj2JN?ft-fY>iP?7hdS0GcxCh?|cc`xd6K(L#ykfIXUWoNm z@U3ucwwR`x&xbo^vU$tZ;QdUvQ(mUUd~1I0alFAB+*bEqMohg~?dl0Wn_t+r^>cL% z;=(*gE5jC|9IN_$(@>}R#Z)urG~N{ZWGaJ5#%7FXHqiyDeSP4c+v^LMjLD(UMWJ5reR;Cwr5QO1OCh1H3g9Xf-W zYBR=<%oM1;dnwwfQwf?15`7PZ!xc2|{5}|#Rg&47 zy)%_&_GKRmhbcJhDF+`*rO;03!{G=8Q$2NA*W&)*kyKTBdTY}uJ$N)MDcHreU`;Av zK`nSJm9V%PJf2EePz}D5szFb6LGYyRYVDkGplbM}_f-3Og9B7IPr?#*X;)u0xG!u( ztzhJizs+sI6OZJ{YzD_jjyBn5cp=EJQiXp7Xj7$=v%@jfo&~j2f|=R$S@Y*(NQ38i zkO{jU%O_IrTx?M^Thv{(;0HW@RIIya?&4+hFfW}O)3}%4SvD{M8EKkTD33uDHD=O=$Xe=34Z4La6aabV_X%3pNFo3{jetl zFNCf}Rp_6m2fyI4W>md>)4S%L61?bB`Us@I8ocCDEW|oGxGbLT8d0qsdgkKpllPsv z0A}V>miG15dgt~o-j{z(to84U@n6#0gJ|($W7O*3mlo+PW)BN4_r2j6>?&V9m;>R} z@+&`}{M*XOUn!`W2kalra&4;ho`|38bT+1*->Tmt9+hGHS3D|W`TISA;+Lz= zs~%(t95MdxD`)xtZcnqG_g@PgO@r_M)>%tL}HB+#Ixhv$WgFz={V2hB?)$ZWVwlD2leG7oj`;3j3YY(f?@hzDuo8_ zS=Yx#)a*;b8+9=PiHs(22Z9MGm}tcbXLy1OCXP|?C-(HK5>LAkFu06o)_$&zPK@0Z z?&MujSkFBgtTrh*;)u6SpFKMccg@M{ocZ?YN6eY_?u!?Oqizj^2d8cOvB_;b$8Ii8oIIza`Q8p1Q z@{#Q5Ksdl|+y`5JFgw$5k{ec``)HIIIm%-q{8%(P^J+M!fzbau+Yqk?&#TX|0`Ii? zml#!bMb7I_fQ70W+z{ z+AZB&&M_txQ}f`Gs67Y73mTSH!KK-5F?fu`xh%Ktrb{l5I&!dc-Dh{dr#jC-U6G5y zki?a_t>-*b_^RACrl{t9xj2~O4UTIDucm@}f9{)7^mT2N5mly-#4xh)Z8m$5mhGHE6&T+ zROYgbs(e+P?F+3)Uma)Pv~*ejDe#HQydV9CHCONj#YW~eN_~D`JTg;iY46hDi;A~x zTdd0ar6~Irt7w0@uAlqane{7m-NMTCSL@!etj84iT0J6O5L^>y-`r2z3)SHLb=~N+ z@vrB+8~W#Ub^XW6`UmQg=PyS0{ZEt~K(B(YQbcYnm8;ZT&M8dfr(pXWD>uPovWQAK zYrM=qQixWAJvG|s$KoyvKt&b6tp$%LPLi^c-!;xtpA@f&J+_~*JQ`)esQq~4#_&|XWbuFa%kyfIICkT4t^U) zcJ&9()WJ~kG|U5a2mzVHbv_LQCMGQKZ&#}( z4M7+Tgc1W9fKbpWnm~&I4L}$eV22n69U5O*ok)y>w#`Q7{ha$Y8Pg!_69Q7CLSlWI*!nkSA=uD=LX zFI!~%ejD);qi@|FuD49)EvC%my*Biklga7RPJinKCj0_CXYU~)wwo9aN9zUms4e(O zlQ)EX?y@Dzpmt!(8v=_bjz^;P7NS?w7wXz`LoWiaF#1QM^@0+52f8}iAOV3KK@f9m zZvDAt{YAL)nId1u$UBeCVJ?kG{Ek3>%wRxf;AG13{G3MYm z3y3aj=lNtNk6!BX#*3osiq(3TcF*m{6qe4SQZ{R{X!ouVTeBWg3l7SlBAhWtmPoFE zF!94`5_hE}S1GNjqLxXu(wZu4^SeaRaK%CM&ikAt&ZA0NI}}+MJxAr>F=9^7Q8|bV zkXBh8rp3Lm_mbM6RaS?=XWpsk)0I^9M3O=Bcm|FKPTK6@?oz92hi`E&d(nUw(&R)q zT;AQ8JZ7NklHSvxI6sleqjG&V@19JaCg<-*a%`79{qG9J%t#4l#_Od$HBa}P&aLYW z#)~P@gR`1+dzi_g0-Q5h=-U@zx`XbO$)YkQYmR7!zK|LO=v^5AuAlUNa8f3pdXF^^ zw!C8lG!KCW=n~b<*PwS<4cd*x@Tk&H7=o&hf>^CqMhu~c;#sv&W)HpiZnZzaDH-V^ z%x!Y%eO|tZ8Y)FWNrqH!53|`+)@M%^3zigCy?uP1NXGS*(QlA4 zCr#WyH@QkN(UI_6Ujh9NTcArMOno~vv79WkND45%FBAONrq!{P@+S%qctQtf}w z?s@ei6g;j%4#Emqbktr`pZ6Y_hioW5Kt1LHoPEt+>0$9h;p{DhD%IM7@PsXeHa*I3 z*^+4O;O0>d?_n};Y{0c@{cIJSn#bK)~16l8apG2<0C}>jQ?^N;ukbVB2hpJ}m z5$bDJwJxE)(eu4es84d+&@TxZ>lNDRDgpZ3fb80UTd40DzbXBj$XC)hh92!lK|6*X ztxDP(oqnrJlB40TLxqZH{y5*CpcwKk_+8}t)1(m8TXiY;BK}6BA?L*3g&vP}(fm;8 ztK)q%fA0yAMWz)1d$<>JqT#UxZkUX-tw}E zIa!{cwv%F-qh6P(fn%vQ0cWNfDZdq4jnJu%vDBN=tTjxaEpw?9%U;6;#xaQ2P)l{!%nJraQW;az+$8f4UgymGCFr7kY*=~kZX|owm^_XHk zRbk6~YNS%^mn!cWFjd~LU@D23Q1!ND!?&o;7C!t_lrGDxm`XCtsPK7qRMk@qDgDgc zN441}lSY+(3NFHq=L{fT{oQOLz5M%d&GwMhB}?IIu&+=EmxXV;W&I^mDb6|ZgwBJ5 zKSn~OoNA}yi4BCfKVE|a0Q8XNeeN%lrum*xSx^*mGiWB+^EYKvR`Ji<0)b0WBt%=3dE*$KUW~cK{!sS zKsaUk2!lmWg`LAqnmCNV8u=ur9bX=n928eKSRS^z1giBV?p1z(FP0R`{{J!3l~C&S zrGnUasa_F|_FzUeH|c+mq&Rh$Nxd!{<)Dp3GRdz+WtWWFnY4k}gPIDN;w zWStY+?wZ#Pzs9c9>AXbnzA&A51oiaQ;r5KgkcO`IUn0{SPc*jT?=Y?5WM9R~U>sa#6TrD#M<#F`0kUrF1X65~*5Q_0|-5hZ$ggyGi+X(_yBX#@G8q(@>LSS4ls! zq+t?i9D*Yak#P#2^*q-ODW?!|oTYHvdE*3y+tw^NQumZBz%C4%>0~CiKYlzM>3?Wm zP^rQXDiLcscM?OT5~$&evS9VcidC99F@Xcc!v)S<*87!o5=oM;rjyL^Vf9vjV&dz% zF`jY0p-!UHDGoko_suk@KPD`v$5T_@En&l)IX%^P1$!c1ic@bBo94_})NAL3l6J( zJZ^3agCuN?uM97YuZ>&oUtN4HY7QzvC7cokt+z*E<5}aL43ns{Fm>EhA^x8b;iA<= z$TZLR*&eh;8wQG64W3F^36fV{d+oLOXe5m7D@?6KNkEU&3saL7#bj+UX-{@3oucEIk!9>S$Ql5xhC*h>~(G8BU2E;n9Sg+OjCY z`xYhx181C?luzpjk7{p3Mp$VaI~DJl0kF_M;2o`%V0=)CD-CF5r7*lTXl=I*=T1@G zu+VoyB`}Y!gD3}g)UL!`wj1sm)qiIx?5R#}sD!P)n<_y$Y{yNtwu8c*Dj^2JbW$bQ ztQvne3ges_m!&ctF^_o#QK3DgsMubhsI5I78X;6@++Ox1&{3dvM4h>$@Dwh$9fTGb zO?e>-k3|I{kV+EL4~%A^yn8zm2rmc-{S%>X_yr=WfN~af6cP+rp~6uSh(PUagl|ez z20(cs_hDp4vl7*ht;y*CaUqXLiLgbL!j!0pCX%Ihm4@X55ZnN28QuKghJYbuFN6%5Q(Iy&$ zVmtd{WBk)-|5Ub5F}?rPWX!^L)Uy&V1W}>Mi`vn-w{;%d|i-~y`VxFcC!N>-JUk;xmtSP@k_BV+*`duX5xxFU=$hnp}GYjqC+!e$h7nwfyGi(=kbACg*4+mX?}T zZww4eRt-x&7bX)25y>b;q!|*L!oo@fiPk#2wLLcCl1W4wR-lHN97rf8W(WWxAMjv3 z1+;!E4huQsuRB1GKcoQhGcj@=*<^GWuyR2rSa2VWyJ@-|(HN+}8N#CAi~@!ovYR@~ za0UZ`qDb5#bu46&W<6r2N>tw4vt76o6JSzYmMW2AKa3Y25<#dUHX4r^J@U+U+ zY6U~$3i)MRBj_|qgN8=m1Al{WgqtWso&+~y>@a9FcEtKJ%8q*rsKQp%hxXY@`Vcg@ zAyCgoYjBXMTd~GlN#~5VQXjkZMxphiQEqQobqv_U;;DU~pY2kZ2 z(7)%l(|RDd=%$X4wA*CG<&85j(Z^WHQoX=J#8YhHRbo|O~{a^Q}q_XTV#YsU>qa8zMxG{}FI1}rg#wKNx-8XF36 z6b3D=s176R;hOQ|QYg(P1DI_(o+!DQ;ZY--j3-JiQZlM%Qt?2EO_YeHnnXNMVk0G@ zl_n7nl-NLtFEp977n&#uGjWLSF-bpRC}?S6(qd9t2nM8!{!9Wq(z2Mf-AW@dc4HFO zlI5eQcd+C?HQ8_B8^eH77q+7U)CuhkSm;5=xvkQ4>jh_Y1n)qphH)bnjvs;SsFtkU zY2oXk$s!YzH>0~^)WVL2eM7t^h9-^Cu0-#^Ueh+;+8a%ihlIifp@xvQhIEYFC7IMU~>) z>e|(kZCC64_%6~}Xi|s;DDXwJB1h*z1;HplAYud{Luj1`Bg@1fFza4)Q^XyDulbw` z$qNLq<o0crR zVzNC!z0^U75rr-dU52$9HOt5mekllPVgLgH6vTwq%iLole2;}4aZ;>7+Z%IQpIw{b zkzUxqIY^}U#x}9pC1Tx1KqVMSP@J*>Ie70fGuAa?gB6Zkg-7}dN2o!WDqNNdm$|}? zoZ~BO5?frNt?)2Z7{!5O0~LlI?|OYmRLT81%2zYSd&f{Ui&D)ZSF?$8d^JsCt4p-i z9FA(DIL2oE)r6z~38$!uIjD{{^62INvoysNAZW`JhGD1|9rrtK`UmyS25RXf&qmgA z16ZBBvRF3&osnLxkCQ?kK@#&6hQ%aA11yVBbP|#rVQtZ|MqF0n@)SsK5*;&<5++Tj zf?AtS#l8X9hn|ocPcLDCXeY#u2*c10ct}4x9bmC+s!8(zih)Ng*X&0``TN)A(fuv;kS6WU)fk+WMygj4>6vLNY2>^4Wn^v^wIM z3iBQYXdxQ0-7yK0D$y~}mC$ND(SA!{^|WL^nnm#o14>Pxm$3rpv7us6d@Y_R3626D z4+Z=Y>`ZtASFwB$o+mksR4SmiN6CArR06w*=@ils@yE3&AB3l5<-pgd?n%@h#uyP( zNsy(f3s=$*DOVCGQ76>86IibvmHd=+0rWog6s+07jE)G#U#b)tjlzzA75`RLJit(p zPLJ;b8qGiOnt$Ll|G;bh_+FmV{E_H2e>^+QKS-__MJ&l8t$Z+kB@>gqp>vr|Ks71p zYSUCyEn0;3qQ=}wpf{+tAy*&fGNwT2IfYb98d5EZd`lwRlE}3r@-2y6OCsNrNLqqK z-x55#mVo)G->D&C`QS>-?Px$dSUFmVaVBei>nl;%umLL|jE_M(`ox&?$rRZh4Q)xB zu>uy77MKQt#98mLdJKTdS_VK|pqR8xFexW(TtqFAQ5RPPq(KbA5lKD#BAY#;Ho~K9 z^cA+cgC4zE4zE^wSV2;O)g97_@foXom{bHGlyzpth%FD+&dOF+F)L^bENVrlK-pF; z%(db*0Rq}~>o;j$Fm@HaF}zuZ8tz!IM$A@dD4f~~jn2mFcu!?uSh8l<oi}YiL%Q2paqbDRK0;4J zdQ44VWhDxz1l%@k-h!7$FPadQlkl_-s=fPhB=I2uWBC?z#58}=B-WRNl>!7zVHP2P z?20iNRU!m$ftbZKMcZmnffiCRnpOz31W5~y0CWKMhm=BP2pWr;4)7pF1-uXRRan%9 zMM_L-4?=^87ime*I=yuu-ypB|itBdP+A!M>eS@t56FbuxS>hlEFpQwS8JXQJj4I_* zF6Ch1ZAk^|%R>3kc0)U4p^wu$!6<;8n>T56pk{>)+zpd~7|UThXMB!E3T8Xc6&dav z6u`@v&*!xIA0==LUx#=u;KXy^83iYo0e3QUN`w--PwXd_rhGkeDBh@OYY(fj%=y9~R< zeoU;3$Bzf!*Y^X?>-k1dZJDTcI9AQz63E|*Lu~CUeteREyhkP`@p{>KTwoZX89md{ z1P!YbUC~%+IvR~{^!_CDo|a0HD5;~xG@j%}0hSd?5}yT=2Lz27w-zvs)NBPiwj7wW zqiRm37wQ~a;J?x&{wok*V1RB_Ap189KpIZsnI>pB9q@&ji7tS(tJ1*z8|(ew2)-0Zppu4zVlxGj z5<`VxDkHTEIyLAU4AbIY;#diF;g+bXxCxOY5=}g18fD{ku@M_iDCjl|$&^G^in!9q zJ{*-MN1%~AKT$_ky#M-!sb5avJuIC zYI2P02n~!%ibwJ2v6ZNXrjYFHXao_&7*-~V$WZf47W?c}P>ILFG8rCCDWrLfC7&eH zZ&RD1NG!j(9Z8m8;I}~P7k*I-qe|1l1VXpcvLZjpq~; zE`t8iNja0rh57V9TG2neyn^?LdvgC3?g@?L8=5&!aU=o?ElVZ}!d-#eH38U>U-yzqv4xaqD9Mh20z0!@~MCPy<(K0YQYoYioqX|bMh2UD+y zxVj-lPI^39(Y8J>!tv=HXQahGl08rb%E1%8aLp1|S7f z6qr>8hV+9pOtZiYj9@&?bucXgv&z7*hLL(#tH79^C&Ep?s!f5|o!PcD5PtEzGJY6! zRY~AcwHRGh8U!56j5rx4;A;)|utC7f1U_8A(I~<`JP$l6j31G#*dFVX@gtL`cAOLj z<427f*-@BQxd=j}Fb!^@uMIyJzkjv%7q1LE6Db2X-}6G_naDqbrdLT9fE5m)qlv+a z*nw-9Ho(c1CX4b6j+@S~5FSw@B@j5jrqY-Lj?G+}((_*Z0sm^o194a!HwxP7t_z`= z*$6Ywv;hVj1p689Ex&%;i1HgyF07H_i9HP8n-KpY7kQ>U71oxrojO-%EOcoK@~=&0r1O^*LLH!Gu$}Z!zU|uWAQRt7vZLD z=V4I!f!$E~X~}jT3iJOs`Zbp3nPhtpo2+SPeA|0Sa5v-I!NUOGigw1ggNI7v8{=V< zwH=IajE8jicJwg7x2l8j?dYM>_;&KJ$+~fjZzm7w@Qw8_z_(@`;~VRt()f1vu*ve> z8Q;zx(&5|1!vNpf@r-X550%EZtA|Zi?7{eU^^gwVZXO2s2KHclyLqTIzKVxUR_)37 zDjw3|Yxgj~w|q~=*Y2T+@;W>OQ&or01PXDR9KZdz?G06p^YF>a3H;V^x(HLjcn?FZ zFjO_(Ls2V;atu}N?qQP^dojMJ9v%kxELH8{q0;#F^sveD*D=05J*2}o!NUNb zrK$-YDvfV151S0^&G`26kPhGLJPhzzs(PJ=O5@wx!zSwtzP&x9!?%xz0X|Dr`*^4{ zzKI?-S-TI{Z=#2E_$GN6;ImXU$wQ^_?dxHaH4_=%z8=!y+t0%QpQWn(JQPvYWDmhq zHQ8qZg`%n*#_eFJYJU%(teV7c-Cq}Bsye{KP%8{o9pIs;6(ng4RUPPIla>22z5_j^ zYsKq54Dea1dcB8ASw5NZ9qb_;zBhOn z;ImZq1`n0ScZi2g2KHxshj>Vb?~NV?_$*bu(L<&29qM6|bq3#|9@61^lZOF5OI2_3 zP-%RJdDvv_0bIYsJfy?-W)A~=ma5+Dp@^zh1s)_>dvRReXD1}3AXY1gRrl;k5UbM= zcW8(&6bRyuG{l_>V#OsDg1A#bU@2@Dzr0S71%qA+V--&;8rW~Kq7e|bI=9}Jzqr%R z({;95EO&>pz{MgBuclSl*bZJE)SZGTBs)QaiS*ho0uK&WPOaez$pqUiypBH8TQF)-QrXbKhYfDQU@&MzHplcUqx(_HVqkB05MrlDlJ6kB8=82DcG`w(}YjO<&JJ zyGX5(gQO9j4V_SZg&QF|WIAE1{zmX-e30f%H>UslOfS1Ic__C1*D$@9{mo+QZ^Ny< zzX_o;`2OaqVabg{J!J#ml10xM?1qitC-k@K9S zq)4P}k&x&O*hGP$fIW`raZ|<=26eXZVo!ps#JqW!wJxID?#s7%YhA$28)l<}yKP7v zMV4*XpLl=n+|iaar22w4Wl0-gsfv@7%Al*a7VM#{NN+7ftVY0o?v*r}9QiO_YWmLz z>`mK-6#{f}`}tz-`FKr$jmBh-hzJl79Wg~j`>%+wWi%85^z$+1J~zh#RT3OU8!)Wg z&{2Aw#lA=eDU2{~sAxknPa?f*l5OULLNa8ut=}JifGyH2{-3lg7+z}vK@z~11 zKEhGh;NtC2bblZAsQ6`~yy10mnO^5+0p2aABBb~=97*p|c756fQKMMKu8~*a>^?g{ zlzz72)!ktAJO*ISa4cYAIHq;N-*;m$XFL`#bq+2_R{njriU1op zG4Jf7I?A#f;56W|sEjf#!)uasQ!y>0bO7?)I}zJ50f=3h&@+G-mI*+N$^gLT8!(7f znE=G141kyc#H8%BGB`BS)i#YnIu?Tovq2+-zkE$OKF+!tgBM&Aa^R$DJEF@xv z#(oAYw5XgjL;H?dwVa^$ZK9~Qo*hfPJTYh)tvN(YR=?hHxq|E$I#q5gU8q^^z56#N`~_hgAVn_VaX_P zvzv4?9$ntm45}E(vuNQACT_QU6-k!BHr6wJ4F-H^;}-%> z|Is_Q^}bSSCl=y*pY}{wLX<&Rsre8$VctX`TFyC%4hCS?HOf=;i71cR^%OoVxYR%@7ph;rfe%w)a^ z#xmpDLsHDTm5??DCpclzG1k%Twm8>?Ue6%TdPW)|B(CXWn$_6nX$V4s)qLNPaEl*@ z{xGa>rwiJ>^@|xuKk5;V(51#I%TXJq2l5FB;CBX@NYjm3ZKS3ey3+=3Z>xgj&_QNs z^aiv^`a60ohMMLvw5&m|IY`r^N~)D34ktMRDL{3P*=dajkC)ms`c{qO!86YG8dZ zRE6QO=qIar8^kCQN5i895hU$Uq-ld=79yjx#)y{wTUG$X+NQvICVcy`@5&5lxx6tt zGsWqk2=c)PEm4DD#K3Bv9YLbo=;dQkZOznh35RDkcd}z^SUtEvMy&)dm*4KyN>932 z43fvDS@2_KG200A60tGhCGa)nmpB`P^R=FMYT9AL^PCI-(Wt1hf0t1hY}Ux!EMAngNqW{K3e zwU6%MuoyUiev}0 zOWt~BXMj!LfrU~j`lGXYn;mFmwYsM^|5R>$D!+&HWP`&IK|8iQSWBmf6nRAc7zH*$ zXzCf#`H4o$9^`N7yRA{WZ8T2x?b&V;Xud$VH4ffwM)TxOB+V0jiK8j$zBJkzrXfr-K?kIZPBwc|U_gvt>0nD{EY}_M>4|p}8sLRCUW-@7m zpRDAnwoTHoKoueCRIUZ&-@ipILv%b+gpacfJ(53nXKcGeG61{N{6^lO&y*VL#0Sk& zAnr)UB`8Y+C>Md9d#82#l~P;{Ct@1ggx2p1#f865JoWccTS zBZgp6bUO;>dWbYZDdC!|{D_&p9)L^3Ak!CV*k&D%MYdW(U>#4^g;NymZ00(?kn8TZ zwHFaAOuhJkIghWSv0h2B=e7h>Q;J4d3VL5BI?c~F5ZSBljB#_*EYrdoZV~ZVz7vu* zTgc=?3n}~}trihkmWDtuVvO=#LB^~ObO6b964Z28&ry)#h;W{n3|5du^mi0onL#DE z&oi1qg`lVw#-cZ8eAX$RcywMSX z5ctlJ0R0zW7~2D~Q?;Zx$TA0^fjRB17k`i-CCmmvk83TRJ6+thKx#vgLV*w$7Q;=3th zTSeFhp#cbo}SW@c*3Cuw<*gr`DvP8nHakqK*WsIXU+QCID3|EBvd_5q0>B zY5epikefcP3^I#&XR8VKl**}PtE~8W+I9z&9i}ktaE4XFu_&n=&d9D!9FE%2m=h^G zC2~gHg%VIoqb1aKtnsnrRbxvzTq)=p(GqMIRy(`Emz{fUW00wFEss$og$)YqddC#x;W} zPkLsA1b{53Z5ncC_VQo|lOpY*S}q{TRY>;1oRw(_6Pn`nsC)!K9G|mB1Q4Y|Vf)S# z0&ln!QX4K-hXTDQyG@h~u>a-^&$;5sv#Im}ZA+Oe-L&|`7PhFMu_?Qi={>et7jW&0 z?#?=9=51eyEVj*V7M)y?Z#mH_wxbeKoS@^lSz`!P0_N6V!wAZ_bURJ$pd-xLGU|n7 zGPgWKC63`ui!tX?!}$UdL_=%8Y>L5(0b*zKt8lv0CvVE%2Ghoj4VXvm9ax)WC57!d z&q|79RCq8eX(J{+7zTVNV&2u3QVS+4dK)QB3~mCVc|b89rpu*( z&zMX7bhG(-DFg%gvLed2F%+RmLVQhc-KKmwXr3y_a7^KuWHCWh&9+`v{@<(F8E9FveQRW%abTsaW<`E{wu4v@H!@?t?ZdB z|74~7HUPTyiC|Rv3eJbzhz<7}E6}?80PF;)Rc^3Sc3L+}H(qXF_9Mlg7NV)UjDj)^ zX=+7bTzPRXCm{8XRCyU7Wh<&;msqk4fQlcmKa5)jINndI^ySll$EouIq7?X`{4Rhv z_1%KN&Qig3z;+s^mYH=F67(I2sI)qw5^$y60To_5!0KADT{A2Zm|5J`JTen{MFRd-Dyk%%p)2A!Rx=(MJsfh@C+iFYyjW=#UTRHMAVdK)3b@vveI;OSDsGkmBl76 z#O1C8teojmVRuu4gWovSZ;0#BFKz5D#CmS1qHkW3=;giVq+wdH`QmgC1@@O=uG6tL z?1;NN?K0q(F`#e4E`x1Jq(zRsLPKlov;|O}q4ae+1-3p&v5_*MV8`EhB#~#M8eCjEjKP&I0gXoF%b2ou;i|@4D)57r zPJvk$8#HPQAhShhXa?R9R9&-qZ_%bqUJk7@b`jc5>TLEyg&QOeGKs0i+;+Y)-w|lA zvn88!*Ex)2>&~r|-m#YSa&)Qo`ugJWU>>_6jbOJa=Xk3zEi|+Qq+|FuHC0M%|=j9pvZoyWp%a*3?9A?U%2h za&Bk8fy(()4SZf2hv;ZKE7I<}O$kF{9gDy!)5s$7U~rAYaW#C`8ZR%5|S$TJb&w4rgIX9JiM45TkQTMX5 zx-<0%n7-mNSp#h3)6PmImcH^JU3D4YR#W-v zlJ$&G*fEgu)g`->R5x5&gz7@epiFW^U1v!k3ZZ+X(c#Ldi!IGrJ9Vw4lud5D7d?g% zNv^+_MmBM0?c@tX$qEATXYB_0($LT*ds*<>dr$1KRrq_8qc{8r$f;Ik4qPGHV52FWX}=#%4&#{o+fUVmizTFf{YNRmHp z_O)h41D^ce_4LcSr(+RuXC>=WJ?$hNp`jx%Jg#EtsjG#TgFpl)9QGA*qEO**z2OP_}aN=RX?$Y{Hv%t9$2b~5@7!FHJTV+SF^n>=OT;a;XQAAHI^WouKN zJ2hE%JCq3+cpfs>j7aZVHX_fZ)EI*f@I?WlqO^jNvI0d$;d1?);`HRk)rPsqil^qC zsQf+>Aa34Cm$}uJNv>b57&7Hmwt_%BL%O-iqQR^5gv3pL#GH_H(~>{2K~0X;)yD96 zW6|d3A=kAj53`6xo11Y2L_ExrwYOpm0~FY*Ed6Xx+~DzA5fIh~Jjds&_1baxY+~NA zQ*FF;R7b~7t!oeILoh1cS|67%5Gxug29=Sqx3~pbU`y&^BjF}37#4h zeZ>B7h9eH|Cp@mLBe;!D+~cNeUke=iFotSTRs^p)SrjL0&jXRdP%VUF`Ap$eBqMk; zn?rcL@;F3&Z!>tE9*|dGr4a~Trx8efl|~RJt1Mosr7@IK%VpZ9Bg4}MK3m~Fb#uSq zQgc6Woo(t^Qn-R~JdLymz?z!+iLA0ye*^A9i`0h}(UWux$xZ)`)dPDI8l;rE$eIu4 zn6YuN{M~m09X?Y}`F5bKr~7(fUOm-^1L?*# zQ&0EpK!-O<)VBlUWSy<2`*@&?`7lqT>H~t%Vk}-_Zc*`EI z`jDXDb>9*cyy{zm7=Me`eN0gBN`2J_1qHABrl8%T{(z(0CocP4ERAUilIs z@UF9X_wry4uk`QhG+x)guk!^QUil&+_3sxha3w3042@;|n;v@?}EcU2E}9 z^kDUPySx~~=rUiH;NwA|u#pDoP8t3F*Qc-_|v1+V&gAvB<` znEJlCj@m_<;F1PKq)wdp?->ea^-V*N=^BfAwbOI+>a0Iky4fjeB zSAqKkkfg)cOoQ$dzz1HG>KmhA;KPW{M?gyoa!~Ku|0{8N- zn|ePafDX5)Jr7F}h5KPC;&4AAfWW=R;(kN`9d2RLN2Q3u{iqaixYr0E)%zQ!-fIMq z2utkly-z0phnV|F(JS_XW(o^;rRRZ+*5N>Ny34e*Ct1>vIA~ zZ~cJ)@mtr~xBfuD+*_X)Q1{m7>!EPrjT5Rwj<=h)t`$IBNyiJf9}1xLJp7>p%3Bis zNP{O%NBfa0BEtH|0*DH%vK9ET08+DmqJhfSgh-Hy!qV5qAIXP9mpzj2ZsZVKpu5rX zAM&|@?Nc7vY;gI%&kdN%fXxjGu%yF?ro8dobs1lXH{$CMeglz>Xt1o{T{)mP5FMIBKPDPOvx0JNp_lA?$nlx&&wYbOtto zQM-ZIy#n0Zy-m$qQuXEW;5OQQ+vr;_(pSOfkJ;z9jSuCj^ES(e^4X#LP+mu)>&7KR z4_ju3VjFc?c3VQ)0!we|8ky9tgmXK678{B~bUS4e{Z{R=by2Ql(B^g7T(i#L_RC}C z_Kk6o_FL8Dc+de`Hlicx-dDQJPH$W@mltPbwyG;~`*(%zbFBO1C2Z)8%0f?~kb#^y z0h33v(T?42|MGf zk0OmhPYppltCT_<0lo=vK0td=CpZJdbiY~COo&weY%W|3$RUBe z2=HkRx^Rr{0!A4;k^>9u=}?YPzK{f57?eSUsT_jP6%ME{U0aB@v837fk)_QkGo&=K zynBt?(P;M?uGG2Ll)c!Hdp)3b+R>b4@4x2L7M8Q<@*;qc(+(nX+ChXi4{biCflO^` zeE>Jf>0PaeSS-ymZ7ttT?Ne+%luwOs6y(u}1+=r&x(QGPVD5!Sy z{TCX&N^u6V^d7C7EHRc*%{ZFS`ybho}ZlNd#)R6-{HB=mHvw$rGuT>a5X7zZ2m z-fL(&PBzwnm;HWOJ3s;c+5i=j{Wa7#E`OL>%lxJeY&2@mpAgm$xB}tjW~+)Z1CeZ~ zVS^ZxI3E>}4YkcX)4|^^Fapd_JCQj%X+(KW8m%k0jjpnp6Yn1XMDy+!!Y$_&nmRfL z#e09~Sx!ESZbGEEd2XTqh%d%0zt4Oz=1TZFKxuN#8hqLbzz8L9OiGAp|0#IaY^3;? zIo!Fztozq-g?YfZ!femo=Q<_beI#3)x6|f(!u-1woLN!LxXw3tRs+( z@q`(}ccM9w?3Zs_%MoVzja$_b=ApMl!*d;BrjnN&C=_~9hjWBs*Ix6%H#phxS9d5H z)6P!7J43C&uZnR39&aump3vSxiTkwU9+e5ve(f;*Oo$F_FHv-G`!I?QZ68k2kUi|| ze94*}>-(coM>=H{dz}({_jTW_#(b=oO#q?uypD2No-s%ydIRlAz9qZ3WFT>>f#=PR zY(H|7KV#zB$mEX|{}I6BCVmEi(pauE7|)wBswOTqFf}$-%IqcL$V{rICi+(PylH@k zjGO6kEh;dH6Ada?;mWyr-r})ch>NdT2WGw^KV9_c7*bqPxAg*w9RZyZkikJChazQ| zEmJppHI!$g$>L)JLn*)-tiK7hIOSvGTI_smq{Yg|1}#3jf3m5Gd?ye&QAN- z2rlJg)5<^oy2)an;IWJQjl%9+a0I(@ziCa@SnSRPCxxAO&126v z;uw;3jyQr{IpSad&oy;-jyNgomW{;`2aH3`P0k6&;e_8O21Xoll2weg0ifcDV+k(L zr&D?46q0u4kd!|Tvw-r)X<+shUmSzFT#1BzQ_eV!m{ZO;EEAM7P6M-V1OimfIA~VN z{U(^^h&kne!?=_KP6HD&;i`AQY3qnAC8r#49Id4sa2T(0z-gef&=`aniE_X}9V=c) zg08ktR>0Utw<1<#Ie`TTF^_V(iFm)Yy$+&Y2;Jj&H;x>yaa2+I1)=(fLh5aPB@hkOi=%c-cGsT&^63Twu&>3>Lcfj z!|&ir*~JB?!Yu~o8Hsbj0c+ZhQ7$;#mFzvew{My0@m%j|<%{Dw=3Ay?#33iuG0H0^ z;*ObUU*jqr*^Y^9$B0)BTh^&#Qa(AL1^2mEnsmfFM|F(z&f#}3@rZ|xA|B_VLmd+* z;+^BCS?8N$@u23kI)ZhCrdfNVH5q4Un&sDs!wy05H0#`TGB}Kagx4zPortGc=eQ%4 zSI#@dWIT&E=eol{JoL(Sr;x0?nAnbPKy}VL4A@NVOu6jrnG9TNc-=Ye$ZM6;PII#M z;!3jO62dwcSe@&R0E_#MZ@F{ckvb~pokDpY@HodE1_3k1iMZ_!J}m;_Wi3kNEF+s&L*r_GKHU3UTT2 zed8Q@GB`X{DEA&i70$JX3!tY8<7mbud4g?U+21V}(W~C6$6~i!uN`}6(~7RdSS>5% z3d`ACuGjuO#P)0PnLvElqk@(89fBam_sY{JDJHMu0q}l4TrZ|t@9X0_B~FyDPZB13vSm3$sunulP}oG>&DBu;KDdmb8@Ro%599Wq zucIOz1+sC$Z$3`6`%jb%Tn{6}^_5B!^N4o>lGZBMAGFrU2k-bJVA}D=@QHW&v9-ag zwX2V`)VumHU`|W5V19~FsG%;3&@VC_y6G{euu%flo+4JRJ#O4AGCNrZ_AqlQHO#4I%_?J=}xvg!sS^S#fIR6+X;H76@q;3mfvPU?HlApuw3LteId z&mjTRoGGlISzqh=m>;&8DgLoYOit`f>y9+vhEY6z20v~ z@M*sx%yJ*cEcb~DFw-pOy@v!`c@TLH_TEDRroD#>Jga->AqFZ^Ew%Gdk=I4uaY!&J z$06I^AEtyERLeL~?n0Fo#`L2U5PEJHFR_%nP(qfdLb(C$RPI8U1b9P;=9Ug#6r1gl zIORmtSiT@cIps!#a(GErm;0#_*)-#jGWSzgGv`jBwYi^30j19U%oSn3C+51J3m`T* z+@j{^0*K|nu<0cAUHxBBC0fe8sL2ZgZJKRt9=}k4QTg2f{DlMLDx;lRGk;OQQRTp{ z_+NBIxXMhqF9{&3j2q?A`!kZ41kf2>URHon`E*p^We1d3fnN%^s=zN@5vjnh1P~R# z{o!1JUkRYAz^@fxR6Y|G__YJ_6}Xk=iLvdZg0B;BR3NlHu+9~c3j9U@sRFnmmU`ef z0!Xy{TLl!A&mlVdtw3O)c>I5-pztZ}^7&!%JAtxum|A20Uf>mB{a%VV#D5S#)X^<7 z{~&-=$3F@Xb-7>D|53mkzCQ^l@U7#U9A_kd5*S`u7>Wa1ftwt99Rlpp+zX>QXkvH|<>VaNSKp4dH%u8PpKyY51 zysDr|ERkMy5G>m;h{IVT{apZAB1J5b{_cR8c(82Y?d7o@Y=3hc{hAcThA>N{*HYzj zB+`JoKEg?)0cSMMlSpSv0Yx}xyCPgarpR*yu+r=Y;~W7*zYI@Fq;pk?5=*3W1sY?5 zW*dogo&qegL^{s_=2iK80VnFT{CK`AB2~UX08wRu*v`L^*^63%JzM%AaJ zpnAinq#)kFE7qF?5N~kD)^8F($I*NmjB(#AMHKFvrHI4*X#oUol0I~V|I-5KMD#5R zu(A9RqTgE_6boEb)tyc!t?@Ggj~cigme05%%#qx>TLlm`a0k?H6+l;m+Z154sljay zDz65g6?j#H&$=Q~gU<;dYT%BZe@+112)2RA%#f^#% zJpXwq1lxB|{up)Q=Uu71CVW9kpb0Rc^DgrjToGx)7X^@p(VoKoq5!%kuuY8n{Yz5B zH{nZCAioJ;mO|2mFS}BCP56qGP)+!XDP; z3162&(uA+OQh81IhLliE_=YPYP57n&q6zM7`8NfS1lG3%2-q-{-*0xmza?O(I1kac z1r+#Joo$%&+XCoV<8}c|)&L*bO>TE!c}@BsRY17&e_Ro1(kcO@D%b-^s|3*PIjvTJ zyf0|%&koR6B5ynH4k_zzW&WbscDh3l*zq?Ta(7A*a1x&>xYL1h?VG5t?-D3XSH=-J zM5>=3xTj?Xuv6jPQVjD2oMB;$PL=Vy3y|qFU$t4=;ytP$oSDh56V~ZeQ6AWP6`VQO zdT%|@eG16zw32APPXMWf_bZ^r@`?}%zHyZQfXZ*C{0DTt*++d)!SF6O58Zvy zg6;oDQlB}fxoZR%fNQXG za*?@rX^p_DrpL)+x`4TP=`jcDx)~Pg6cjmBJYEm<9RXr@iU58#t;u%;khS6`1PYXl zqk&I20Md;bc!~a`f?*#e9{wjCpsSbpNa@%P+JpDQ^puoM);(&5|Cw>@WcZXIP<=oc1HeBZ9s@0a5Fe zXdgt7hWjBZO^FUfG;B(AFrwj8qC>@lb}HRj+IrK-Abp4E|NYvy9;gIh6j(s8)Ik(= zmf*C2gAO7c&eBLkqdH5Y5RL9EjYhOxXK6b` zV>?URBigyMv;(4DI!j{^ZQohi5z!8vrJWFs=`7(g(qzZZ($0u>>MZSoXxGltu84N) zEbWG<(pe(*Yws+zBkJfZbs!qoSsI6Ed}nDqqTM@7yCd48v$O}IJv&Q#BAU=ynt*7p z&eC3pUe{TA9iqKEOM4^Qr?a#VqKTcQiHIh3mL?(Ex3jb_qWwBc`yra#S(=P!|IX6> zhz{s19f0V-&eDO1Uf)@IJ)$X{r74IG>MR|E=-|%M!HC|_S$YGaLpn=`AbMkG>5YgE z?JOON=uMraHz9g+XX!9R*wQb(88P-o1&$+AjWQI>8*&domrZV7(14w6A)vEv2-Hh7eGL7L;MTG|AzQQ z#BWFZ65@YH{49v*9f+Sp{7%F_K>QzwpGW+kh}RL zh<}QBF5;gdo`?A7h^vTSKs+DuFAy(4{37C05Wj@D8}ZAC7b5;8;zfvmg?KUIUn5?E zcpc&%#J@q@i}<&Qmm>Zh;!_d-9&sPyKOpW${71w!#D7A(4Dp{4pN9A^h~I_yuZZ7` z_-}|$NBj!n_aJ^1@qZ)!JK{4CzlQj|hzG!3XCgiu@mYw^K|B!R;aohNO%Lbc;T(E6 z9}nl!!v%Oaj~*_>!};`Z5gsm}hl}xWAw67zhl}XpQaoHt50~NL5_-5C50}!z6?nLe z9^n+;|_ z@F)dOQ1B!LPf_qR1dIN778Ar;ARSLqTmY@e2IcDQt&AXK1adb6#Neb_fSBU`m}raDm`3J!R-`0O2IcM z_$CEkr{J>`JV?Q96s)0OH3bh*@E8S8Q1Cbf-=W}13ZA0iX$peYt#?=b?$9jVrkY*# zLkHjdLt+oc8@wf$JS$-vLsZmX7c)x$+!%-j1fOR~GM`(4WeviDw%W#au&Qe|4B>`E zNvJw3=g)+2u8DlhpjSsQsSH+7snG=}^juVwXj9bn3R~S_^nkYIOxj5q$~hNu2UgLO zk(~TQ4@29naD*eE^s8v1HbSHhr&M52r+TZyDf-AM>_wF_DcU%g349b0zKY<(5+I~J zFyqD_aD&S$Fy?%4y$J|0SgjZ3530T;0Ed5RP!ZwA5OY`^E{t?o9p_wWKY)%c)53EI zXVuwL#g8gAt$bK}tOqqFGb`_9=yjA6v%pI{KtqY{-}gO%e4%U^6+mbe{<% zrZ=Fs*sqK3>ZkhyaL&2@{(#mS;@r#7^(EYzy-;b__e1FS>;>H1@4`$>+`Nbe50D9! zSrJzpn{G>f@5{egbw=W!89cyJ!h{W5-Q=woQx)eYLwv7fBGJ9JO(L39RK15%7 z(hkwBPYyOjD*>`mL-gm(AELi(<01M=lsie4)dy8H7xASG_SO?4$PDeRXRd0fyV3-L z6d#!*7BhwQ2RKM}BBw!Q9)tjVYCI=k*cz(0=7bbAHnLk z&+5rrl%u|uFC{XI6eaxDBOFp!c93uoIhR?CSuw{#VN>PX7W|qeTp~d%EToMHG+($- zV*9y#v5ie+(F3uo!)LoLk$;J?pcsknxA5y#_ilQ@PH#Mo+>(v3>9)O9gfj*X^CNc$` zA!uF|p{=oPYwDApYVEz^Dbv=^4XLdi;Z3CRLvQh`G7!ZuOp=Nw^irB>Vq;cRxW!av zMb^!yK{x-W=%O!gMi&j=+FkT1bkP|@rJ}vJ78QMSNL`diL**^lL2sy|p(6tOul3Ss z%j&{PoTOMx>BNr3Ru8>%NZv3@;m`pXYy>76#bBgRI{~y=LU${E!*#H4)ULDg=H8)o z#y@NG2Kz+qs;7-Oedu4ic@5gTN0IXKXH4@R+Xl`1b-wj-1FQXwx!jcef$cK3!!7T@ zZv|P-7L(_VrC4+TEa=&#Ew`X>ElydlHANlcI-|DZT&p4)Yh}QOgbKlG(hlr>3mexXmSHy|xt;Y=;C;!jh08#s=f8%`{ghZ@lS^?A0(G zV3nC;rZ6gCp|!=Reo1hoeZ+tq*}C;)6}vd1pGhZHw7wR!PKL zs|tfOZ_Rg2^L{jx<`pIeo7cR5#3h7lzE??BT~tY49b8ytmNziYjm+vHnW=UoXja?Coo~Ha4c?r1XE%bQ)A3!e>*+jd3hQN3+`;LWZwK zgnogIPgMob#L;j}#1mD5vP~sW1rgI&7Mn^aDNU6?DQI>L^xeLu)6l}OvlUG=xDu?x z@L^_bT!zCNVEx6N)nli3MEHFceTo>Opoml3F>b)Gw4lbg0{bWw9NR%sdu#{az-EMv zSv66su%zNldIQy)8&_!qhE~^Jw1IGiiwF>Vb-01qsfh4Qv8`|u13u}Dgp@T=L?xI2V z9bC?4xDNIQ@X>hH!ORv#-NB8O;!#A+OxYlD{GP$|9VYnVE`1z53Be69Q6zGYVNzn! zGc7HkM1!HzLS-bkRo$ydyRO9c?p8%%dxn(j711jO(p|5}kWkvNg*Vd>wP7i~agSeZ znq~NKr0WL|QL08wsau%sJKXh)t~O2jqo%GR?z%-=5!Z>8!qKLC&@)soB3*UcwXKwy zKsUw~lG#ZPyTkm*8aO<6b2yVUmAc9-(eu&`K zdmy4RIr+ww5peQFG;&I$3`utdc1QG{F!!?KEoS3}SP9E_)$Opzggc!zs?DBpe;MX( zz7N)pA$~X|z3Yy>BD(L?Efd%>3fT)+1z~a$(rE6WOL^1W4O)vkLgRh_nE?W+S1|7T zM-Lm?yk!RN1KZeZ;?DKZBH3TV^nmi1n<<85Hv3u7l2RsS66^&-;%;VUD1XU(IK3l; zq=jhk9xAbRh9IiSxEFCH{LC~}n8-~{{07HF35jg1;W{C;H-3MTByFy<#6LovU-x~Z z&Od05D>+uvjv@8x{3vvvQ|(e6vuQ3@_1yNmLhg4##wcxmFrS1nE_Ozq{a(Zn6>z77 z8hQb_Der?qxdqL29b@Uy&PRo0^dh)*CE;n%m7${2Cm(2%67dw{Qs+!($=4Gqg@yPq zhbbDEqF()+iZ3G2i&G?SzivWPVeDW1|JZvI_{z%q{{JpXCNr6VU{R4lxru{}igiGi zL9uesK}4$k{jII9*0z6E>x>(8iuP|SQ!5xX3R;U%Ql)Oh8d|KiO>I=Ps8Lh2b;BAJ zaf=$Ob!(IWzt8*moadhBoVl5~nT_QS;m&iHbH2}a`FxjWIp?%`whi}WwWmNJPPnK< zS0TZ3oBCYE#UI+GJ7a5iS(K#Nnv!QIAvcC}389`hk_e=`gna^+j-C;YYRgpfw!A*} zV7R_y^xw+sKV3(Y+%sB<3P+6PS(qtlJF(7DAZ}-V=lK<8EqPi#HxhP{g@=^r2Dn_l zb7%p&!}830XSm;vuh{+mcO|3gL#4F+>V9{ICa(CZHF4SUGbcL-qWkV|P26xG(*FG< zMJc|-JhQLD=>e%ZXLgb2_fgIH@dIIvUCObK1UVqp+iDo#Yc3{o$6@s7Pm??Zo2Mk&csu@$i%5GbQf1N zRvCeZae7kCD#b}*Vh#>Huv5ZdV3*XN4CZ-aQ=Af2wVfZ7RG_lnpazxob_E)as^rYQ z9`H|hUMNks52gEH8=gP~f$a^k$@I@o`-pVGMhdw;DbN_qb<<>A+>;_s@=AeHe4)T_ zkkpagQNIv_@=$=%I9Zi({!6@R8RPtlJxzmC>nVJRWRz7Zpv*V*Y(`D|| zdLqLUCB5DuRCZy)bjYa5-mM->wVf#XM2sR4$)&-eh9|)%5|h?Nr&)Q-uO0x(iUW3+ zvvOOAogVXhX5v}#W`U*0{4x|w4cmSO6d)^am-kwWHl$U?eKmRT!xN{AmfJ5+{QXkr z$Y1dzHkfu{E3{X*n*jI)!biz861S0hTW#=*98GGIBh==jt6 zUtT^Xi7nD^IHd^gVgKxDgOyW~;L=cVp_eqc(92pMZQ{o~@JY`eml;p{jdbVXaC9a9YQ#MylSzXMvXqhye z5?4ryXxRwSl6h)P<1n3AD@ya^8joSkN}a?3AxshiI_?qqx6aO1%5_Ghx)UOc__&L0 z-DQva(oUnp_Ds(TF7iMYA);f*AH7Gr)yT@-s&Yy*EIr}vK)IAIGuYj};dho-AHN<8(PJuBlKWOH9V$L%?52sQq$$yMtcff8r!B?PtUEcUpTx5B`u4eQMoJ^7rqh}CRB&^4Z|)lb2Fk{z76s%ov(A|XwQT{ZRLRYUz*W5Z!B-9)#> za}|<8tEtCx^c_;K4S6|*0z}1Wua3%zX&28~!+oq~NWfK;(5o};X<7vn%9gEF-USg7 za~P*KPHnTX3Udvusq~!;(Y13c_8u#nz7D;wQ>xcf)Q9_8YaU%=2M`RbZEDj&Z?28{+I;!0Vb+QjC(cUUJds~P;;o3@6>>MHQ-(ixK{)2)oj#eJT+ay zzkQcVMG4J|a7n4`T@T<7nuoH-VP~+d3w4 zlVH2x=17me;Vkz@v5@Qqg9)VS)hk)6%fIa#YRCblurs)*I;d;78F*?nhXtHgV{7=# z9%eL1l5MTxQv;AT*4FW!Vpk!Hk&=L_x~&G-UO!xf?NkkQ)F9)~rJ{N?O0VipnI!Qf z9nVd))8vL9R$OzzBlNT_84s}TxO1mKu_Y8k|ZE z$wbYe!ju}EN)1k>2B%VkQ>p3Fo7yoELz6_d>U2e>t!>0elTrY`Hgpd%Aw@x%su%@r>dAi1gJYg20Lr0ccl<5Q!Y#k`!bC`WS5c@?guu zwF>j4!B!ClfGDLAY_&mwVB2SaDBb}OZSDggeFlg&2NG=i3=pNJ4#D<2okwjQrbrNa zmy^Qj4G6M>FU;z#8qarKU)j80%Wm%1oxrl@E~}{rt3uNRpmrrt4{jys);8$s4yC2t zR+^orOa|VvuCeZt#!GgVVsnyLLfEbmy>S6GOy{Y|@3})>(I;F$O;@|S!?y0@y~(>v z_fXo9jk8VFvL(lvU~^W_sY*ba;eMiSvC}xUT{iScOBiXmXI(?ZN2?ZMAB_@10Cw2$ zqOBvqYqo)1-b5MlyJq-mXAZAg4}e8a+qw&S6j{n8Aw;S!ET$f`#mY5G zGm8l(kZzZ5A>1il&el?ZXOb z+bL%I)2%OkgGWiz#axuQYgZSmT5Gos9h@m`D{if7t$tD{Yu75EHMVcfF2Valm~?Ct z-DGTC4|IzOE73h@K=H9H&l(+{46KnyVQ=u}y4Wcut#n#GGZV0(5G65MXCOu_pqV?? zjcT(ad7Tkle5fws$q+m!OA-WS#px|6E0*MI&H#PGk)jAHN~5 zuV7WKc(B${Rv4D_!K>^TOM>Dm0|npgNC~5#$r`PJ_3TROPxlgQRH7ev^o2|ur^|Z8 zb>4|G?bd5gd(dT)yT0|>;lUlcOydx`-pXfw7~FB`HP4c+WIh#5t-dD*F(WfQ#gx3t zV{EF>Haw7B^28zCFE(!YFId*jcwp4SVd{Z{`jcnJ3(Pu8rqE9N!LQe|Pz`Ey)EAaR zG|ugjV+&CR&cHx%J1(ssY#ZuL_m%5uu5{JAby#IFIO}a4tZikyTdfedN(S!B&yZ{Z zWgbdJ10(`zUn6lTT*n~iOs@2>KvA3!hLUI8+w<2%ae~$)PGW$BZ)sv};r9m(-lCh_ zOWB^DMo-BD@7MBcP;Z#L-dA@LV`NCSRWZ`_UT>yV`ORV2qY7;_a%^a(CF^sMQb+#0w)S%!h+wDhLOKYZby4Lx+T7Fx+;!HK8zTW=$1lVZANX z!&}4fDh>WnQ3O3irJJVwb1*1SG&CiU6Vn_839Q3v6@`;B8;z!*D5B#%kXAU4LnX<{ zVb`FP?aDpu8az~=0#tM{3x%03tl_c%U1P*$0lNOCW92^GQ(w~o7ir}#i`Is6T%@;V@65G|u5$3>TbXcxQ8o+(gk>I7fgH4Zd>EL8=<&CWPzKdx1jdlbPHWolHe zMn$N&L%_)m+1DBfs8AUhQK5RLR10vrW^Z-{2gaog0k~~ofeUU$sA!vSJS`Ognok&f zoX}OQJ_%jzHHa_`Lg)+th?62=__uNpmG_*6;a?j>8t@%v^Z+73DuSqpDPbxls|~!o z*>Mu_h@|N47Cj-V>;X`E6qW*BRtYZ*zk_WRHJ7oi!fLQ>Pq1xMzz$v?>>H6Lv!UqR zx&a;`RmdFen@-BlnJEmZvl)_ItC`_R>$#Jpr!MyLYH1m|vx^soI3gc_Ya32q2RH6+ zH+mZ0yR<;zP)ZKLscZ#OKP%ocf>57NZgiTVwGooAt9+eYBC3-?y4`CT1IVwU3DoI< zGC`sHxGDS6J#vDebS6LKAm!BBr3s2?X%Fa8$PJEA=)cvw%+7j^r>beMJZ#fEzXIH@ z^q7|7s@Nvskpe8G4p6 zL!2N=+#sa0b{q<&i>41l(NS`PcG1z?!qSCo(Mvc=Y7f~WOknOaTdW`)eWi0a>YNvZ zcbuSIbmpFsUL$kZP{X4!Rb;!|IG6`sRgjKK+Ia@$8X2E?vfL8I5FNimP3L%mE*5@?*7xW>!XcxF8whiyr%=w7o=Ut_|C)z8tOE9dXK3eG zOVj+8QL$1ohR7=^mCv3WhS1He!wqI=q)vUAe+n~%tzH_*z^u3u7|~NRpW5&Dn!2w1 z)Gyksm#uk{$Z!}RHeK|Xx{eI98VB*vTFANk@Vb*v`f)T!112lX(T zfooRP`#Yqy4M}~Wsj}LTo zOx*(s4@O)4?P&u~D{0yXoU9)XvkPgNxxZ96EK6;d$0TE@RwLsMG6uB4tGSqBkzM2b z+Tdnkppo7Dx)$up2K`%dv6Ab?+fz~Uh(`PRuHn9H&DQ7WHLS^t?P#PlHWSoB=gHWt z*)D8_S*0UgcTVuyu9t z-c>%3;Y?$==S+owR&d;s0R)_SA%rI2o+u3UWQr46?acMVS}i$)=ql|rv=v!>YARA+ z>#i445A%rPMXOD`*XxY%v7t-dwrG~7J#Q-Z0ZS-RLsm0$rPgm2%1U; zn1!Y=l2$7;N;s)imq0Q6=)$x3)*F>puthb@_J=4V&mhkdfx>v8I{y#`mA=-zh({ap z`g8w1_~8E4-6Q*Gi{lqpb*z}vd*p|KfsF6mq-L$`u7>M3)v!yki=CYsS@eV%+4Vy` z&0>x&1n-@<%{E;?g=vv+hXR2TFVy%$>0LY2SQk<&{CnnWRn5 z;jy~Nl*(%oPYiVn>~(R-+2=y;cy- zpj~VbP44?EzxiQZGDU9;GVP;S^x1(%-zD`9tA}a999E5$J_tMt(XMxNU)Z&(b@hoc zq?*IR9LR3P57QXZP|G*P3}z8UWj%H{g~0_YtI=Zoq%x6fyGf1uIxOzV?7_}aCjsE$ zeBq(Eky9M2WUA0qO)3XA*NavX3@Kn+jWa9jK%uiVz-c7{Sd~H?OGo0k)%QfWN*8@f z*O@ptR->LKf!e4|f@3x6DSo#PlY{-}W(UV2ku3pczMIK z7d=VbQ`GAZ!Lf*Y4*xyn*oO_uv9G5b`?Nnn2c)sDryTpZ#G@4ZWa1=>Db|Do;sOxi zwWk!pGOc1K5zGf9>nH3)=YSZkd_XBOY2{l7#K`0WNH z$!S`&0IcCgP%&;2pRYZw|1!r~pL3t|94Cx$U!&4FtyM3poc1f}X%^#Gq!YqzI~!cP z^J#~sr*W4h)xTYwcHi_gJNu1#J?nDSP%* zZtuN|l+;Xi4b=w!NA*&gk{az{RsLX#l?(+s-h%s6Yr4oys)i9m+r|53i%=pDjz4nTI7h}6ZUq```AIcYT0b$4AR5e`U_hG>{x>(!{3u-y3!kqZn=J z2_Ad0@Ld=rUIp`pm0Uv4<1dxXJnz#fvsd=DYHXceLcc@*y{OaO0vV`R$2y8(XrLJE zggC_P4|BA24|W*Nq}RWw3Q8t>?$Cd$LVt1ClhX)&6$2kt(E0rdtK*(9o#4L0{Aq3> zozUDu+}2#``XL5?Vf?t#k}7u}wjvaUiBILb^C7mcZa;Hp+^Om_UvGswV1H;Ox6IQb zTZoqVj7>u(FPV0QyG#n3MrT{7cf8<{R2`5-JIHdp}NmYcch$N-o$F zAnz>ge52zv^lA04U=qq^jbF9Qv69fzmC!u|7Fn~M1KW-sXHY@`5`)Smr-yLjpc1On zuvQ`xNl>wRV?c@LH;Z``J!L7XH-;0A(&Fnt6;O34O&SOrK@0t*7bVnvQ9^0{uQ)Qs ziVyd!;7%HO5YMOb9m};Q6Xvvr^t@ZgwOuSSSE4#M2&~KsN}-zaF01|bl29J2_ENNN zlp=LFL`F_0sHE5?_cbgwi06cwT)9-5qiSc5ILHW*KhDhMh7RVji3JR7&qy?xpJ$2B z9merSOhV~IRj@bW#fhropkk6sNZ)*mgY-vN5~Lrnzk~D*2cot+TvEhIV}W?zrOm*RExi)+sdH5K=3QDxUsO z6;_f}>w8geH+NnO$awH}5UpJ#zoaOnmJv>DvE&ts%e>y~>23~4>z~xS_cWPUjot4u z?a(tp1wjp;JM1Y~#!?_kNbI;`Rhicc1IG4n1XRpvQ?P5Dzf|+cs;nlXfj9;Y zgP6)x!wRbVy983BO!p-3V^M#^Tyde`?7L8?>2fzb`xiSr0#&QIgnKOnWP{n!;R?(c43!ZW;CsVeSSct! z0hLd>9F|7A`ZAU+YEKU7NEBIP;FbW|YttS$XIHGtKJ%dL`dW61#@R8CwC|RnuEb(J z)1q9~|K#<$@;pyOy57A_L$jK`PBczshG~fQ)qPsMmbo@+r9;bl+F?Y)MS)=wsm6@u z+C6*n0h4&XfL9bdJPY;aW}~-b^_X7DSIir;6;Qh_)_Q}*p`Jz7HoIbXW3ut2lE%~9 z1M6ly;SN#JhDd*fHj|X=$4ArMa@6=f6Zt#>O--oTlln~dtK+v|u z#4aijbkCpQDA6);KC#2if}hd8R<>AyPj?$D-n;gslVT4ad+YK};soj5Rw1SBL4DpH zBnx+VhRcuZ9Unx#+$un(sP1yR{r*AqPKbUT&JjaTGEt4bH9~7#%U;$B zuysl0-458vBCSxdOJLs{x-??F`&n4&DB0O~uZ6YkWEaUvK5)15;T2f;#+3!?P=2_A zR27n67j>tWA3Fu=wDc${iKGy03_e?-{O((9P)9m6Cl|xSdlTFnle4~iw#WYLZct8A zOlmOZTaxXYit=SWD;g(NE6Uztw~Y(sT}-{V2ZfZ@jFWnbg1U=wl1uWP#z~bOBE5rS z9V*H&no75cXhQ~*tub2dJeEo~jD*Qnr>nRXCq}^1ZV_E4Bf8IMU&2|8r4&uuxAsWJ zQt2jZ$x?H!tqS)oy;1%C$ zDemYmnZ{^e6UbAw*=(rANp=@+v`_5C+o_@Tykyl@>4$H zrXt~S6U^0U0r-i@l#l1_!ffo1#Pk(ATG``t?THjdwhNaCaP z?bY*^_Lc)6?N|1nZC5XY-5uYxc$%>60=#=?%y&2UWE1hqc5Q3zBtGlF3ne$O22q)0 z&*$!$hSkh1s}G^k9cH{x5*n>OWJ_8oY3}_(33K6kJ=wQfRxOy!#^*%(MGJ`4$X8upN=9Fw$>YP)^6{af*1@aOQC4N3 z0_$P#era~-t(*}DT;U8JvC~FJ9Nw{ghUA*BSEl1IS*$lKft5yKVIWzoNy(AkOiyt^ zDvZ>^F~tpYw0Ouquea%j3UsAB-iDLhwmnqKal4nE$4yo$a8TX!n!5!cUZG135~pkX z4o+A0vpoRBmGuJ!h_`eJh-ch+c(}FmW5hbIR_9kam2abUsP7oi!0Q}VdnMYvEL zB}S8PW4O3-7w9NoFVz7Z?WarVi8LWxG?RR(y$|2y25yyrkr%vyX{U5m;$cI9Q+oKM z`<%wT4_soD#FA!lb=9fmy$>;eA_d&ruS^j1MD=-;jO^9mkTl(s%I4A@BP63^xk(LFz-F@F7Leu;^NV)p<&Lc z?In-)`jEyj?B8atZ0~MqGH`q6#~h@C-{p4OmmfLN<=*@D5RECx@F2MMG*o!}%G%-P z8QKEQqdPR8xc-dFlx03I#B?FEyx{?HLmFJhCmv|nS$YJErnah&08u5EJn*Wyg@^C5 z-nR4ji-!eh6>fzZE^m)#zN>ih$Ij!gTknec=SdOhzjv4V*QSo0^sjVN(m#Xl%CkQz z`q%7qkCd-rLA=4XZJb@Q|CRrxM#lw{^akp?0e_dMZ_l`Z`YharxGA}rArH?^9*%P* z+QZYHvFGPp!EHmWl)oLab)nx!r$w zATKxA)~Ca|Th>Tc@q)6$T~YO{_7=-UTZen%RG+RAh<7LE>X}6IzQ}2z9xieMv(C60B&FVFjByx3z2WaaVHu4I|Lk<|K$&K{r4W9F&gurt*dU<*# zlYY8dhK*n0sW5sPhZLa!TUbcr{GO~9POi1|OcyPX`Q&;$S-17ynm17_i)YWxl@%HW^ zs%QZ%SsasSM4BEwMMXK$k4#a8Qkve5?oL(0V`4#(5SGU5LeU|&3U8gC!_-&Ye0ASF zhe`9@)v4csx#s?O?qL^OXY};${^CBFS|W~49|J^i`u$%gmL9pu{!xVjKcy^2pHQhJ zmR6i7JwTI7d^1I>xU#CPtW=gUTE79;P6mr8oY*GD_PIBp*rP`?p8DKs=kiVePi;}IX!8mHl#d6=2V$Nt*9tSttcEO4`T_B zX5m@c`m&`*8mrl$CnT%sa`4j*h+=Y^Y%;9Kd*QHxXG`~e&=(hO8`hgGDk@dS53N@6 zMPsei9vQ_QDeaNbYAL2w6BYOu4a~M`NP$@+r0^^P)uTmz5h-pW{Ll4PntvXBTJ$))m`>ALYqT&QT)>OJrs#-l_IWiCv zOW)x;Gq6rQ<&x>K%&b$d3T&)ZLTPKTID)-p)>NCrLQ|bM)L62lphj{Z0U07!QA}mK z$*NTUHtsf3g2n(0hQ|0Q3gVJ*P7_jxj z;fV*~h&b@dfw>C#q<9c7C>9I_b`s3%n8;9q`GTP%FNXDWaRSqA(U)vK(+_#ay%H{| zh$A~g4f&=tcLsBJQE$URISMO0=qzWLuR^FK6)0YU86u`&+X$gjs*Jt%oEr2YI~4kW z`SruacquZFlMe&RFf6WVy1K0o9^ozXBp#+?RPYA_B_0M=^khv5;8`Glv{`k+K;&%w z5PV>0@OVHC_5wJ7QvMa?Mtqu5hJH znL|gK48H*t<)5Cd!>cs{=+7qr0EZ3~V9p%w*P%L@fJQFcN~kquzchEP5xLdC#xs6-?&{M~IUZJP`|j{+fRQ7z z9}@+h6qq&Rk$){hIq;RMu1yQCWcz-01Ek z;HJ;G=`(KnjGK_pc8bbxU)NaI@$PP$leipwx<=dsFlyEcDQbwzYT6T8vM_+r4T{>2 z#@(QRtWO(<^f=Isjbnz^(QFzznCAGQgJ`-0lL9WP++?#7o8;TYqvfQ{vwBVq0lfJ{ z%?vb7ZRg(}o96W4o^=hSNoqVr3YU5c?h2rxs?!)#&#e>P5Y2UczDA<5db1tPHL`4q za&Glt33kApIlO8;h7noKeiZb?EtXK+fN&C*wHe)UsF}sM97q>;9MJ&^RgmsmKP;0n zfzMg`B;)tD{c0IW1g_E$89o}8B?dl?s+$5~NtOm3HY`ivo%dQ6AQ(%%+fa@4)}QPm z)P{d?rdMO|{f+iLblQ`!?dQp6L#_I=whdD?4$D=ylXUviorJxEM@iFhpN}RVnnUgE zysEW!>(IfOvYlLeRckd4T3DYK=ttS4||e_YsEE@|);{EFkxlEGxIJZ~yq_I%&_rj}; ziP3Xj^$tRGGd~ROxb&K5NmmjRPwsmX0wr0!&99=Fj7WeU9?-3lht>_W!lRk2 z-kjxw!$HF#bgKsr>QA2=RZ}PHq|JlG@pPm8_^7_{yg$vv_OQCPHph=17T$JiCH8Ik z!&39ERPzGczOBQmEggXm)(i>nRx1v!l1peH6XLjJi<9s@#m@djpgIC2lUc$`Ng$*~ zoDhqWhr8PS*F)iH%Ka4mz=Md{NeHrmPtl?L2nakmRUhu7XSS z^@&9nHQY-?4V%N&9HweU4LM3pOXY}~E)!52B4LgotW&XysPREf3*>$>H)$tc?$cbS z;%dtf&%Tk3bB|L^T0GZ16dU}GJ=5p9lUDc&=d2B0Jfz4B30b^1zXzVqp+^p)VA{gZ za*+HfI(o{1zHpQ}beohg+|241YkV9YAC3#E;8Rt_>BGs0HL|XeL+*l=m47joB(i2; zE#|PmTDZ`p5hIi)Rx~?%miUi(hl8X#9^ug{MmQo{dW=v#oD(;tN11bx@@U^+jzvST z{98qo$TG#eHCl|a)I)NKOg%6jvrU*`)=A0T2w>by#H_(VIpa~c-Wa~elXS}KtVyZh zV@*nx{-J7AA*vjqVmm?&?o#+dd`5b=mmDV#9nOB_b)}oM3qDy_YHww!?fydN_tp2) zYK|^`EM*QG8 z&8@+9;K@$O4%RM3e?jQcWX7PZ(l(1zph`d2r_6;()yj~%rqsjOnuoC}&_K1q6sT6# zBnha(A_>&OFjkFn!7*x-3pS}C38+y@*qq-UlY0_Lhpj>D)SoozTBvx?<0Cyg4~FDZ zFf{1#k%rW`ndYr;HE}!>jp$?B8Zg5+8|m}fM`QDC=mIJ97JpO zA&A0K-kKa5GTbsl=QW0gDt@4$qz^PSB@9+IZwNFr0|zuTy#X{-1p|#RVsEJd8im2b zgr*Gsp3a8Yl$0d{HiQ}sp$0>!!4PUNgc=N?21BU95Na@l8vI@jey>J;-;G(q*a_cW zmzbrPtIUqc4wYH_MQ)b0`_L?9-wsCN5>WhC{xY%IvW0TU?>(Z*m`6wP!vQ9As7QAj0%A4x-&wIEbdP ziDDYh;2@fF!$GtpLKM>w9S6~3n;fJ-e|T)H(EsDks!YdGVL?x++5t-qs#Jq2)ex}M z5U|t`u+$K+)F@zequ4NSieeR&+lpOXq>NT}ko4*=a=otJGrgAUj-ch$xt0~sm(j8& zpwY4>UC^?|iD+3A@6;jKez zjFty45aBq&&2K=jL)#vHanxHO5vBryiB>+~6lgnad^pf1`rQ?n=%>*{3(K15M=Lea;@+F+7YEoxuk7i# zfh0|Rn!h6TscFx9=|(IB>M;Gq+KfK2X0FB_X2;ltf3c^bJ+Y$oCPn}1B_Nt(Y|l_> zc|mt2Df}d~s?}?ic4t=RLPfQ3LQ-3x8{IF=1GQ)2w9K!i_R2~} zJSF;JIHkR=5_Zdk#eu^8G|JR!%-|Vqzv~TC#JHOx!q(DWeN8dx8&CB*mh6jXH)x(m z=_J{gtaQ>LcaQj4OgkGdy-*@3TXSws+f8nLAC~BBc;@f@7=t}{KCP-}>FM+&orDz; ztu>YA1ZxU(4XHC4O;b#JGpF3ECm|eT9*emzD!v5}VfUpmA zudrv{3$P=z4|lJxEA~6U?hYRL(e4%Y>U$NYDWOkvudr9`cZGed^R=Amd|a4XQzm1Y zAY1{X35D+F<0|8$wOOC09W`F0*z$(E8k-@hqu#Yare>&BlJdceLb7{*>2*Q#4xv8WW;p&SOZt)eM{@v#gXx9q1!so z=I*N4*lo$FQbYP?G|D8d<_cMeZx%)8+N?+VEaq3@b1-#GQEG_s`rxnYs6?UrzI3>* zzMnRM3=Z$@;GvUgv)aJ^$nSub@$MNfRz7};Ay`UnIAh4QoM<{nS_}X z@LTp|vb=EkSS(NUcDy@D8aOqvS{n*eusp_0pR{Dw%|cjvs97W4W?`eAE;JgdH&0~} zEnIH+$a-zKH``HvlJ>01-M98?GwO~(e`@GcLzi~7>QBlvH<#^LY+jh{xUPBndc}{% zBkPU)o2e!jH*rxV?1c*z*Y;}jTr+EK)z(+O)AeD#6ek(%>i3R!l~;@kgAtvWGp)Ua z+S3i|VrZx)_BBdomv$5O>pA+B?B)xB;P@WqmAo{!mB z7G&>oFJLi|q}5wArjt9YfPJg8#?rh07rtFyUg>(Rl8Xb1xnt$%V}=^#kk#I+tGnTD zlYxZgUQM$nSFkirZ8g^kklMn!u10MmXRl;_;(63#Sby>MNo@pX_j-F_Q+liqa%`Mn zh_ys?>OBdXs$S5q8Z9&?v-RQ5|4PB{>6{8G6K~1GTy~Mil0B^g-_Lgf-#*$ky27VL z1#jB-&l%R7>Tg%QtF(%yFcsG3`4uP?bo31F$wP*D9vCya5h+5IvMq2*7SFWl zU#mTP{`72J(iA$0Td`G&)RPbp(3o!m2<3SZ_0rN^gBC(X2#nF&^=X%np#AC|JfO5{ z;V$!hd;Jk(v3WsPc7K(VZFJCe&zgevM ze7n9U<~zffWvRC#akk?Jy7Ss)Ep3fvBUc<$rYkkEM$+@`_U;j3?_J5`9@0l+$Dw5x z>sOV!vo`pedbN}&YNd8wN~+4{;9IG#V!#QRxx3<{RBrZ!2NvzJh-eII!noevfKwD2 z$rW2JH1xotSSb`!ewtP+-?Wq)ZEDJI1$9F?uXL_r|KaXowD4et17b8SRCZ;wPR|3r z*Jj0#tT`BN$A3Ui%lYiYPj=5`hfNF z^R;6BOUsF{&{cW9meO2lc%9F{#y#O73Ab;`sZF&SKW@~V4%dvhVd64O#)NgOZl14I zx-gneY}BDemi3@Nxinf+%Y$04tnc&;uAb5@G{U_ip3%O0Mv<;HIT0TP9}B9Lrt4%< zPs2cMp4ByDT#KPgKT$>XE~}b?8l|3WoXX#W56kM?4$_W}nu>%h%u3dVnvF}ca2LS- zVNGb9rNME}`gJvJzR|V)DigT@=CF#wGs8r^RJ)#;kZ|vsS~L6{j$$fZ`fqG~L`}01 z*&X!@!&S4)+k1LFyF@)cW#AQe8Eyt%%G_KB#rSSE60)S5+7^_8giPaav$SWe4{DN1 z5{*bq^tQZ4@_Tsk@>5Y3|tE1PZmgj-y%V&bIE#Jm<6!WwmWQbGSv-A2-_ z!^KwFNLr21xBC9f^#ja5>thpxa;)y1t>XVoronNe^;%g7$2K{(jyW~N(%ON(tZf_I zs7afF2gt`T>Tqt{;rf$xQ2j~U2430dc(qHKvxp>%7I*>^z#FTU8H>Z~p2EXBvj+f&Z02TYmR({D3*OL&vI?ndKw7FYd zgsuCU&-N~LHC$Y##*^v}sA=x64Ey4InspJhk>Eu$#5|pD6>5-H!qjZl=(4Je-Xo)P zJ3772Sg-Ly1d>p)b+}=0s0rZEcc4ed>GqlBAImd(9IuTHJ;4C^?gv&`a+M1P0a9vo zi&O5c8-m|n-8HV56pb_Pm#@SI;4w8t{vh2-{k7*dz-M>1Lx`qzIg~u8YzKuG+bh^1 zIH?e<;~F}yumfv6`m3K2VsSC0nlCFgQv)>RBDn#Atod{?kkhJVzNjWY2iM*&vT~;g z*9i*79i8Ilx*l#2eK%_q`NvRIXwx+^K~2g(x-5ohq{~v)%P;WkVclS;r3-N)j$<}T z^#`nagwJ6m8>R6=iSc08Afpl$dVFwLvz4w0it2JF+{1=m;J&s^fls~Yj`L?ImePmR zFRKW}s|H@$d5>he`dD0?0_4IqD*01bca62^JW+q`*rywZv}0dTRKL~^5L~tnu}@zr z_WeNX7AYDU)fI-7Ur|SiRk&STfxU%fx^wtSb{0yBDm6?gC}g;oqPWKaLz$`fXUc)q=yrbuyy&acSBazQy)K{QtB}YFM;&T5Re32_ zsfHm8=w52x+9u)iI#f4c8rfA1+BlW4!;@V?E!@;Li|mq6!kX1UKaUlGd$Ew`+n%9X z(LJ5}*10WiAfuBb2apS{`jml7?-HC0{Mqt_a2P(;ib29!J(XsKg>bM#q6&r<@&32e zz~ApSLFgeEdz~PF#7c5RIG(LH-KB|8Xoo~mJ41m!B%_vM(t6Pex#Ie!vf<8gGQE6H zskt^3O2l?~B7{>ZhFd}FHU!;N&2bLEnPWGVB1LFB!^YtO8<4cOs$8Kc=|zWKS*55+ zdEZ1fWT)QjXpQfA(oS4$2s`m&H1udnSv!=B!3NwERQI>U!=#(AL5!Q>D)Hxc%w>-V zli`HTJ$gt3fx~+_!mwJ=N5kqO(8UK!O?IB7+l>W9ZKW2BlN~Ylr+Kek<}=I;@hVu$ z5*w5J{yxX{tArNZaH^4My{X&BpplL9fW9xs_N%G;%XFQ!^zuf^`*1l?Hy~ zTEj%|0ChUlptSx(g<>A%7Ji0}ZQ*y-R77Z%ow~nG7zgZe*%_=QVLDpt&D14b-C2Q{ zTX8cFR`mVf1O?Nt>T~}yXN(F{v?ZCY`@m*%$+!V{!w-K9Adpq zoeZBpkossGN_aEc%1yS*;qx~;*N}TvU+t!V4tY4DU2&S5@ul*%_I;tGo1z@BN;w&A zX$~mtdu{u+q}6oh&``yV3rVAYO>Z`SC+DIAhsMy8aPvqvopR03+ z>#V-vbMDTa;spLQCw8kEs){CtM2Cn|#gBD&`%SQVL>ZjDQvHk(= zEUwiy>Xp@=qrd0Z&aItY+g^LN-aSw1-LCfeYM-NTFRDGOcE0ZR;&X56A2^D0AEehy z^!u}G=hPmlW47zxKhnQ{tk1uy_K(!t>Vf(Z>TUJFuW-g%y`H9DF48&A6U}VWzfY|m zSjX>udObjjsv4Pplcxt-EWrHF{<0`y!qBC$((azs@9QK2N-(i)_xn%_nD`rgOHdZ%MV} zUq=QCsmxo>`}jc6@#Mh3a7%q&-BYVwuh-3b4ffV*oAmk(y9*JYQ07|~1f5zp@Cc57h+YLCfQ?msj?{XA{?6Cu92g5eb8+3k!#Q(9 z-qU$H=0)n|`8s2JXfM#eP@zvjaPlDccu;X((c^ZR=mk3JJRKkVj{W((#e)VON`J$8 z9lKlYWs?WHw}Xqb9<}?k7JSxXa@GmEKWlQ(eGL|p?f$GywQRxXEe;ko*u7-nCYwAY zxX08X!k_dZbk-grtz@(Q{-#3)R`Y!$=qg+Aw~L1quDVIq6rIug*vaox{PGl8;3?`s zzX(rL_ZfHqlh|2rKs^D6^Wy(5hy`mg@{<-ff6 zL%;UcOTPYh@4tBR>6==&-tSf4JK@IPJM$H%efklPIsfT@d)>A-eQnF(k8OVX@Na+e zV{iKS{cnH4yPrBY{lTU8yzq{-U)YxY@U_47!Bdtlx#HR*KlAFpc+=C5-T2J^^V#=( z;+@xCK6&9^f9h5L{oof4kALsEPkYg+uYJ<&-~IND|MYu*a-UOPdeU#*`s*jYe()nt z9Xn(5^S^iH6(4`}OON{0rQ5&w(>HwR4gdb>%dY;`>cO)*@ov#e);GB^#|*oalyOa z_K^Six3B)?;w?X!+HuFa$9LcT_RatK`7Oh5y8lCte(GC} zzV(LB9sAaEe=u?F%;@Ixzk1!5&wuyfuj&8zU%cso7oPTu2mam-&-l*zcOLWXUw_^A zUj2f@&-?HCf1UZlAHM00Z+q@rFWvTM|M=n;t^V-~5BtiW{LMFi^B+I*(W`#*9YseEigZ`r&Kd{iO zzvBtN|H$!Yy(XI)9sle5Kk9SuTK|oIeBGBH@a8YQ@N4gX-iNOI{mrDK*(Upjl~#Y1|iv_Ws*Gf7=glTXXwSw?FRo-?@GJ?U&#FuG??8{cE@X;`T%D_|-d} zbjP`OyyT8I-tpc$ZoFguj;6BlX64rB)<$Y?t$m<&Q|-sKb@ij`r`4ZXe_{P~^~w6j z>tC-g)$i9hwsBVDg2taWu4?>K<1>x#H~Mtrk;gQj-h4sxRn2!auW$ZW^JmS2dmh%K zyRscVun~tOZ=R>uyt32a(aL9+)oZ7oc5rRSm1DKq*MHVq`{bJ*qfCAHz~xQnBjV3- zdJ!v+*NZrIqFyKIwOOx|L+m|P{~oL3j@5C;>bPTd+_5_DSRHq)jyqPzL4_lZ3xAK& zzsKu!f?g-;b&_72^*TB91Qm{WRQNky|DK@NiF%!+*Jiy=4&2ZaR5;@J@OOg#JyEZd z^xCY~$$?|Ip(m(t#0lZ=ME!e`UYqqgS!W>`T*DE)LFoj&_&Z6j&3c`zcSw(9a1BTF z1|^Q-Z?j$}>t8g4^hgHRa71rV;wb)3)}OVAhL9e~;2MtT4N4r9Ej)0bepW48eBi+2 zFy&^woE2Gt@Me`;d&Lhcjt`jqZc1Ea9@r- zNH0pZXDj+YPdQp8-uRKBs+l;lT-AV@bH&5?wbO%i^naeXJ6oKhmnYP==-1&l@e z9{)HLu`QL6=j)eP5}vKk)IKdqKuuD}%Qt_dZ~jnK3r8rUjSdA(jSUSPSyyj|>BaHq z=tzp+KUOb~(9!52o7SL@OQjqeQ@Am=D|fl4kj3MoU1xOzlw|b2bZ}3 zrO-P;#}H4j_T$ypiIVknA>&+ec9Q-*TP@y-mz*a4;P+U4i@xkP{Ck3=-4LvE(}tqn zc)sdJxOi@`<#Scy>lpDea#WQU``hCKC2WLFKqtNpGLiK>{ap~g$G4Dti?}#Vzn`NQ z+Iy6E$A`0pqk={jk1B=|&k{1Ilo?oMqYnvuj6I~x$9bZ-S+wZ?e9^({PnT@?#Rcl+ z0)4+le<$eu=|O88|9Ek7fiyxyJ6qr4S?B9dI$2Ub$4K6z3vYdvj(MJ5=L*?W-bV*c zrj9Oia-x36GAD^LvVn&f$v5k4YH<()a?cC8Kp#XD$1q}+Il)TDDJpCX{Y-2u_jA6^ zf>U^R>?YzO&v8LUBNM!yuKvys2q9vC8G3Mp1rg*D`O4@+t=Wf``yuwBRY!Pd4s=Si zw2e3G6S?hJ$#a6DNw@US4yVx^x80!?i4_@EQ8NsdAXr|I>0@q9w~jyQ3C z=nWap*Z1fd8Ic1%h`8C@!$Uvw4=>9DUrz{f;ETrvj^XV*olA7){pq4X?__kM_9lJf zD0ZS+bdC1mic!chp`V+MDfdH`Wh8mJGyqljdc3HDZL|sR$OzA%1q?uu{?Hb*!6y>o zH`(+fLO(N)sPGj{#~8m&!>wv5#@Nb#QrGXY4kJx$k5NkBg_5ZozMZp zoOixn#Gvy7zo2Q0-Vw#m*D+ulNr|3RNvEmBf_Tq)qI9^^Jy*Rs+c@Uo zS6G3FVV{ELIRVFftGK5Zd?>yx92?|Wtn@=gmg#(HRz30Q0=*}iQEi;9cf@_Z!@tPD zppbY>9R~{W2F?U?@{qaXLO=7zmE}1}e4Qu?oQaLHKn=bXL-ZN6Vn4DC-VD}c1-*Cd zI9Eqx;WsoQo@XBw`nl;*<$l032yk`IzaW<=P6RS4&o15Z;YraW;T=b$4z z9+aaOz9qZC1+@6ZM@YIQQyMv`Ov&S$I4*E@0-NXyj-Uojq$i6C)3YZ9o^C2p;%GF0 zKSfOw3qd!0GEy++v8a7C8{Zr#O>9ni;%v?VzsO*nA|c-+ljQ@CyGK`Gj_e@*L&9h;Z5XV*{m$$EG}SK4)=VQ*SA2Yrw^66s z`;>u49~UT%Juaohk>Cc&97*UOJ0YjzK2rIQ5j}V^rTGda5Q2^!N$A~vk6h5ecJNGp z{3eV~USA7LO{q=dFP?9k6UCyXX+ghRsKLE4EcuplS|cB>(6XhG5Bt+I`on%k6qZF& zqL>k!&5B0-EDb5Ew7?D0&})hRzoBlWRHKR7+3q3%M$P#C;z!1{% z9msY3BOdZjh#0-Ww8qqyXn|7Bg%>z5qR^Nz56aLK+@l3~;apB@zDz4>f@p`v;L#q% zdt`ziMwqtS* zL@RU-Vv!bkV^)A?>3;Il=4(oA!j~f!m_jN(AqTv|1rqU{Jqirto!L@OYveN(T5teY zoP#vb;2gfkV~AP&0d-Y-j8^P}?y`lP)?$?wd6{#diKgMr`P#TMKCuX>N7`)qKh4*S+JrB3 z&M`y?*OL58RE0jiMPK$U;ujjpMn7v>V`@vZ;2V3{`e@6M7P~rbIDg>X94CFv<+SF@ zw9uF{J$j0~*o%o0_HXcyE?psHlb6TZS3{OhU-9(m87qnz}$l+zmd ze1(?%+0n_h5!!bxKy=_cxWXskTUebHjexH*E&8=aK_j}e7r~8l3OeIA>}-13_!mrT zLTw_W{lnRtEW??W8D!Cmu?t=56m<{cjdp7ge*|R_Ey$kDiblX!nU<>}>|=b?fZz9`Hpt%O<~SzNXYBd|?|j&#{j9j(T9tm~%w}N8lK{XG=M)k*`%~ zIqMZPK?S^GRn9iwNDp7wBbybCfUhzwWI|8IfGaX?LHK_B(k4^3-A zZ6YI*&^Kpdb!0$G_V$Q;;ugQy&e=jvYq3hpeu8|ah@Pn~@Eo`Rv)B_WAcbPi^pDKf zjM{`R#~IhC_#>9YEA7|r$2k;Eky2P4{U6gBQ(K}%^urrni9-nq@k-9cw_GLg3GGW? zb2+W~DlK@xM~E#*fUSu4NQ@R89gPZpm5h@=HeXX}OMDqmSQ3kw58@%xf?#;Wu6Tiu z%9e6kBR?t8irI>zok?v`D8r@o2fok)J%BIK2>7bfLR-WMsPT^TplgH}WyTox4KaHB zr=~TbHjxosLjiq&A!s2PwnSc{j43-3gpPSa0+7c}z9+cYuKsnW`^LhL0bf;GAO;@<2Y5O$6+4(8Jkppk{*XT# z|AlEys7++Va?V4J7>-hC8eJRb<_3*gm)Sy2Yq3fTui%Aba0V)D2{^%vumQ4pY{LA+ zFU{AC+7e%m_sC{x(LD6f57H7rkk=j->cY`mO>0bTLJLhBTf|HdY4jow(%Z724GZ#_ z{Fu|4uhPQnEL+r&IYc^VeqssoqRXKB$tCkOrMASED-mR(cl!`1aL&eSj6b+G3bUo0 z*2rxYT4)JvS<~bs*CgnlxM8`iE$Fg7BpLx8RuaMc;Z_u#QSU^r?pt61y@)bEum>%#2BQuPeTz~;#C3n z(=Rh$GinpQ+#3miU4rTgupSYzMKV`}j8{W(zs3#VRe31T{DT>sT$m!y3+TNX{ps zNH+Z%^EIP3;me+jx7e0QW;{8fIzG@JKHzMUjb3hAV`@vZ=nd<@6C9#r+mW-;k|i`w zh$`7!PHVnO3+*_DnjW4FXXb=VL^eS>W1sQk73OP7ZHX_=p-=n>9*K6uWAsBTLzmFu z2s}%CE#fS{BDaBsD_e(mp_o z1ljoOOlv}IBBRlXZ&`QF$QI`q7m>_rG@3`5jiX+*nl?Qn^%xw z`OsfB{sz;UP@Bl;yb7YMU;7Oi5sqC|K+isaAIOdiIjzMiE%bwY@PP*)FP7jl@1O$5 z@a5>1O^=zc8MP(8j7sM+G~(<7r$iz8L00+z%}~uo-)LH6Y7<)I3ww(7&Ux?yO5w=y z+Zchb;M;RKt@$b~q6-o@=i>)h(a6AxP{kUKiSUMV(rA$Kh0v_`I~&_V|sQ+T8`#J|{+9OM_=>_ z9_TlleyjPKQCs56-hs|I#~B2RSyNcg-ftv>mu&QHrZuLvL<_z>l5yt7>xf+-3*6eb zus7cZf1Jx{%~xqzCNzfSzySzDT3WP(kAg$=1@&z5?dEGrZNe9v6H#1Qf;8tqV;ml# z!nbG-i4}8}a#|zrsL(=7=E52?~0_Di&+7AywXOTNoMO*Yj zRTZ#0{%+HnP@BkzB>1tdg?!Qa(6oPIS>uK{uG)7Yr?pt6MXW(W`b5X3#o18CBE)Q> z5gy4ao1QdZGipnG(K~2%?f{=i?5fGp!__DJgF}t2Mz1xkF|{RHXu#10?G*Xh`Ga@` z4dNkIg2!wwr!`-u<-BFvVK=C8h7rMgXgWTl1*FI(|IU0(sZIEDWI{&w>Wpfs@B`k# z7xYb$_?6Qd`TGhjYXRNk*Ty^VoQvSfG7{JDa_TS92>7bfG9rya?8YBx!lFJOJD>}2 zhLqX(b*43;wj?9k7YhOq`h(G{M7 zukp&}a$56MT42yMIk5rFIR1bWaPIg@d~ognU+*s3puUDDlK}23ig99kZC?Z2GTl~ z*$%;u)Bj|?X4IDWa&$oZ9Or0_v}nxurzfb=g8XdspG|8_ZHX3gp)*Gr^aO9Q!OuY( z@l`S|<+Mirr9umITK~uz(O`RWHkQGz$mtxD&5B0ASCtmH0S{y$V;-52(@~O7*nl3P zs#rMwe$$#zTappqFyif%_D|3Yw_ppaU`dYRn`|McwOFO)jO;V54?Ht+YpsDizC%X& z2^?b$>5w)~f zLVV5TwC1a{=*f{C{y84pIK&;oQ{&2*+C-QH^8AT*nBo zl1*Q4zGl=Wd|BI|0lw@-#E6(j;KZ>TzoJjk8vU?ojj1isB4-hUIf`CgHz1My8BM}1 zHo+Uok2$URDlO#jneYH_=o$;y`;Zxnpfyv=CO=}nrqq`B;v6hT&qgWwa`Xqi*biRq z`Sh19<+MirtwIY)upH6Awt_Q%dETY$2z$SfypH+TVC@tw0aUVM)A_Z?Opo z$)-PPzGl>x_`+-8-H6~=$1-z*j=-36BmN+N9Q~AOjj1isa#nSe!rP#Q2SsG!RmhJ9 z=mmV`wB}PJQDuUiKQiOyH>?ML=k$)CTGppl-f35(BgdLffm+B4&>%M&_*xx zfF;IKsvZ<$MR9jaz!7+~HIN*g^F4I&0Q$-%|HFJusV(v47{@VSz&yA`gHYvr z>;P(@mM!J9M*g!x%aY(ZNNbNFDuPW=49D>1Isp`Cv!W63Riy&zY|owFzHX+Fs_&if-^mbRFwN_XZ9*hWh^VrZuLvL<_BA9pv$QqM{=VK0{yN z*OWsIFqhMsuhIfhh0Vc%^QHYE#%f~^?`MAE3+8J|ZHX`YE||og_%axaQPmoZzLDd8 zDW^5^#R@HZ9MXYFTh+({5g?9Fkv}-gW+nxxV*cwU z)0$9Qk`dfEA3GOCty}MoW^m)!1h3gbPHVAD%XH|Iv(OY)1h?=AZ}3Gg*uoJkoBopd zno*nZ<)h%;o`?N8A9;;obY=gc7o^Qb|I4(-)Rt&jubj(qXc|j`SjRGa+`6)y($`#0 zYraa$@eWzh8v1}Eq;Y<=e>>)a3F6n6&DWIL5?@3H_#iqt)_^V3j+r`UPWyhgl+zlS ztI(n^>m39T8{o{?2fxq<5#|;BXS1Ra@KvQ{KZ6Emat6_i_=7xTTKl%?1{ue{VpK0UB`TcmzFTBOCpiX^p8Z(Lz%(DnkJ);)UqnKFa6FVW=nOa$56M zTJ{vQ!XLC^4FFeY2!4DNQmQtYyxDwBsV(t^PN72HffG2gCG45@b!2_9}PJR#K`4H&F|D-q7m>_rG*XQ0KK~gw!femdpY_7FK`w38o$M~Ce$V} zq6cRN#~9v&6A+7@Vnjp}yzruIA*Z!irDa~6{rMMa;2lm}L4abUv)8KznEr@dX}S<3r6aY#8lI!~h?zDgq{!a#|zbuF%3> z9)E!hbZl8btm`Jefm^&0Z_8#yBjBq_i!-5SS&e$I3XfO-n(!XILNR*$JEk?Ewj?76 zgaZ)oYTmSsOyU)u5o;Yd%@%T6i)C71$yp38T-8`pd>g%+>_~55j`%fizGl=Wd|C76 z3GT2xp5tr@BI37}7n^3I-!-i zT{(V1&2bekf-`Jr{e!@4@_XiMN^OZR`m%-`&B+{4gEI0#56P`9@R2R$v_`&Pp%tSa zh$lW6MMk;fJ@4ae0Q_gOq7m>_rRA9Hd<0KeA3hz;z?N$qxAc~cFPPSZ+LDZ*6aS_~ z8}?x$yra9LkFyBUv0O>0bTi5B+Z2qJ{DE)fvT(F3v~8MLu0$7FLkt@$b~>x$S6 z0naq-nNBXc%>KdH7gncUsYPxzB4^u?I?>6qDlM*nX!mHUb-LuAJdvpTawY< z0soFMcpm4YYbc^M`>N-QG)7*?X)RW1ArEnh$VtmPJQ|8bt>}r!h<_{QO#j$?&8SWI z!dl3H1&|hPaXgY5V=*@&t#Ox){=~G#)Rt&*tn066xhNTELVr+k1!f#(b2+W~DlKc+ zRS4b&#*xhud&B{UMhX37lRq_IQ))|mVQF#|nui7!MQ@IMU=#c!vm+Vv6FIGspH*m~ zU81P1NdL}g@XIg!OU5&DLoA#XjexHzEqb=rZA)mNV>lsNp+!8l$Vu7w&rNGWZAnJ_ z)^a-Q8Y9*?xPlH6!!I&W-{-UztF({`-C{HUfg{I4k30Cya)UnUYx;l9*NoZ{U-U-= zbH;_Tea4&-9jt$-^G-2mbkVfN)F!l`MC>yn(GW3*&-gmBJ9faSu_77ga$56MTJ-E3 z31@twZ&y#yb^O7W_&48YlfN)uQ))|m+50#Lo1q*08l-|cc)^DB0hh#pY$>NT^2-XX zm;<3?tf6OP0;};YvDLj0JF;2P2>7bfattTOI?gzP+S}m`oEj}?f*kq=(rTeKE(T8mX$^o@QU3Ghiv=sE*iA|sk3SApDYddYmvs4ek@ z&9NXp16^l0WU(#4Jg9fP3Hlnn&9uhUmS`ad653aw!I^M{R74?u0l(-Uon~`6t@$b~ z{LlPD$1xTZSU30}JvrXkr?Sc0&DWILHebXPBNUB52?TIHGTSR1*=!lO)R=E6r!{g% zg%-b}Q{tvyj_NVP#!ti^Uc&vXXasy!X*o;axAsBe1=d3{qn2N+GY}zK<2xFG)`Z%U zj7Wo?t$(!Z3<tuS&&}72 z+7e$r#!?s&$ck=21T^6l%wuCLo{hfLw8qqyXn{}q_IXAK+#w-t#4z$<8}OCWny=CV zIbabqfFs+&H2~fPPf!LGNUAz|@-NKSl-d$sj&NuV{*Z#+p~ZRlr;!pRlpU9HS|cy3 z(4sdqkM7MM`hgp;kG7DLqu?F8X0xIZ@KvS-hBy{J@J#5!pQE5XGV+QpI651@)U+nl zCNer+5i5`t+e6u$qHQn?_P~iFF!g;-Yq3hpp62N4I0IE;yQ!lsbOlaqmu&hn^EIQk z#8^i#&kCNa?=`9TcQ;?Ku4ApZ9~&O8S{u^Jyyx)a$56MTFw~G z9iS7<@#m-tK4XMN^T?S^j+n10wI#kR0X~A(3u%lMM>AW+-Y%>z<+Mg#QK1DU(Jg;y z44GWzLK)xW27bfa+KkGXH)wTG9#%g7Uvf9$T8XYD@|)cZAnHDN`*z= z=*}4oN=7W-k>}hK_RJP?T8mX$mdp78PV7B=M$gtf@rT^RccL}@D)Tj?HsK45BUO~b zRTCJCIt?%)ZuT4MKLAF_AzFPvseIjxb`RA?Cs_Cj=wgm^lf z5oNG48bxpP!~BG31bkI#!8ulPuIG6BA(A3Hx&*~=2w%*9U2a+vYD+S@hC@E*R9bXI zjD<(ehbo#wZt=B{(^{<3f)9@4Ut$%!fKy9_WT1w)VU&p0^cCi7Ms0~N$7EL{oPi%h z2R#xK@e6EdnbBA_`dZT(Q(K}%zsLi=&`8uW)SWTVCNeueN?&t1t@)j4Ve6=SqY^6; z8Nh6;KIw<|sxc>DXTGM?miV&YI!hoAF$NvNi}4Rm&?Ucs*=#ANHS(7wTJ&!Gpe3Y0 zOT<*(^Uk>+i`cW7zZZ>wuPQBcjV?Hkf6;!VVH^-^ZBICrjN`92tqHY>jL3vv7}Hn@ z`+-Z>Pw?WHW=o*SY$2z$SfvHZK>$4AGk6K|!5`-%oAF^g%eSZh%6!eJE%C+i_8ZPa zPV9hZVmHShbb!|3n(^b6rZuLvM2jQr)7Z)}(2_$LF5#2jtX0L;xt!K~l@^|hbZ|kh zcoDRthhq(pX0EVGHu(ngHKn%1mwng>$4>Z*^P9DgUBD@*fWB&`rJUBtScO*1FZMfp zn)qO(#ySd%*uUXBn-z_KuPQB2NrXl_Mi<;U6JlNZAnKwEbDWL8(X=MimSjW%G~|qJ zue1KljWG;XBgJeXr?pt61tJ_-Z8K~Dri^)PV2^@6M<`BAzsY>fs7?6d4Cfc(u>A>4 z5gU=uo(}JP=Wnyot4wQ5ZHX2-G9MrUty}+a#5azW*w@iRzCD-Iny=ELKj&5AI-G${ z{-6~-)I1}jXibiruPL=9zFb#2-Z(-z^Ej8or|T*3ilp+#rJUBtUsq_^H;h%V1z(`R zzJrJJ4({!@!u_mh1bkI#5!Z<@#sOLer|?N0Luw>LTSPIq&BotsS`%tZGNN}p61(9g zXqb24*A)2`dmCTE{X$M_ac5eV2~->TNQ%e65s}6=bVP#tZ2B$cYesE}FZ(fP;w7Mf z7D+(^K0zIA9K$Q|>uS>)Q(K}17mjrt2|j5})zuHb5;2KpXg8b7Y0Xz@VP|aRiq%mC zRK@tp`KIE?E!|K4jrp2VTjI;oI9u=@DL^mQjFB155zVaGY$>NT^41D1>jjI`Kbk^c z@XEQa5FNYG8XRY{q7m>_rbQ-&hB1b`t_GZ8v7vK$vZ-QylomRUJ-#*7&esl7#5HSOX|5Yy@}C}FajP84s_b%w@9D_R>T2A7eOM23-C)(VQcND~>VBhY`b4}OC*FCV zcwMm0do0?>oT%znIX@lsNgh!Hs?yWr=^Ns8oa=@cWmi>XT~*5i)oI8hecoJ{+P^PY zci*_f!l};6;c&Z);FHUItGeWxrsHK|T>Z7jN(ZrUs2x?I8q_UvzkV&>TrnOGVIAhW ziBZd6z@ry5BEYcTYR4?f~+Wx0*j{$4-3# zt}NEiW*%QA#?@aRVmV8M)Z$0cG^29|)y2P7_;~!*unu$G#K_6i;T?GhB@d`n{-qM< zU_1X?+S`J4*<(=zf*2^QJ7A}SVw=0vxAUAkp1&<#r@3x;iKv*M;I<-)%ieNeb=sWU z_un4Y!(2C59JzKwr*|8xU#yY2H_8sTP3>P7tn(fV3)<5|1<|H1;}em0pP;K;`}^@b z;&q(sh8Ks4jki~K+R+JeT&(J;8XfNo*4=l0fCXh$49m_h*1F)Tm^|>;#JKuvkHt@7 zdb63hOY}O^leQxH`d)FSuUT#19Qhb;@50*5yMidtlV1xWYR- zF*8x%$V2mPJb!n*PIKMx;=r`$EKa92TrLQu+clqvbKHMVSPygEVX3nmDYj}bHr?Qy z)=X0)?q3Vmd5fjKxT5)vkN7CA9=waG)AVld$J6)5>p0gNUNoRoUCR0L$_Y-WF5SYo zm}Xb3_XX?j`#!*`!&STGFwNb)WVL?8^UjztzD$g(zxG(MqHZo#0kX%RD$6&X@d>BQ z+J5~0unu$G#3+kgA*SXkmFlX#;{`k+dt&PKwqRX8#F8x)EEcco$f9*d@AAKzoLJAt zc%A0D;pHhPqOg`N9`QMU)ff5H_fxO?9|-GVt{bfUl<#q>AJB$R>h=dccQ-NZ=WIyBAJ z4lf$L0#kg`tg0Pv3)baBESxaP9p;9*tT%|W9+^ixGoF7qUZ=Tkc+o&4e)1Q$izNlS zU+B>^yL$EhN5XoT>kbPVRqV#jYFB5}tKrBrSB%#M>%7IHgD2>n$EXjJ_N#NL$8$~K z@${qdI?nZmm*;7ZMH3?Dmb zCq90vU)fcMq>o&z>NRJ^^H0R1x88u6yz!a*))l!UfBj@w4|CmN;lu~H zG>O`UuS%6a-0F||*MfE4V|62SB3@~SD}|iGp}gy)>UKQ+RJ@LJ-S85Pc#6c_vQylc z;!;QLmAV@53)bCF@31;s1XR-P>r}GmpFXkHC!~q>GBK|H`Vb3`bScJm*9UzPD#!4K z|32|EVIAhWiP4jOQYK6_Q(q7n4XbLer}l3P)@6@HDL7C}v5)@7)+b=dV)}W~{r+d; zb(-sj*Qz#E*4eyPd^xE?X(sM@FT6j6^)S~B7PXo|s*V2qscYy#Y8mT#G@i4DUKgzM zhgjx|2`LV`cQ@fN$o99UfWIGqE?&pE-tfXjXU=7^woZQDG!=7OQ)B59?+e!5&wqfm z_GIdR#GsBvxwV!s=fd$aF|PjFW6?7mFw*bkidLMdckqQ+J9Fmo@fX56%yko^>|s;i zsUuQK+z^Tm=gyfk?QOxj?6IhYTYsw+qs*_FlM$|fCa3OSFY!9fb;FB0yK}9*st&|Y zb$;CodhYV~<1dEwFxL%M?y-|zkeiL>fY;@KepFRi<8{G0@3HDtvc(VTjaJ>1bd3B? zxt!y_ul`cJj&t4c@+Y9#SX8P`nyIk!Mp@|u@jFpQ z#>>RG`s+h1ohhBYDlR)YtISx_UiTS~zY^AAuA3MsBJXt;lY#@f?aM+nmVWiJ@wQ-H zKE!gqeyO`sn)dLRo#wjXg-P-7P!ps+Tc5{p?QKn_asO*!JDvQ?px>u7ir>P(u`D?*C@3E*|-|}=_P)+w&F2&>!KK;ELPrn|o<6JkqxRVxi zZCaP#6@XFoIY}h(Y zeCyn_av~p&$KMR=FxUV8|M<9%o1cB$Jck24<0-GII~+JpPQ+k$l2BRShy zo)rhJx`j2*^adxbei_fd6{pi&Z#d;lGpGruF6AF8WvZJrtaFU}-wx?vt{bHF7MSwh zahMEr*W?zp(~Z$wT#(LNBw2U9THzcBFw0ec$#SopES#QxCr-z?-f*JHI%CurT)*q> zn3yMezuY)!ye~+1zq>(_B~NqNFmqwlzr|wcesk?eFK6$A2Ov44~vPa@2j8w?lLq$iiT&9y&n{qmy ze?LyAx!!Ps!b$dGRgK9WC&F0!#oCX@{cA`MbKM}xt$izh3fI?t${ljjoy)87x*(nR zNS=`~I^eM?(=?R#oZ?%r#?v3f={VOLPV%G=_f*rgs;(a06{>0uaUM7CR?f`Pvb;G z%A2TO<2CO8B&3JA-XMuW-F2H&gLO!Lx`e~0;o!5=Z7KdR;JqUhtXbi{WpNDjq>rHe{@dQPwTj#EBach2InqJf6Zwu08 zk7T!MvAb;59n_$6cmTgTg8uZs;&htp4JTaaUWJ8ff1Qad}Y<=AvUqB3y-J2jMH(hH=N|jxz)Tg zap*l(UKgWD26wzKNO$KAlG$Q+71s>KfXj51W-@o=^4T+ACc@QEd!$?=KI}2%QtFCY z#BM|4ZbFR5zY6Iv*PH0pzpy@18J7C(E?d=#s#~M}v>;u!Nb*bb^$sj+rl>w5YP@La zB+tzm{QTE(I?eTlQ{4k^*%C!H-!wK)IE}-t@W=h%g!C}i8>C{o2d_XX+h zZ#PJ4g`?{EcF~C!MTCP_xvNZ!mx*xo(;i7o_EJin!L~9x~M$5G#BixI%G>Oi(V$pyT6aqX|6Y%MC3dj zkuIE=KHYT01TEdK(cS+;NDp(}AnCqbNmqyvycV^09MV)+I^FAnblxLzpxk$_$Pa2v z9%$YTUmaHmTd(Ncf1|*fJKZzJ`+{`$PdlWlpz0D;S?c~} z>S6_P?Ze|`B3%8nMQR%4BiZ8wRa=*-V~R7)AdbiX9nxX0H__FhyEi#se0X)Arc*Ut zhfz=CZ9%&1k?f(l>dOO=c&J|GHP_OP&&KmV$LTcJ8&2g~WpWI(SaG>nb0)8O2D5Sh zFCjh5b%SIlFFIE&6mh=l!%C#;uZX9|Ul*kF9toT7q|}Fp8PD5I!Ibh&O^v62jni?i zH=NcyQKP+jlGvyRwNJSc_gTU33)0=c?U1;Q$E!V@nxu7t9H}}A#qjvHorR~A4%;M9%hkD~}LAvab%8Wf6zzf)5 zCW~~Uw8$XpPyZgL(_C*jab5M=To4K6aOF)kzytXN+j0LNAwA4>gH(;@JyFu%0m9 z7o@xQ9TFAl)oOz(oQ^>ne^iO}oAELcu727g*@r(z*Iid{^0vyuu=`W-kH`NC=`h!u z=yXJm>RxFY$tGv}wCp*fIl)!qZ9%&1k?4aLwK)cgSM?Fv`+n_#(*@7}9jDV=Z#coJ zPTk`4AG%P?e(3eAG;+eY|34u;%yok#n!MN?=Av9lC1{xPZ!>GWE=cD+5`~;i9d+!U zW99QYrzgbk-PGynR6LKOXJQQR`hmrSOD$p~HAzknTQVheVZ5)rH`3 zQ-5D#R^R1)I{Gi>6XEKoJrWhmkDOybbBJ|K{;oGTXZFm;PYmfW*N;V4u2=W*kk@>Q zsm`oR<_o^$(($$+UG_+6n-81C>mJcyi%Gp5@_7EFIGyIY;Y432Q-V@y&k0bfXg!_g zYINLxa!3zzy+NwpxPV8!Gt<2;KKlDCpUcd6U69Uuq_sY|MHgTDLNlidP<8d4SuIbW z5~t%_Z#dOgDN$zRT9;`a$YHtFsi@??7c5A3pSnYWkjL|$2(S|s)ykx3Ax)3JOoXeS z_DJ$VaXi$AzS4WIKdNf4#X258Eu_O-Z=&NUd4{1{RR#nZY%<7V)dE$2T97V#B+(Uv z6TR+U!G*c3Uiz`Rd%la)X|5YiMJLl(QH8Gghd1aWZlC0*PY>x~t~W@Y@Qhqh+WB_& ziP-Bfsl;RBbwN7sk;;%~>cKMEEB&*(Yjses7*C%Or{i2VoN{J!Ne1OkmC=vtasb&0 z_>T7l>FzUkNVMR-=616kx(>DW^6mznn$CQg2v=f)@eg`iiwr(-lrv(tMT!8 zAJSp2H__QA4iS0fb-g8RX%UhwoeaXQZRhLbqdM^#}DGZ31Y7ZsqzT%>hoKa8oTtffrlzRN1Asyy=6J5Pu?)4N;s$ShO zcksM;@#G5gZb7>2k?LdmAzd(&0i5!=s6YY8%}ueP3-xq?tm4yR)LU2 z=>GKiAwA6X2B~?-KlWR@k(mfoTJMVWPl}D#1?jv;l5KUR>S!%a`@^A=O01t=tL5nn z;&hzrhSQp>usETrfe3-x9MME|e_D|4zHo;m|DLZ;!mF?0L__@!XI=Oj-OEI{`so%4 z?|PFtDR=rdWkpCaOmb{J#k~8XkPdVGSac~+Rd|wj_(+b*C|8FUcl~KWy6ln4KHi+C zcg79BW@WtVDzomMzc@~(x!!Q%JNfB0sa~j*Cf?yEk1;cK#{EM`4|Clh@vZ8p4~Ysc zmp4M)8&!cs|UmnuKTsKHukQ%t>YrRueQyU*~*AvF;f^^;@Rm1fs z9f9h0Vjx!0d)IT&#?x2C={VOLPWW&M1u$zCHC5{9^>K@Kl{oS_s z$_eo4R&S^R$IC>x`e~1}=3WM=(^R1}mN3dB6`OZo71Cj@H_`ErEZKzxB}7@>@fsYN zte2U03({qev}!3=Vyrud}*o#wjXq;lO%>vMcaF_?IncH+{Z>d)i; zYeIUM>jtU5h`-4oU$N3ZMNDr#!^%2d7o_tRNw&(A=bFdOlscOZsE#NmcN6L9YvXjB z>kTJyIFsho77v!~&ZGU!AbNE@-WR01uiGIt12BVwPr6WC_pVFPjs7!tFB9SFr!7)d zUUk~#T$*4dYp`UFOLNJ1{Q8g%bG?a<7gJh{c&R(w$~ttPI}y^H2yYA0Wsj7T?QYsN zjd{ptbr;!a`pn7s{0(tB&2_^G|KiFCIEfY~d5}?A$y>7*+<#+84|Baia8P!X<2GIwr1Kt02dX1dIUmHcsUv!d7wf!=0(PPLbNt3;JIUM9lTPg|s%r#`7eC8+hx7=6?$Bi=C?C6>&VfxWat6tq9spw7avY1eztd1^d=OPo$~ z-EgWFs?K_*{FO1d-l?EmGCAEph4e7jk0J4$XX`%nZMI-xcT*x?VVIv5r1Ksrov6g2 zb`@tcyi>SSuW{0N`qnrd=epr!zaJ-hzHW^V$I`|pemHj`y)Q_2-?l@-Lw@*B{$aXd zmII%reLCq+6XEKoEs{L*k^DC~X^jsjs6if~Jl{KUJbrsfhq>NFX9xbCUHgbgs$#Y4 z8wly|zdtQVmpzjFsH<|HF4)mJo^?a$A|21)5vS8!H=Hn$b^6els{W~IaprE=kY=^q ze`iP!bG<>TYZs09>a*VKc7FV$7T&ZPuM5(7kAzQoG6%SZIvDxaoT(4;u=~?@#pyWL z4JUchm5NKI#6T|$^pSF#?`L%H3)00z!LBw3Oz`zchP?6z9o zL|jkis`0uYowrD`q4xdroCvC1b&CT|l;>3yIG(;gPRF_4a8eQVxbR-wbZmNI#_Qs=-^yLH?%o!p%N{95Qo33ePxnIDR9BI@f@+wYo_{b-r@3x8 zIZJNp8J;cc-g8JNHOXl|?tdtxhq-Q$R8zGEF{GlB^D2;9khyBSE=cD+5(PThb6lE# zawtYVG2P{ZpPu7%oa+rI-<6-#SZ_~UfQNr-S)_71qkCVF?tXZOL{Zh^x7TW37pUJ= zCn~^+^dB!1;p(S7Qe6nIZaiXHQFxUnoKQv1+4A@!AsyzriEiy2`9=g{z^@AAN=kA# zyz#amUA9P~;XKcZ>myC-a&kTI!=>EqE_&C{prN2Z)*L}yCvO4a6 zETo6IZjkghyHr=TCfmK|rlN)7jH&qRf^^;^RkKY>Y*d9Th**Ta@1}v#bivb)$LToN z4X4$2xY--GFe#Y7JK;Jx-xs92pV%O+_Y<`yKjDVhEKxHw#8hV)FB9SFr#%vlbTN#| zP}xpjtWqL0|sW_eHy5Y3;pt$KAMW?ffSs$q4sPF#t(;+>~^#%z}_b*w`kzy2Cm8`Gm zC|G)Cye>%RJ(51(9a24*-QwaP@4ZWLol8ZJr=N+_ajqLqp3UQ!sOPmOaYa8IB4(Z$ z?+eo1&+d?Lr;fAZCQCjoiz=i^@AG*(e3=MWKkbp4mog|awZ|D)iqFi7XL?Vh$5Tj$ zxqd9V)iJt3eF{4f;iP8G0Xpkd9Hu`lNS8fQcQMba6fRtq$HJ%fi?13O&p#KZ(_A;4 z%>Jg6>h1no70SH4(NFXcXYTHQKBR}aZjkErGA}dEZgRR0a5crf60vi}>wF#BRZ31($%=IsU)hVI#oi?2lBz?9R)>k-bioC4HpZi@d3r{9nv7chA2Rr_)?-IN2j#&d-5(gCslLq#NZR)kbGKV;EQ8&QABbAf5L};&Qs(RH1L0ulPKLH?|Y$=~v=( zoa=@YF5R?LmVV;-JZ(QeI7QyLWxOv)cfYzr;<%N4J;^P@PxHGT>|S5(jF*XU_0t~d zBhOHk+IaAljv`u7b&tAE^T%Hc=`h!u==hh1n&kaGUHyx(8>gH$tMDIh3({qeMBUXx z`A<|S+(e;Hvqnb7^RLJ0G}jF$Y@96~JLIy?p6c~IQL4zv>HarDdYJ15iI2I*Kbk?} zu=ZL-OSL+}cwLard!)SEEfuR=C1SDgKs`e3TzkROZ^r33*Bef<<1CC+GHrPQBj0oj zZ4UCq>;>-&(%ofNt7kEO&%xZaCkS=?q9DuzX>My#wcbIgqP$w#i)5i1f z#OXBG4JRjwi7wTz9NEM1TwTX0Hh%iukRIlGgXC12Iv<|1`LfRIJGePY#B-XzE=cD+ zlAU%`A+UI`TEmu)aOE>T8Bf0#r{i2VoM>8HRPSzp2}f1k`01atH18IqyWig-`Ci7v zNL5a_acCtBgd z-MEO4r^fvshV(Gk4H8Gmj#%n>IHn%|I3?{l&b(WY&U>VsqqFEoT-i+}Z?~J;SkZDk z{ZX8bbKP*Fr|fkHaJsz9o6nmRBI6ZGjQ0iU?vFP}^pv6MSEOpDNm;+4KaXRJ_js8I zS3m8M3g7B|aUm7?yr!q0gA(>R^xy5UrnsEHh1Y_z4J42V}}w$AA8|16}3xo(j1Vo}sN zM2s6JV!ZY{C(YUNx*(nRNMhqm&r=EuJw#lqYuE0l(#O-E$LToN8%|Kvm-?u;K$Lf# zs!8A6q1)93?+eo1|Jor@D2-N!cc+6^b;}veMD73IO@ynT_DF64)joITWbwsSHI_qB zLmZEP5z=9K)t&UhMEA!^{-KIceEQRZblD@N0##&DrFCNwbvG$>LjBOj^Iyj4 zG}jF$=jQI%JG<(uj>QX|`g-%YKZo=%*Bc~S>yJ4=WN>*LBmU%2jQhmATaeCsBoXnh z`VvuYs+)+Ysm`ZP^xvQUDo)3_ZaCEwd8auHQNH4Wu`cHXXZY_03)0{4^1+e%d3+wMykn8mTTkyIbg+P`I`D#^c|FbeQWVI?+@KILUic)Lf~C z>fwIN?s!{}E_)>I;b%PRD`pJ8Q=OMYy7oKwr?)tr=K3*Ca$8lb8K)~xbhDFJu@|9; z{r7^u4e4R78zlbY&Tc8Po~P)SJ7kPX+%l0~7o_tZ344yL6L7PWn-4Nk{WMqPaXkH9 zoQ`wda58VZDajGl?WYr;Qp@K&W_5pBkna9|hlF)^2vKq(G zs`JVv@0SVj&+hxWAf5L}VyUAwOS+xY*!|EqwC@!9kEj0~r{i2VoT?LbPOUN}Rz8r= zwNt4|ULWrZ(%nDrkSI`(s^)Rf<*Gn_q@>8|E#qY(T>Z2~;%MHLV==6p;HPmF4y7(O z9{(kz!(4BovtJZN0!QZTc7_TTsqe)OeY`D5mpu|~asn4r@1o-ZNUB-(WLOoA=YNgU zX|5Yi@`Hz`)_>TPxn_>n>QF6=`+p1RVXhk_3e+v@iyU8xNS&Qbfn=PSC!(1jKqpb8x&bNO%9fL#i%$FopG) zv}^u~(S(qV>uhrHeVi2;pi3Ng>a zs&D$FdCm>vZ9%&1kvxYBC-H)6fuHYb%$4${?q<(?{?9m_=DOjOtD91(MdPL%cGSm3 zq|O=l?;$DTLwgyLd7r3j%JW&hW$N_4Al?1<1}V37o2V;Q6V$U8n%MBJ(~OsiaP`w3 zNmrr^Kebyt9ED9el)ZGCv*q#sgmjqeO>|-@zMPDan8Yb6oT?YUDLLL2q{|+O5;C33 z?XPpIkG$k}eFpA${`mjv8r^BG8%}G-R4bHG_dFry`ed`AyWT{)|Adep=DI=BU8&+c zj*#n-Mh@ui@4HWo({ZjFPVz$;`sPbj2VbNz zD@ICHo#TB$y8EOJk|)IA+4_=5MZDrb$Z2YQ_RN=waP`w3iI=*W(k0(O;;?Sj-4*2l z;&}YzkPdUbiEf?XsjNzJ6aDMk9IlG%ol~c`1?jR!%1>)2pnaW*54_@zZZo-cJby}@ zPIKLG!a?TN+|}1$$e4IIw3~)c$Ni^<^f1>Ak~3vqAK`S-P`f$fo3)1fe!MP7=RJ~q zI9*)j9xG_&q1Z6i1*hUqpBAU%TsNHfh5}Bmqv;7W=4o!=0~n&zpBALMyA4vibOgL` zva8O${-!!UVxLGa6XEKoJ(3#3XzfTb5MM6mORsnWtMT~hAsyy=6J58OW@Yh+kT$XK z8Y+(db{Z+*&ODZ@}-U;VnfAw>v@?7S3hl$ z>S)}Ed+Jk3UGsVQ<8|oQ=pH{iq{CcqqSIfCLkE&4-4jaMi<;LllT-Kc1?jR!!eH%D zyouTBu(dB?Mo*l_^XJ6rG}jF$D45B6e#)6{3@U^NXcViNyZg@#>0z!Lq`EAAzMV#rm5A)_D4#aXQX*!--SU#!gXSpwr2O9;I3+ z-@F>{3)0=^?U3Z9`=BSy(IzOoCY-bQoPP6f^OuQm_0t|nMD~=yT%l6xl9Y=Z6nNwD z^Fun!^(MOdN7V`wlX@DT!B8c=#)+R6q{|-3Q+}|jE_$72CP6cW3uI$Fe?gp1bKP(X zAy>n|Nj}BJqddlOO`yr?{tH8TnCk|qzujcVsX9t}h=ndP=b36{cDmOE>AXk6UZ*c} z{SA~l;;U}FGGTaRJbh7|j&t2`;veydjAvFKsWMqrFZt5DIT79$q`NQPA<35( za4}-h)D$PjRafI>B3%8nN2>eFFRk*9J@u^qs)Z?o6c~>WAsyzri4J?uK~i7c2&y6Y z-Zy!u>A#OJNS7^AamjSic~*42$HUa|o0z!LB=OK(wR)P;sYDel^oUO4gYmi`o%cvGtF!ry!Rk$XdOwd2&nfCUc5*wr%KL(J_qaof(K?T0QO2;OSxl=&y+MDP2v?G^;CieUlaXQU)!%3Z~Rot9RW7XR<<&XH*59aOg{wqUznCr)o$~q(&gh!hk zwW{rN-YA>Xn6ICgvU=ZM_*pA*I>%;{3NU6Z9%&1k*aiF$bW>n1vmgu|O&cdwvT)kZ0p zd1JcZZ9%&1kvOGJ215k6r4^oWlg0cto)2+4&2_`c9)9jl&WWO-zE%B|O{$4<+<#L@ z4|ClirKt1QN);*ZKoT#``j+p<>wc@eRf7P$$k;A9{)RRe<~WH^=EX*A1uo zu3h=CI>dn!n|R^y%e-g4FGzRavO}UJUMcD~4*2o8y)wa}-c3#~6XEKoJ(B#=88^DC zHalrVueyNO^_}tf6w+a?H_9R-CMcP4Ys62!bo?_!# z=gEQo^sR9^&2_^`^m3=p`Lcdl|81W8o_3y^ef<90LVB3%1_=Y)%}u8kZF$V|d}`A8 zjGq>y^Bzh3Jf5b!KzFNpi?8TRP~IF*-yWyqTsNGWa?tFoMlhhcz5LM}gfn$|Uy$y; zV~5mqP4_w_jk%h>(4A3b)}JQA)lYk*W@NszLk761YJtfEP<^65eP>9Axo)DP3r*=_ zs&vP*v#!)FEYJCNye&wVJyKHumi{9q&a7+U(H$tBJ|EBD6{pi&H=NXJS*Dd7g&Bg+ zL|2ce{<#0{kRIlGgJiGWD!*x$N1MGAPknf~e!MP7=MRy@aGN!5uR?N^?=b8JGoHRD zPRF@!ILUFdv$-I9YEP%+P%ePG_J{GlAl-fM4oN=br~m5Ze0@O$*IArYCGo!d_(Zt+ zX^(W%UT0S5U`^QZ{QYq{&2_`6`{gNOwQDL-H+8sabh8+acrXlk(~Wyk~ST6XEKo50U6XP5*F{ZJG00Z;7$boHQPP zD5S$&Z=%D5b3I+pgQL!@-45iAt7zrFKP^a?J(7N;7dmhK%cn`K?kMi_{O-K*{2Zs# zTsNF3?76yT-3qduO}^S`S+{YadSbKP*_U@E0NRCTI`=v^)#iP+>D?+eo1kM58}!aeoP z)!BC1mp^hU{2ATLM7a8Ck0jUiYdxfiS7kKw^jv;VF@E~7kPdU*M5iBeA9XpYoOSQu z3QAQ=nDf(ublD@tgX`8l8)hB1T+-2d`54bX9;ee>H=N`LiYWM@tm&6xrWR(c-jDmA z2I3hK9P79Mx7MP>KPhE-Jceu^M^=kOwG#-+*G5FI!U{7D$nETC*yRS>kX&X zM^3lXT3^w<;o~6--d(HZeL=eWsU1>|!=S2Ib0sb)`cv~o)c$+HM7a8Ck0k#pSbyOl zb36T;IBSpd9Ny#cr$ai-brYR>b8dNp0=X^~i)v@h<#=0=E_)=J>e1G2lGM^6bS$yT zUU}fU@%%G!I?Z*%sakKM;cpLR*N#PLXVBaU$Wi^Vj?&bjc~fIS zdR>stA0pYuO=;9^plC!`N5;r$)8kL4I34G@;pAqlPO5)9yH%LWYxW_~Ox)vrLAv|7 z9TH_^m*QNm_IOmZb@5!O+sW{FnFv=ueTdZGf@LY6<5C|^Klt3wG2`*)LpscL6CK|= z51u^njl79>oqBRcZ|}$3f^^v<$rcTqDy~%HPA7!P?N0Q2JpV$RPIJBCL~DHHu4+~t zUg1C~p2yi)J{|WjAwA4>hotKJ8`B-aYkYLhwSPDB%E5SDkj{IgI-5CNPZ1Ai(McDm zXW`{je)`2Y9p}2?1cP5VP*kGy&hOPv)u6a%FL+;&?tbY5BpJ(%^4BdDhU$?A^@}Oj zx<5^XtDp8rPM5vbl%-TYXmWXvEA;XB%OM@+x`~blt12D834lXWM&IO4?^VL=nQsfy zJ3sxo(i` zYSQH-?xVFITB{!C)B|UydtH#uA0nkMCt~6B)G~L=zfbEt)8kLS7N_G}H=OLo%lzdb z4)lsz;^{t+C+Iic7o@vi-yszPFQzqxyOrCQdhj5sg7GpDu73IuNmQQ0qCQMxuVk%B zqf)rUy!(xi4s+c^*X@Zjiv}m^sC{`Ar+B*;@za8I*&?mo(9`}E8 z`8VTqn(GZG&wHv^C{%9{ne12p#Z?Z*{cnZzFxL%|o#{z0zR}CYRF_(Ft6#|NcwLar zdn8q7kI48zw(>!_#M2G3PC9jZ`t3L!=ept4jOsTxseVyG;3sic!A_Vuy)Q_2zq3P< zvz*AE_EH!N3U(91Zk>hWWg=Ytv`4Db=jpX;I$c-sp0{KKrWnWL?}l`k>n1vS=fUzW zvU-tksv=qOt;~$K1?jR!;vh=b+vuNfAoBb=WB7@Rs) z=XsvW{GG2vj#-^h%;Wiw;&htp4JSxV5_4P(yeV6v^j&jPF8e!c-2ZV%4|Clhm8Gh` zOq+5(#iPH}>vY{T#_NJ~{t!t_B2pPnj+fh$xO`eqxNSujH=xcccsq`Ei^Xrih6Lcykq30F;z z$3F|{FxO3V?Nk*ynP;h?cKxpY%B0U`r+ZtFE*~N_r7)l`H2-)&{!GC-UOi_#|9PBF zbKP*l85^Am1MbU3RZx9c1y#l4{(pt^FxMSYGelg?2AE>g0qoDAVpf~ubwN7sk;<0{ z_#K|}Ijj!I9ioNp_jvk?I34G@;j}u3ziFbwh>rtk=N+fXEVko)LAv|P50IS3Q}(QS z;ASF-GpFUK$?0VxT>Z31lDUuOzN$0ILx%C3(Y-E6=MRy(Ip8GDYNSpq8kwsb=GXD`H*q@7 zb;Aj3KX}QweEH20_WFh&)`>CR7o@wl9TFC_wzKY=FFBgtO)s&F)_r^;T>bPRQoX*O z$fMZty4TQgtm|;zc>LRt4s+c^=VZH_ZuV7g?slTZH(vQ+-g@2^q|1j$w4jXGD3e3Q z!eg-Tl|R)pp8qaRr@3x8>GK@rxBjMzWq+MjPAJw+8ux!6(!*SLNKo_(J2;}OaTi}; zB$IOI-FRJ)&U++T#@xBwgIBi+SrZW)Pl&Np*DV>Tcpa{mYkAs_y#K zoCxm=(%nDqkaYWQV|G(b{_1}^7q`-_2xkSqOoXeSK15Q#>V#)#loNbHx8}Pj>!#!J zpF%p!brYRuQUs@*C2!p_#6&xNKJ~}jf^_*1iI-^8=``X+8Iw_w`ZiYcZ_elc9jDV= zH=LYUWylQFdIAOhXgBk@}(#+qJH-R$hp&*<8?tg?~$n8`7%V~ zH1Brcx2SQV!R(n&{}QL;TsNFVL=U<^!Y*d~DyDi46m>A(7o@v?{lES{|G)q7aUVCI z`M7Ho7_EQna1mB2gOBpQ6Y8AvzWOrvU){9F@iaDiSY4c_aye$*oywxW?fxyC!(4Cp z)SYRBxqg60^&y+Q&uQyl5aVsZx$JSuaJ5bY=cfj2dg({q7Tm)x@j1=)hL4l=Sx@p} z>Xv!AURiR3xX1m!hx0Jk4UYcNtkZk>MHFSc&Z)!U>D_o;aL!wt&a_XK@ldNWqzhHQ z{4J;Y&3O8c_#EeY!$%xki&2@=+5AvRzJ1SM-G;{df^+wu8yx4yi3=&K+M7gh=%ZHZ zOuEtBfA!BErw-Om%w?`B36C$UK{YZS-@`e~^(L-r8zZjCiTY5V;M3&pvx)Pz;9T}N zGJ^vT)3ZB;NJK=l?mzVM-v$0FKBu|f@KJl+6zs>yyF9I?pvh(PcKY!Czr%T$>jp>E z^%x4fYw7S@kTM)qrNSJq3(k3qLuGmOq}-@9uJ);((T$+atq+W+{}Z3%TyOZ$Q8re` zYxnUAZhBS2eBrb4w%}a0IJB!Kp@~6+wCHD@9!1SR zpBSIhTyOZqohD_Qhj5ffk#^(CS3Vo}pA^o+Tt9|mFW<>cKCYL_UfSeQDv6zc7M$}Q zM~A9+$uc!W*A1z>*C#13^?CZ__#EeY!-qe3PhL4#FIsQw{9V32nnB}z!MXdC9nRWw z>gsB#2q>;HAj^e_r_L{P|J6TRoH9-e2zE4?amvZ^zt*4r^Qqw+=6VxXDs!n}*U%gsKa58ye4_7N65xZ}^C$jziNr4IXJ@^&?i1 zPJQn0!g-kM21jM<%PGTgs~1fRuE2!9d^27bobwiEy{Yhx?2A$6%J}Mmawx*_^y%?A z&h>_m9-0DP;nqBqM+~^{Bewd_f^+v78=T^9I?0awz{0CaaS9KqUh`}2zxrp7!^2Ju zOLgj|^;z-oIgR^lJbq?4hq>Owg>w}Nr=F7|@leP3!H~hJ&)b4?+2ZKO-ELHusO+#u z*O2w@_jq3aa(TXw&uOkVe4O1>ktD_wQ(h1kE?BBy+-7|}eRh0~bKUT9o?6Pg{L4}5Nxo?Xzx&AS ztM3cW-REp@)I&b5C+8uVp$F|D)$O@^yv+Sq|Lk#84+in3QqxovIEom%Dt+AV{#^*HG4IkNn zP;XUL@|2V6AatpU^`FlR=V7iN!>OZ-E39HE`*dFCU$-)>$LoS~-s7Zm-8Gdx-(Rgw zeZAWW*Lr{Y{P-N_dc#L8%9hNwmhC1P1o`4F`JD6OeZjf=f*p=r=+c~4H!>GQLT}vY z<0N%BUgrL*fA%OwW!}VvhpUb{dNonMZl*vR zZwt<4kHaNZhn`hmY@ck4kQe=?<#_(0_?+f?!v`1n4XK={F>G|$aP$>9)PKG>oQJt? zaQa@~;y{&NRrp=@Wk6@7)_7fT&U+mBrm|h)z+P3-OGGee&I7aFpC00Koa+srGP`oB zTZGmO6rufo;EneM=k7~(IQjzyc0lOv!h0B2{k%cNnXi|*|LUJTj=o7#ZmtjI!xZsZ zvk9k}ug5P9=P=isxM;`ke4=V`!h!!F;HS2#`Kiy_f^*s9h$swduQkfQxIpG`UWYrL zzbrndx!&**iM(`n(S;^cP`jtXllgJ~7|z37H#k+ZTck5Rz21nhwf#wHdoaHdY+obmKE@j1@* zV|-+4MX7IetH4pm314)S_I|uCICo#W!x58S+Ii}p*4-6F%!61`a_amt_h0?9$H7^j zqDUROzqs;Ly6`G}CeGv6g>#teOG-r6Q>h8wj-dW$_ z@G__WEI8*q&f2H!GBNEJhZpRZ;a1zt{Xn0p)r4SzpIzx!kOJ1>ErY9 zzTn&)HaM!lZqHDfPHBVJI@jc?`{#I>`>+1l*M}g!g-kM28RnV77H!(ix|H1y^=@X(s#%Ef^+w+JDl~NfIB^95DH#$Z&h)r zI9}%dtADmQvg2p10IzYV2bP0g>puF=w}o?<>rGs8+3EOvlxOGjf!*{f1LoI)bJ^qY zyNEEN0X)u?p%kizn9VALn#W%0H&zN2 zU+Cj~!MXdc4GwScB0f|Q1&nZWR5u3I^u=b7ZX~v<^_s7@1?RHGQBPG+w;ww>MWs=sE?XxM^LYNA_?+f? z!zUKiGIg9u9ePzCx(~FnFz&xMoQJt?aGWo42pFgU2u(JKtE;(cye>HBTO2v{ymx1N*Jwae#5YUe#nz2o)qzTn(_{|=|gMAxd7Phw<$ z{j%O|(v6q7|LUJT4v&1qgy)(M6v9-5^vVn4@fglwt~YTtP0blj>287#<;4+OHLtq- z{k7m+_BeT84TVW-ZVp9X$<_TmH=chWKBu{E_{gfthLWyjMl`giS2ZFVX1;B4_jr?&E#IxqIH>q$&pRV5xl>Oy6!p-AnxU=ehstpDj*ZM}<&lFj2 z7~Ox$V(#X!@iO;c{jVR%9d7xa$liJH$)%~11_dgZR z!(2Bw^>o=+6Y`|%G)vcs*4+@t@w(ug_c)%B+irB--sui2b*UxuoIRd?IzGp_-teja z;vY`#r4kfwUh6{cr_S#S&fU-KaGINS=q85WKGltyBb->g<7Mu@`e%=$*HDH|BCMLK zv~FaSgXs5o{Mm30bKS(1rqDz}3%TY4y(~}R){TC=EjX7gj;K{Pw}?fxL0E4e;^M*n zVwn0opW<_x>kXgv9*LC>sC%usg1_=}249c+p9|+>lcNTY5EqTv}n6fdsMn{hq;e0+{`z2VdOesfY)UhvgzMytz9FH&I9Ok--t1PJ> zI@jT0bLQHob1Jm)w%}ZDaniT@p?!3g88zAOVx?T)jOSmB&uOk7;{%62vQ(w&8+h=x zSfI%nre^=R|D|vq=DNYrr>e$k5w`PnY1%XaTlJp>=e);}bF5W_9~kp_`p<%M_bWRb2;H@u-)!)i3QsAYHvuNj%iMqU z&mL#}3tLS2pVA@JE7S#6u*c)ChI5$fCa(H$S&=glK(e=5QK{4t?|55qE?b;Bm*4hu zKap{o=mBe$Q0SWX=Ul0{JYls({IG*IM*9KJjb^(j#=|&J)b&e zWZGan-WQy^-`wHk-gbxcHv~t<7;!sPJwe`UTv&+IU-VE_)oOHNWuS81o_rQZ}`#I`iwd<8zwp4WGKR zeX{NMdOx+6uX?4<;s0O!PB;&9-Qdtt&h<_!FN>uNHd*S;>SM=&fV{AaKu6vwIM6^y3=8{D#goA zaMF00`>+1lBji*11&vC9BKF!nO5YIXr znqL%xg3mSY?+eb|AMJ3uqwuqA$uJKUq5XK_>J0vw`>+1l;;6+u$a%EjfE8u^j#K5& z-|v4M&S9=MamgmX+EGnfDJ7z`!7`rnKK8cYT=qEP_{g*JZrZ1EbwzuOtmFAl;&Yno zhEM)#f>%|!SRAYS_zPS2pFa)fVXhk-Zr1ZCAik!#+}P_MFQvEsv*4V!IG(8nRcTr0 zrS2Vd6a62$JJ5Lgv-lk6dc()J`a8GEH;v`FNlGad>nU8_pBJ3FKi}clp%Q73r&VtE z2Hi0>R;P`Zx&P{)Jx)2Ti&06G`H+)x5Co^pxE}vkIET4z;?iq$@OlGX_@=*boAKR{ z#5eou+k$i1;?yUqWk}xFL3qkfv)*UU8qa?bpVM4#_*C5#X^MMZWbsq~DeMfLd))tJ zI1h8(;OKbjpseSWd@K?ZG7s>=)cJM6Iqz}Gj)-7!9d0^V6}J8*M(3%|(>XrJxo-H_ zMU%D0)LWBFY@)(S*2O&D7o5Aly1^-GOvIjNeO4c=yNcP&t?!SQx&P{)J&xVo|GO1( zbMsifU^u5!%&)%==P=ig#pP_S$6RHm5MA{%o-~c?+TP8)zb!bIJx=WPh*e?AHbYeh zXV9#vIG+C|KBu{E_|#QBxz2<#WhV#IM^w6q{__^j!(4B0WD0XiQlnidqV|2RuXekc z`n)bU=RJOwRWHpW zc_ts)R~M+a_T9|a+k$i1<5WSI=;~^X#v-#*#tM&otCIqz}0Z|gtZY}XE1CzO5hm`Hp& zp8hF5$GP6{@g0Axn)0xUYj1T`kEPYTC%i8>cmI2b(@eo#52{Xl2K{y_HUq}X+<*1Y z9)~LBqbbTkIMPSOh?m2vl=1k_;T-0=iA&c>R}~4f9wGPX++WiC!9NSmWsg%w=Mnkm zVb43C9(6c%>^bx6U*dC`>xNIRlV4eB&ew~o3%WO5oiy(MHJpdJ-rzLLd8`g&FLl+D zOskk~L8ABH4;P&C9>??iT8FOYxklBSMIz=UC==)D-{Nze>xNGiraq86h@!!Ka z%=IQNj42ZuA9HaXUViN6fjZpO=WW5c>~ZYzboWvbIGyskErj*Hh}n4lkNBMCy5S?Y zI)|=Bm-TN8yr|@R`s*um?%e-pI1h8(;OJ9TCk>iDG>4cn(7LhBKK8ococA~)$hpl8 z9t=5sniXru98d4@InH&%rvU)7jacqpA++V{y*_K&2_`4+0G$lMwX#sx6WCWBd+P^`;Y&BUG;gG z>jtNZCqB>lC(5n6Je;aRH8CYw5}WZJXibs>l5O0oa+srTWBoRJl-R@Zu=4hTWN)-Tk{wLibi{a63&apYJn1KS#i=}ddPNbPd}2l~f4?s{mpzW})qyA18;hN^#i3X! zh4py;Y&^Mhhq7`=R7&?KP8-pxo&XeTi&aC-4Tjuqc+NzSKUFz z>w( zhiAJHxMAdfJ%swWc1pL+**9M1{;PlXI8GIblX-}m_{ab^iB^=$edF;ioWooOG{Htekgxs$l)qfV8yZarEJd_i@r7E4$I~O@=?Tq7P?!Wry z7KefymPe{pok+&%p0{xHiEqZ^XN7Z^>&N1P)9tN(D8jN#6>MO6?IiU(-WHt89;aHT z0Y_p7Q~qFLv`#jsjOWje&uOk3J~WYAK9nhn_qRgIdB+QM^WT3yC!B}5ZgA>XqW5p@ zS}9*FboV35@w(ug_c&A#gGkbBBqlWgO>v z%6MOJ?*8Wnhc0qjzfkja44=aEuMDK(c$xdJ{@LTG1CdliovimzqY7!FiEsA#$IlDr zFxQ*7U^FT6f4xkGOrl(!D>0n^9pG)jx$JSObl$H^;144fJ`*YJ;Em_ckI!kY8$L8? ze)CKHkT-c3J0W-lJp z(W{#y_4w`!+1l<9OOrIiQNPvwvzvT=i)E=ZnKR%yko2eJh>oKl#S#G3BCA^`8ajvd5v$ z>P70(UB#+8)!*#}CtZ3xKg8!W*A1U042M8VYu&33CQJF56DFVgFA3*it{a^4+w3jd zPOkUYD|3Yt^q&Riyv5^Dx&9j!4Rj^Kcgj6#snFJ<(_S&w_K_;;1Mc-Sc%03^>>B zwW`)T@YLt&E8}yV>kXf>Z9aIt%kEc&)PlKJ)3;T-0=iOZ>W*vW1An1d)qIr*fWS{!c+ z&Sj6oZPZp(Gze>VXhk- zmDQb>bNz6gsKiJg*^KqXd0lYMTO0_^SCulAQXB|L)^Xwo5&HY<>*8~q>kXeeDLp76 zE3#EZ;N}FL!tko|`+{@#^*bE?@nk2;dOXp4{i_>h_XXdM z=WmS9X|5YSG|VIAuK$`q^)TzNTt)qHe+cJct{WWv2Y;+60F%D5zQ+4e2N3DHr4QW`lk3C=X%2j>zq;lv6G|q4=ZGtyeRwQeZjf=<{gfR%4yNa zvAuGXuPL5O{rx`oU;VSk$-{Qano3yxLZL9L7`Wr{Tf#ZabrY8gqJVnFoQHTpR4OB% z)5^Q?w%}a$I6NC~5s8v_Qx{@YlC$~eDL$vUZurPe)yRF-cG+1g-6>ol1LOW%!+DtN z28Y8q+1VX*9GUi#i4|MaCoUXOkEs!(m7Dd;CTAB_#EeY!$s;#0AZ zWE&q?B6R;*a4vfsy|X&Vd7<#Hh^bVs#%l6;{=WE}=DOjt-VkEox2)9}c|jMz1gFX8 z{`d|hzPdmNnw=cc=3&4iG`Fkyg-_K#=f(SibN2%~9Ny)!Za%8Jdv2XX2E-_PSdN#u|LUJD4#(@k zrm54@!h1Dlr83pIYR2{WgW(+JdJ~tEd{3n&v%Jv6r{WZ)_w|7Bw%}a$IL@jsuL^Sl z9(z#n%KALH#&i6%ilc zJzf`_^BzaOVXeHV+8tG8Vd)$7>)m+z;rJZqy5ZAQrlRK{R_W!A&N?bQ{Kor&bN3@V z9NAcJCo0HJzugt;K>P!RdgEp8zxrp7pGuH;-lEIJB}#~%&nFxO379G^qr z*hvej=VS`wX(G+Kcw2BTw>X|rpH+s6sB6)RE={w#bWR=5KNg?UTtCLAs+I}b%3D!Y zEBM9M_ny#yemtCqxo&Xk;F$1D&Iwm0s}P-yvu9kd3(k3u!yUR0EqSG`&P7~~F*I!I zKR*$l<6Jj-2LPZ$37bR&B>h&DK9xe#X#ntx&P{) zJq`rQ(4^|1M3bj3L>CzHFdly@oWoodmQn24l5|S zhaA=m%XmHHdhdPy>G+)Hy5Ylx&R%;(x3iRLzl?gyiR1of!g-kM4Nlzaooij_u(DtE ztI!;;ddBO5bKc{a1kUr1YegoSDzGI z7o5A(4u^xQ09;l#V%1Emk8y%n$IIM*_0JxsIuJWFInx8`IjJOGJSi|9e=eNETsLt! zPxs@XoFa~1%RjBGKAmyBEjX7wjve|GC9zjmTu?WYt-7v>Ht)U9KOdjdTsM3^`fH>< zTphWsaFo3=S-k%K`h{>F=DNY@**d4^_0(1QdQ-Did{gJw1?T)BP713A85f1jrFyr= z&^diPy~O7@*A1V1=Qo6Ml_q+d9MP@p&pLfyaPEF_gQM%!!Q~no%Bl-ahD){XSJ!*y z%iMqU&mKpfoUiKngnx2moq*EaJDOj=6wYC;H*ry=3fKLLvD&v=mi#z@+WfQNT=qEX zqQBHsmq=8HmG0a`vpV$D=lPf8bDHah4^?m%y-LrIBEtuQPhnl}8~48w&cj?cIO@ik z-8kgge%jbuhsT(wrVn2iobw(hmx-dD(Jbxncp2bk3c;Cm@${?lInH&%hu?Aum6{YX z)2%Z%VB;MAS#a)tZHFV{98`Z1U0H@&t*1N}&A%&O=KiaH_Bc+a3J=Mz-7;3y>nZDO z7x8%f^>7Yz-NYp?aWVFr26R0og6)$ek(r5xo-G~y{LFtT~f?z`qcSlvza>H7o5A_-r;bJX;B0) zFc4FG*4vt=W+1lcX$@YoM z1j?f`?{5pvdk^oaVaWLr*o(eWU(SZ1vUh2#sgQ{qKeI zFxL%^T;&ZKH0Q;pI`rx~B1c^Hd0lYMdmJb6aGptH5y(G$UMz>#dVl);_#EeY!>7*a zX}Nb|b)K?fRbN#LSB>`t=kE0boTdauRl3;ZOt)=P%U?I3@iO;c{jYmJLET=$2oZL?Ai~X{y09zxo-HRaap&!>B=#>q6t!$!*}+L_XX$fPj)!ERX3Hq zqP8g0{PGQtRx$d|+<*1YhdAzVe1=&a8TRUNd26m+=jr30hI5$fCN9~ie>%B5%NTSW z5VLMZ*M9i6;9T}Ns}Ay%gUk+fq1SRxnu~tU)8{{n&uOkVeCk~CO9^?YzU7EYOW_?O4EMw}wKQB0U|M3A1ZOp%-NeN!^nJGeh-}1tE znftH)+2iQPCbAgnR_hGxv-O_9Kl;yqhI5$fCN4QrgHYBS*BeDsFQKs4lh50NbNLX5 zGGgj)^g4yCrwFWEPZUK7uc>3@79Ot^>W6ELQdvMb$(xP?*7jQIJ78h5cwoN-BEo~zHl2abN|&pTb$010q=TM=fh>4vf|AX~Wl0H;oCz?yq#OE8(eEPo1AXAwH+M zZuqP{p?gK03{qOE``lR?A=eptJOtrjrX0KD-&87NnlE~h8UvTa|d56Pu`j4qx&r1`La27vN zOV!N2`ZD)l{jjtOY^r&OW5pS-&f@(CXLdNTYbN&#=G-yf{1qaZAa@}X@g|arD?&5Qt>xNHLM>Z%z zn@$%^E|vwJGS9~Qf^+xjAK*9}g6gKV2*l#YKQZ}?YU5?@zxrp7V~W=2t9<7|tlGt> za&$>ikH^ml=P=isxMZ`tGEdu)`+P<b}rnAX|Ro}qL(eBTm z8K2W!H+;GiKyjiR)!ow_lK1qNhjD)&&cj@HINaJ_8L|S)F4arjx;+=j7? zlCH<`!s4pB^k?&H?!WryLmc_6m*v{3gYGHCSNLEw9zQ3X!(2CUQDv=#Iv50>`KM|) z+AH05ye&AF4{_+JSL7Y+bx^ZM_t01Bh7iZ|=f>wW*9{+f#+f$lkSjXXD;>6c$xdJ{`n9Gf+(oL|1vDH z{>cKhY@4AD&=;4qVwGsgWFh4V1i|L_0!xR0CPf85;DKmAu+^>VvZ zRyRB@kXIkk!!KA z8?*2@#}gFCaNK`cC=YYpporX)It?7p!=VzjV<`tSqSpoGyhY&yIQA7&dBsj=Er&YB z)pbvgaXHTQhD-HKRZQwA;#s?tY0=!_gYmwg+zy4U(rd+R;? zpEl!tLAm>y4N9K0C(a_WhwI9pCqyN-@iKQ`{jx`~TRy16$>M;@h2^~2#!KVzYePBA z^(LZ^`lTKx7gVBdlO=6BVWPY(D3@Cl?y8H)F3xpES#Pq?*h%L3M0x(YxSZztF)mPi z>nYh3OS6DF81c0%dTM(2{_8_|nClIS9DAa_E_hZf^2#q_^qCW!HC`8#^B%>sY5)tG zR=s8d4!lcsHDw-sLtKt?z2TAq70=*v1*zeg9XXMCSnaUkA=9+7+ z6``#0)}bQDa+&ATcgfIducqI5qHVuBD7%USiaDEeIErT0QYIaW11>7xUOLKsMDe@j z)-D&{=c}5jFYS3)#_jl_a5+_6aj`!|q1ihgPA_7WZl@Agx3`Y6ISwc)%P0IGuT)oU zP0;jFZX{l7*INDb%Z!o94f9d;+4f!i$nR{s#HjgWvY(t zwWB;n6#M6{9pA}col_ZImcIz7n7krK8+ul=zi{=_0#K8<}B)neXJ;j^7(Dr-}oY^sUK| z`DV4(sLT5@#7lPVt)px{I-sa(YLE$SeP)~t^do#|&y23M`stS$MVC-P&EZi2)-wIE zfTZ?q|FNJPDt?fWJvd+fsZIJgcc08#&dm&}>HXSK9y3bvUv^ZfOxm0UDsM*RZqv>m z50^{DflIp8Q*yJv4l*s4?ouZlE2Hfvg0ic)LZO_=s0z{1>ddN~w7$m6-XC?8`;3Br zCL{&n**8^(m>n`>+VT6sPBRI(AERi^ zeZEtFjNNx@_0umiO5S+{%f9@c*&nCjky{PFe1A|56;~PQpPXztE&PBQ8D$9Ok6Fun>Qa(8~^?ZBjDEAqKKk&{>

mHsUX#Y+qORulwHLSP}Icl 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

#De=bD!l<}2~ycO z|7M*ER1@THReH_H5(O(_dY_tjhAldHnPtBfGq-sLW=0`f{#j52(ch?Uq^{r)|UouzSTWP$as$HfZ8TxHnOPZlBbFYjT`gvSGuC8vH i!hP%MPYQ3p>g~-~R=igp7xz=+WPOXT89Q0sar^&Y2NPTX literal 0 HcmV?d00001 diff --git a/subgraph-build/ERC721PoolFactory/abis/ERC20.json b/subgraph-build/ERC721PoolFactory/abis/ERC20.json new file mode 100644 index 0000000..d83f596 --- /dev/null +++ b/subgraph-build/ERC721PoolFactory/abis/ERC20.json @@ -0,0 +1,288 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "name_", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol_", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "subtractedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "increaseAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "addedValue", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + } +] \ No newline at end of file diff --git a/subgraph-build/ERC721PoolFactory/abis/ERC721.json b/subgraph-build/ERC721PoolFactory/abis/ERC721.json new file mode 100644 index 0000000..3cd8163 --- /dev/null +++ b/subgraph-build/ERC721PoolFactory/abis/ERC721.json @@ -0,0 +1,348 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "name_", + "type": "string", + "internalType": "string" + }, + { + "name": "symbol_", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getApproved", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isApprovedForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ownerOf", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "safeTransferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setApprovalForAll", + "inputs": [ + { + "name": "operator", + "type": "address", + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "internalType": "bool" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "tokenURI", + "inputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApprovalForAll", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "operator", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "approved", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "tokenId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + } + ], + "anonymous": false + } +] \ No newline at end of file diff --git a/subgraph-build/ERC721PoolFactory/abis/ERC721Pool.json b/subgraph-build/ERC721PoolFactory/abis/ERC721Pool.json new file mode 100644 index 0000000..d8730b0 --- /dev/null +++ b/subgraph-build/ERC721PoolFactory/abis/ERC721Pool.json @@ -0,0 +1,2562 @@ +[ + { + "type": "function", + "name": "addCollateral", + "inputs": [ + { + "name": "tokenIds_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addQuoteToken", + "inputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "addedAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approveLPTransferors", + "inputs": [ + { + "name": "transferors_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "approvedTransferors", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "auctionInfo", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + }, + { + "name": "bondFactor_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondSize_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "kickTime_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referencePrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "neutralPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCollateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "head_", + "type": "address", + "internalType": "address" + }, + { + "name": "next_", + "type": "address", + "internalType": "address" + }, + { + "name": "prev_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowerInfo", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowerTokenIds", + "inputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketExchangeRate", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "exchangeRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketInfo", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketTake", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "depositTake_", + "type": "bool", + "internalType": "bool" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "bucketTokenIds", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burnInfo", + "inputs": [ + { + "name": "burnEventEpoch_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "collateralAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "currentBurnEpoch", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "debtInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decreaseLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "amounts_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "depositIndex", + "inputs": [ + { + "name": "debt_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositScale", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositSize", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositUpToIndex", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositUtilization", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "drawDebt", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "amountToBorrow_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "limitIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "tokenIdsToPledge_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "emasInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashFee", + "inputs": [ + { + "name": "token_", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "flashLoan", + "inputs": [ + { + "name": "receiver_", + "type": "address", + "internalType": "contract IERC3156FlashBorrower" + }, + { + "name": "token_", + "type": "address", + "internalType": "address" + }, + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "data_", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBorrowerTokenIds", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getBucketTokenIds", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "increaseLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "amounts_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "inflatorInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { + "name": "tokenIds_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "rate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "interestRateInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isSubset", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "kick", + "inputs": [ + { + "name": "borrower_", + "type": "address", + "internalType": "address" + }, + { + "name": "npLimitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kickReserveAuction", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "kickerInfo", + "inputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lenderInfo", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lender_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "lpBalance_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "depositTime_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lenderKick", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "npLimitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "loanInfo", + "inputs": [ + { + "name": "loanId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "loansInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lpAllowance", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "owner_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "allowance_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "maxFlashLoan", + "inputs": [ + { + "name": "token_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "maxLoan_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mergeOrRemoveCollateral", + "inputs": [ + { + "name": "removalIndexes_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "noOfNFTsToRemove_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "collateralMerged_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "moveQuoteToken", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "fromIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "expiry_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "fromBucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "toBucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "movedAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "multicall", + "inputs": [ + { + "name": "data", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "results", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "pledgedCollateral", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolType", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "quoteTokenAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "quoteTokenScale", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "removeCollateral", + "inputs": [ + { + "name": "noOfNFTsToRemove_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "removedAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "redeemedLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "removeQuoteToken", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "removedAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "redeemedLP_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "repayDebt", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxQuoteTokenAmountToRepay_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "noOfNFTsToPull_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateralReceiver_", + "type": "address", + "internalType": "address" + }, + { + "name": "limitIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "amountRepaid_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "reservesInfo", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "revokeLPAllowance", + "inputs": [ + { + "name": "spender_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "revokeLPTransferors", + "inputs": [ + { + "name": "transferors_", + "type": "address[]", + "internalType": "address[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "settle", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxDepth_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "collateralSettled_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "isBorrowerSettled_", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "stampLoan", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "take", + "inputs": [ + { + "name": "borrowerAddress_", + "type": "address", + "internalType": "address" + }, + { + "name": "collateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "callee_", + "type": "address", + "internalType": "address" + }, + { + "name": "data_", + "type": "bytes", + "internalType": "bytes" + } + ], + "outputs": [ + { + "name": "collateralTaken_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "takeReserves", + "inputs": [ + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "tokenIdsAllowed", + "inputs": [ + { + "name": "tokenId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalAuctionsInPool", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalT0Debt", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalT0DebtInAuction", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transferLP", + "inputs": [ + { + "name": "owner_", + "type": "address", + "internalType": "address" + }, + { + "name": "newOwner_", + "type": "address", + "internalType": "address" + }, + { + "name": "indexes_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "updateInterest", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "withdrawBonds", + "inputs": [ + { + "name": "recipient_", + "type": "address", + "internalType": "address" + }, + { + "name": "maxAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "withdrawnAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AddCollateralNFT", + "inputs": [ + { + "name": "actor", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "tokenIds", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "lpAwarded", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AddQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwarded", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ApproveLPTransferors", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "transferors", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuctionNFTSettle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lp", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuctionSettle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BondWithdrawn", + "inputs": [ + { + "name": "kicker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "reciever", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketBankruptcy", + "inputs": [ + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "lpForfeited", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketTake", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondChange", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "isReward", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "BucketTakeLPAwarded", + "inputs": [ + { + "name": "taker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "kicker", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "lpAwardedTaker", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwardedKicker", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DecreaseLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DrawDebtNFT", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amountBorrowed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "tokenIdsPledged", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Flashloan", + "inputs": [ + { + "name": "receiver", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "token", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "IncreaseLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "amounts", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "InterestUpdateFailure", + "inputs": [], + "anonymous": false + }, + { + "type": "event", + "name": "Kick", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "debt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bond", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "KickReserveAuction", + "inputs": [ + { + "name": "claimableReservesRemaining", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "auctionPrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBurnEpoch", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "LoanStamped", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MergeOrRemoveCollateralNFT", + "inputs": [ + { + "name": "actor", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "collateralMerged", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "toIndexLps", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "MoveQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "from", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "to", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemedFrom", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpAwardedTo", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveCollateral", + "inputs": [ + { + "name": "claimer", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RemoveQuoteToken", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "index", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lpRedeemed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RepayDebt", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "quoteRepaid", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateralPulled", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "lup", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ReserveAuction", + "inputs": [ + { + "name": "claimableReservesRemaining", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "auctionPrice", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "currentBurnEpoch", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ResetInterestRate", + "inputs": [ + { + "name": "oldRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RevokeLPAllowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RevokeLPTransferors", + "inputs": [ + { + "name": "lender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "transferors", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Settle", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "settledDebt", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Take", + "inputs": [ + { + "name": "borrower", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "collateral", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "bondChange", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "isReward", + "type": "bool", + "indexed": false, + "internalType": "bool" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "TransferLP", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "newOwner", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "indexes", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "lp", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "UpdateInterestRate", + "inputs": [ + { + "name": "oldRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "newRate", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AddAboveAuctionPrice", + "inputs": [] + }, + { + "type": "error", + "name": "AddAboveAuctionPrice", + "inputs": [] + }, + { + "type": "error", + "name": "AlreadyInitialized", + "inputs": [] + }, + { + "type": "error", + "name": "AmountLTMinDebt", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionActive", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionActive", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotClearable", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotCleared", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotCleared", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionNotTakeable", + "inputs": [] + }, + { + "type": "error", + "name": "AuctionPriceGtBucketPrice", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerNotSender", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerOk", + "inputs": [] + }, + { + "type": "error", + "name": "BorrowerUnderCollateralized", + "inputs": [] + }, + { + "type": "error", + "name": "BucketBankruptcyBlock", + "inputs": [] + }, + { + "type": "error", + "name": "BucketIndexOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "CannotMergeToHigherPrice", + "inputs": [] + }, + { + "type": "error", + "name": "DustAmountNotExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanCallbackFailed", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanIncorrectBalance", + "inputs": [] + }, + { + "type": "error", + "name": "FlashloanUnavailableForToken", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientCollateral", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLP", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientLiquidity", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAllowancesInput", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidAmount", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidIndex", + "inputs": [] + }, + { + "type": "error", + "name": "LUPBelowHTP", + "inputs": [] + }, + { + "type": "error", + "name": "LimitIndexExceeded", + "inputs": [] + }, + { + "type": "error", + "name": "MoveToSameIndex", + "inputs": [] + }, + { + "type": "error", + "name": "NoAllowance", + "inputs": [] + }, + { + "type": "error", + "name": "NoAuction", + "inputs": [] + }, + { + "type": "error", + "name": "NoClaim", + "inputs": [] + }, + { + "type": "error", + "name": "NoDebt", + "inputs": [] + }, + { + "type": "error", + "name": "NoReserves", + "inputs": [] + }, + { + "type": "error", + "name": "NoReservesAuction", + "inputs": [] + }, + { + "type": "error", + "name": "OnlySubset", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__Exp2InputTooBig", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntUnderflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__LogInputTooSmall", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivFixedPointOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PriceBelowLUP", + "inputs": [] + }, + { + "type": "error", + "name": "RemoveDepositLockedByAuctionDebt", + "inputs": [] + }, + { + "type": "error", + "name": "RemoveDepositLockedByAuctionDebt", + "inputs": [] + }, + { + "type": "error", + "name": "ReserveAuctionTooSoon", + "inputs": [] + }, + { + "type": "error", + "name": "TransactionExpired", + "inputs": [] + }, + { + "type": "error", + "name": "TransactionExpired", + "inputs": [] + }, + { + "type": "error", + "name": "TransferToSameOwner", + "inputs": [] + }, + { + "type": "error", + "name": "TransferorNotApproved", + "inputs": [] + }, + { + "type": "error", + "name": "ZeroDebtToCollateral", + "inputs": [] + } +] \ No newline at end of file diff --git a/subgraph-build/ERC721PoolFactory/abis/ERC721PoolFactory.json b/subgraph-build/ERC721PoolFactory/abis/ERC721PoolFactory.json new file mode 100644 index 0000000..35d1100 --- /dev/null +++ b/subgraph-build/ERC721PoolFactory/abis/ERC721PoolFactory.json @@ -0,0 +1,299 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "ajna_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ERC721_NON_SUBSET_HASH", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MAX_RATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MIN_RATE", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ajna", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployPool", + "inputs": [ + { + "name": "collateral_", + "type": "address", + "internalType": "address" + }, + { + "name": "quote_", + "type": "address", + "internalType": "address" + }, + { + "name": "interestRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployPool", + "inputs": [ + { + "name": "collateral_", + "type": "address", + "internalType": "address" + }, + { + "name": "quote_", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenIds_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "interestRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deployedPools", + "inputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "", + "type": "address", + "internalType": "address" + }, + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "deployedPoolsList", + "inputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDeployedPoolsList", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address[]", + "internalType": "address[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getNFTSubsetHash", + "inputs": [ + { + "name": "tokenIds_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getNumberOfDeployedPools", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "implementation", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract ERC721Pool" + } + ], + "stateMutability": "view" + }, + { + "type": "event", + "name": "PoolCreated", + "inputs": [ + { + "name": "pool_", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "subsetHash_", + "type": "bytes32", + "indexed": false, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "CreateFail", + "inputs": [] + }, + { + "type": "error", + "name": "DecimalsNotCompliant", + "inputs": [] + }, + { + "type": "error", + "name": "DeployQuoteCollateralSameToken", + "inputs": [] + }, + { + "type": "error", + "name": "DeployWithZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "NFTNotSupported", + "inputs": [] + }, + { + "type": "error", + "name": "PoolAlreadyExists", + "inputs": [ + { + "name": "pool_", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "PoolInterestRateInvalid", + "inputs": [] + }, + { + "type": "error", + "name": "TokenIdSubsetInvalid", + "inputs": [] + } +] \ No newline at end of file diff --git a/subgraph-build/ERC721PoolFactory/abis/PoolInfoUtils.json b/subgraph-build/ERC721PoolFactory/abis/PoolInfoUtils.json new file mode 100644 index 0000000..81ec4bb --- /dev/null +++ b/subgraph-build/ERC721PoolFactory/abis/PoolInfoUtils.json @@ -0,0 +1,789 @@ +[ + { + "type": "function", + "name": "auctionInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "kicker_", + "type": "address", + "internalType": "address" + }, + { + "name": "bondFactor_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondSize_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "kickTime_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referencePrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "neutralPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCollateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "head_", + "type": "address", + "internalType": "address" + }, + { + "name": "next_", + "type": "address", + "internalType": "address" + }, + { + "name": "prev_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "auctionStatus", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "kickTime_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCover_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "isCollateralized_", + "type": "bool", + "internalType": "bool" + }, + { + "name": "price_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "neutralPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "referencePrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "debtToCollateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bondFactor_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "availableQuoteTokenAmount", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "amount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowFeeRate", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "borrowerInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "borrower_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "debt_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "t0Np_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "thresholdPrice_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "bucketInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "price_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "quoteTokens_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "collateral_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "bucketLP_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "scale_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "exchangeRate_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "depositFeeRate", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hpb", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hpbIndex", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "htp", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "htp_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "indexToPrice", + "inputs": [ + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "lenderInterestMargin", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "lenderInterestMargin_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lpToCollateral", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "lp_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "collateralAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lpToQuoteTokens", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + }, + { + "name": "lp_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "index_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "quoteAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lup", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lupIndex", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "multicall", + "inputs": [ + { + "name": "data", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "outputs": [ + { + "name": "results", + "type": "bytes[]", + "internalType": "bytes[]" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "poolLoansInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "poolSize_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "loansCount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxBorrower_", + "type": "address", + "internalType": "address" + }, + { + "name": "pendingInflator_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "pendingInterestFactor_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolPricesInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "hpb_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hpbIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "htp_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "htpIndex_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lup_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "lupIndex_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolReservesInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "reserves_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "claimableReserves_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "claimableReservesRemaining_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "auctionPrice_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "timeRemaining_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "poolUtilizationInfo", + "inputs": [ + { + "name": "ajnaPool_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "poolMinDebtAmount_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "poolCollateralization_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "poolActualUtilization_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "poolTargetUtilization_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "priceToIndex", + "inputs": [ + { + "name": "price_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "error", + "name": "BucketIndexOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "BucketPriceOutOfBounds", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__CeilOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__DivInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__DivOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__Exp2InputTooBig", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntOverflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__FromIntUnderflow", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__LogInputTooSmall", + "inputs": [ + { + "name": "x", + "type": "int256", + "internalType": "int256" + } + ] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulInputTooSmall", + "inputs": [] + }, + { + "type": "error", + "name": "PRBMathSD59x18__MulOverflow", + "inputs": [ + { + "name": "rAbs", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivFixedPointOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "PRBMath__MulDivOverflow", + "inputs": [ + { + "name": "prod1", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "denominator", + "type": "uint256", + "internalType": "uint256" + } + ] + } +] \ No newline at end of file diff --git a/subgraph-build/GrantFund/GrantFund.wasm b/subgraph-build/GrantFund/GrantFund.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e8badc5ca93f73556638f1cbad9e34179d7b6cfd GIT binary patch literal 747650 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∾VUzMqR;!;7zzUm($4(8~0 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%0Dj9=qCp-Xz0DpHv7c$C&lYD*A1_p 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

AO|gr+PW`pL$Vzl=||i;f~$7Da16wDCT~x z{`98%>3q=ZME5t4JzG;uRo1v|NdM*j_i)GFxT~s8Li10Zub%6M;(P9YPuwTE`f7h) zlN3VKGA9GM|2^EX8@F8PrS1*-Xs?L4XF1%1UME_u{bvHvi)>vx!FRe#K0VyA8+T_g zbmxoASATL~wkB(jL9f?ndQxFCP`AK{rYCM2JomqcJ9guSx;8GYsknUg>`ZfXKInC# zyE)}el&$ZT@y;giOMYdzV>j;3R9^E|mal2rJ+4!8|GVgQqWzS2?FzHGno(!f)+@RH zJ>0Pyx7Vr=^wp~{=7Nm-dH!v_6qHx&J-fu{Un7?>y^7P-Fk~ zj7jNwAostA`$U_i-NJOD?lM7nJw16=?tc$=?8e>cAI z`0APb=!qnM8GX1qahdXxTR+naqr434>Jt}NHa{qg{Pqa?B zRECpQe5XA|3$*qd!yUVE_k`5FsZaDvcLVkKFxLjXPITYF^n_AyuM^$L)xBvmn8|dn0y5z#x&J-fu^V^aEqV>zz?f+|(}wGW&;9SB*NK)l zeFTeDB)X(qSWTQ$e`mO3H|{D_Zs^JfZcpfJ^}O8w9_|xeo-(%|yP4#>-xc@o4tMOv z-R-C9e1`C~&Js7jotXx`UZZt!71F&^&BL1$^8e1u?+thC#;q&rt7pKNGd;UEMp4I?>HZXNN(r6D`A?W#$CdMhiu~BFp{n;f~$7yZP|?O2qQW zbDqe*xCgyXv|jdVm3rH!Z#N3n0Pyw`k1< zkvH2^<2!xsb22>!y-svzLh;pBC!73<{Mn%|e>~i=8+Xqbw5lV;(AxJrBM-DT==B<{ z2O-Q)K2t80G!}Wt{qNz9-MFc?%0i+$|(hhK9RLf(q__6 z@>k4<`!!mI`%Z+a{R@BhP^V<>e-C%;#;u21=T2ai@&ugyO&RV%uM>@z=lt%J(x>e) z(LATa%U=w4?8en`Sg(N_EPZ=Yw85y6?52X|11aWmAC$>R0Z64|nX18(K&3;F>b()_1>l zGkS){eU8SdDPyYD1TG&@sod5W*zPU_tMp15D5+fjNOr+Uen98jU&$^Gx)j@`J` zwDXKUDa60=s#cYo``^R;8r{xr?QrVXZh`7lfB)@p$8Ow|CO_4?Sw=HzP{qhV?tc&W zYjn@!W#s|iVLZnZoLl~GxMMf&&XTf;yQjWRQ_t|U-2Wc#6D_~kb+S3`X%s_4@~D=% z|NXgh|NC=y?kh8@Mb$l}bsv?P)&{*|H_w}KdF~0zS)~f?b15(PzlS^aKzH}@Tc$3} zbi#B-<^Ffk>qOIp$)qoFwlC!Gni*!xyM{Y<rOSixCgynqkBpdFNNWvZBOtu73Kc-aK~=kFk{Tkhw0x4Q` z>bnXZDu?#imkf98#@#vYb?wPcM*Y=ZrGVW39`4s@T+OohuM?Ea^V)RF{qNz9-MDf3 zp!PzlS^apZFVp|8V}sALRAk%UAlc=eC~D zF%Nc~STQ%}>P_E0>2(9Ed;Yfg@W$SF%_H@oM)}6sTwmEve>?`ePAtxD`u1UKODQ~m zX6xn4hd1`dD?S~pQk@QOv&0)yEq_nE*mYvtdlcIJ(=94{RhYf`6~h~Q;}vZucyrS^ zs^aa(PLsi|6We|irHq>d^~CN{UGw`Zhd1`dYj%p*=E6~rdE5S^)!g=;cuy>kb)X7~ zQGPs!x;=rezG`@5Z@is!UUkK&A8AXxtw3&i5ATUp8D2Lwd)?+xGZT$Bx#vB+u{T~D zQa$j9malZCFIddEww0lk#-H2W!@Fa3T`OX8;OPkkUOe!*+daIo zH(tBw+AemSntE0z7OXxR?Ao!WU77WSI#*x*)!8rJ_YQCDjknpsXUaQCm~%bvchjox zVAmb1_H@x1*Inu`+^U>*}kF!%=-aovtH{NR-b|%kAs=#sdw5T5&*kzd!tQx}m!iJkG`z7JZ|h1|&G7X;QWVX0Zf+0n zj`ezbq-Q%-t|qGJ<}mlRhd1`d3#A)6CrlmlTC6HBn)v(}?Ao!AB2{DFdzR{$%*~-Z zfAjFh-gu$t&s^%X>$|tUcWwvg#`eT}Vj(*JRalMqt2(0hb?$2qZ|se?)7WQB_1o9o z7BZoK2fI$J7%_C(P?>j~u;TZTyV}DWd*h`ieb+q(FLQnO>+A9kcAePH|MtBnsTcN6 zE1AnZ?ct5xc-4}I+R0boeF96Q*xV>=hkmu8CwTPccb)VZHMys1wd+#EJ`_-r=dInL9o@4RSAgcw=w8 z7mMkt-_2?B!oO6@Q}b83C*Bh)t5Dc3l|WVDJ-2_?@WyVu)pGMohyG2)vd|~wM)vUT zSf{e?eR<-c%+?bT_*w2_4{z*^mnNu7m8xa<{_dwc%^n==I^iZk%3IZ;3TonS_lfW24)*ZIZoINl9m#k-#p`Pkd!I7cwPTwdo;JgHJ3X2; z`p*69;f=lV+6$eNJnbo<8;ZKjEAb9?o!D;5_7F|u>lC9<{g}Jg!y9|!ZT+!hu&?D# zp46?oB{#2&T_?6%f%>aw2s!T=t#jkU!yCKtVlbWU5FeB+!?NVx&N+i!JGLk_(nr@O zq>`$wy86iQ#@=|l70ehh>FNK zoTefVCS7jqqc=AOyH2c$ zL=pV%<`rqbrc-McWVPMgJ=n7fT@7}fSW{7b=>Bb8y0v@S%l+!%jlJ<=z|C`Wo$ahPt@_j4t}b?+ zSUz{k)?@Rn@za?+=5K2cZ|ug)=lX3j(gU5ywp!_=+^inn9ea68o!EI{PS^WZI`^uF zH}=M>re5DIKquXUJa4wmtHG`lTMbdLTFKmXZlV+(t`mzvzt{t&n@V4E zOBU?kj}33^jn~dnS?Hd6+mSMF%0FlOW3cPQdabOgizmr5gs=H;PX5^N#%{dyC{`SO zA4X5KA&0H+VAqaSLv@m!&PkrO6FWzoCx3i+V{g1NB~P7FKI`|+IC&7sJCDJx6DupN zMW>G^L6{uvtK69$-q<(1J==SAXI4Gui)gD*dttEa#L7|6QdFp(rnTsM+Hs!z`0&PV zysb{7>?T$#^S)D0yn|gQwr8PsZPjJAWAA5q{>kBuz44lDv_K)9(w-$^%A^qS4tAYb z_3#=~OLjfQNB>RhxhFlmu^Vr*(w>(!N>Q6C%QJIJy4ba2>9?`zpKe5+bY_Z%o{qYPrvm>)eVicAZ!;HOrkIa;?&QrnB_I%g+sO?8ZyS`loEo zPPdz{Jt2P)dw5T*pHq^W`k;Qb6^HNH`~QA;V{g22qK@W_C-A_`mATFwzpoqYIgcC4SaWBA^!ZNhcp^{d=_9^Tj+FV1#R-`mS^PdR+=49czN z;XSb;R9`*JXP%oNvS4cX{l+g1Z|ufPg>uy_>0H_7k1Y6ZZafd~j)kNvQ@Q6euZD&* zL+I*L!y9|!l@+}r=ANPD-LpE|X*9Q;hxf#KdQWpIUCzGG@LUrscb$hfcH^bQ&UWmV zn#@jBbLPrT=i$9$W!CwM*FD*oG@a9Sa8;6f&chq~h8MQl)2+?0X{Rq#n%9{*kHM}J z+bu7nDoe}s1*yKBSDzl<*o{|}>N78JH}7hQ+icxg)SsE3Z@Z|8w}`Hnp}*mYvNFPkfBFww8B zmoa(%&%+zL@v49KmnosTqNG*K-M@ofJ6268tC^}kMJ{8WsCv22JiM_tUOuS}pR2%T zw;fHX^gP&gV)a_jW8IwQ1x|kViMh)>ys;Z^_iy(}bxBLDlsP8PgIy=qtGq^x=7yL> zD+{t^AN|_!#@=|nvQ@Q#d1<~=x!S22Jr8!BSbFbSgC=B5ey9zeW^#vlcw;wSlSNhe z*Z#E;G1Jwv_aB2@Czg+*qD8YAYtO@~rTV$QJiM_tUiw!dUaPfPA@guF#fRKpE_R*R z?jZ`%OVrHIKCODq-R0qp-FUmV%F(Gx)%}e_Cs%GR5ATW9_1AlL?`?2Vv_5Ffb8mTg zV{g3en4X2Ir`D7*`>vXv2fI$JI$k{}zh+(Q#&cfe&hqfaZoKv^UCL{_M_sy6J2i7- zdEz~>-3wK3_e!hlb7ybvD-Un%#(T{v?35vMDn{vM0zD6Q?bx2{#MgaKmlWD+vG(t0 zhBx-cYiEd3CG|c<+Ssj|8tLD`t`n;=eZJ{Tg*v~pmJj;qH-|TNrwtX^~8H(MMn|cfmjXLw^bUK#F`?F^uc_I&-vJJ@w%bv^y`)Z6S(slHM#yuUlVv2S=gt=ctu zsHb(&%e<%R?%YP6JfGO+ilSAz`4Wdn&2D-Az2S}Bc;)KaXX+*PPB|H)_WUL4;XSeP zg01~;%BZUE_@3_0J>=ny-FWG~yMc#2pUJfe(8}i)^6>81X1A~6Vb6oIEe<-t`v=1t zd*h{{zV{Y)_h>65W)&9iVAqM|r>J_GGl3{u+@AWxzWlG@joo;4V0U&;b?sT1YlX7A zAA?;dw$Ja*$7usqC2EX0caMiR_QtCRyaG$lJaXI~R4Kifo5z#q6HCdwR!vMMO*dQ5 zd(Q2DIJ~hNFU4bGb*=wQSN!tsec52wiB(G)sFJ$#b#MECYI5gzcw;wSI4Tsc>X_0r z<=@@o`HRyN?~auZ@pS{3ik@Ib^0pD=?@bSH?2T7Gtf%}ZR6oRv5-)d z(Tr7Bd{=enjXxRQ*o{|hy1C`dQ)ExXaL*om40fGZPj9bP)hgD_KQ!F8H2=9{JiM_tUX`V1mFbki+4-SvG@2X6!+T*Yz-MX5ftnc4mr>^iZnOI65ManrUw_AKZ2zZl-w z8*e=}@!o2odDj&@(!YaUCzh8ct9~yN9XEoD_b-PxcH=Fde8Q`CKYLy$U;e7}DJho6mz?C$?L^6>cYV4*0BI`slBQH}=Ns z`KF{!RaLKV#jEZ1?_k%7ZFa?I3bd}g=r%L;a+i2`V>jN;b6Az3e`h0}$Qr%oCh_F? z#5P9rMb_FII*~Fwk)A(0ys;avY`}E))3K<{0ctVjbBlO*Ppqf&RDC>yr+9mo@RQsj z9^Tj+Z)bWtSd2ZyJJYrUwdVa>_^H@vYMZ`DL0J=sw)kEw*Z?ft>76HANymK~c|tR|)2 zG6B6m`rF}+z43ZY&oy4vIGyYCl7FjkZVgYKPi*UnyK~kiY0c%BN^)m-cw;wSKXqE* zK{r#+uy{Kwb7OdTPb_4s+RemoyR8wozW?;|=DzUf?Y!!uN}Y97soFF~CA`mV;bK?p z=CkhZSz90RvoUx^^^&{7!yCI{bwbaa^#G^LchWs)`(v88DL?<}M zzH4}6Z@l_Vrp$MryC3KSzwFzCgIy<9Mydnx$(tU&GH)W~j_~ltZoJoYsfuyST~*QT znj6BC=M&o#pf2uo)CG-Kz4c`72M=%T#;bzexz$y-fmnOmQs2R@JJ!UJW0~rijH-K{ zRb^kKOf%Mjn{lr&F%rZ zcpHUnWe*N^omd%><5q_UW{>YwE%N;C;f>vR=}wIJThGoN-txkH9_%`?BBkN>P-B)u zlZVRi{)^#_z43~UBC+!Inz7Er&AT}{*mYvNvqad9AkX@s`&WnNF7WWiZoG0r88}Uk zW|_~Tkm=k6E_R*RYQX%reOhfBO@&oReZORQV>ezk5*utkeBC|V8J1hX!+T;?h^N%i z2_p9PvWa6aeChDUZoF#LT>{yYg1mRrs8enL5ATjOOPeFArY(EISFM?h<^J#R#@=}S zOs|A2KH|R&H_OhGUp~CC8?U^`b?32+t8!W|ksFtaj9v`@h2*yYbf7b{%iq8)C3A zWH9%CC(kFAdLewq-3Taz&z;X-HN3GKudJ$uytMbKOnr^j`FXJG#CGDCSt@N_+PU4l zW`XnbR}XLO#;XHmr@5lgRtS4f5V`+5@t#-_nZ!_@fVHYBw>kNq;f=lVdU`c1-l{{M zWSlzXI`@Bv_rx~KYD*2OqT2H9x%|le-{Fnjc=;+**gJjRcBLviZwz*wShJOaV6Ujf z>`7GRyz#Ze8@us(P0!F~jT%At=tMBD2D?sdaWZ8}U^iLK5cRIE-aEXp8?UVPUD?Ig zsf?B9bT!y@V!Lmv%x=V<0dSi8&KvI=-q;&2E_LZXRMl>5Gh43M-2W|homfAmLz7Pb zbz)Unxas-phBtQORZYJ2eUZ-b6fvk+`**PG#HtA$*`gF8)B4EwWQ(r8et2Uy-m0m} z^>wvk`t{smP7ZdRSoskhex7$PdJ26!XY9-Shc|ZPrCFHvyX?rGoau+|!NIN*D>pWh zTIrhljZvQHJokTxH}=M>52^swxEQ;cIwk39utOLN~epJG`+QugY|DnbD0=j!hi>==WEHT_+ZT z-=?IDi?jJN2|71EFubuFuL{cXb&9?e*(u_gx&J%yp4jeRPcWVJEG>4Q@WJ`&n};`c zAW?czh!u1H{NbCs_<3!wJ3bm^K|}F^YEV7zP_h+y{Pkahbf>3 z>G@lSH+JJy6MF1?6sMeD&)`e${|@hog`>pgg|3?2MlWBv|2w>~8*dfNKYmk({_l># zj(4zY$9gVC{m^$Dre1608Gf4kzr!1QqK>7eMe7HivAt!IRWAjnmm8k@WyVua2TksCxy;QJ=Ysqc3WZ|ufP%T(;OtrJ#X)pO^K!LAeAUBFi{L&>$-Q+DUNe>1$X8*e8R zl-%@mSyg+EkKF$)cAZ$6k`d}?#(1w6OxY*)<$H!VcH`|f>Y1Utvx+cDI!ki@cX;pE zYg*aWGSw42texO{_G13-^6U)PbcH?!nF*B+M`%vGi z7%!fhd<=G-SUM0Zd-XnT_hhCYbN_dEV>ez^Y%R*)`B+X!x*F^{u@K_x1i9zT>B?5j z{omn@-FWFwl5FgVAqcAdmDN2RZn-Grrt93Jd3`3ba-QLytW{Jt1KwI zz9-*uVIK{4omdl6m+OBW-~8g0g{RLiKQO$p8!uGPG#II}UWh{l?BBtz6Wd)UUUP>Y zeckgJkLcN4`_8i)RSqdD_kV{s zcH`wGHK;~=9tK|{rmMlO6HAkH?3MJ-f4S=RR>Axo<>8Ipcxe)c2&+cC?JHerZVYyv zSSoHkWmtaXO-J;sqrN{nys;ZEU9^*U+Swsmx)6&z4|cuA%8**AvW(GUYiHl!{n+rv zZoKMgT6r~PsxD7tzf(VdJ-OI*Vr5pgc&U5%*_b^CbMF5RZ|uga*RRt$Z*@C0ni}#z z&x2h%79$nuSx-pwcw=w8W=5w*r>z*<{d&K3&;8$t_r&6A_xF?!(eqmK zMOQyDys;av4Jb>^x7T|HeVFT}QSSc^?}_zOk+R*o{1$!pqxyb)cw;wSOwH8Qje5bH zl5x@J{_pUfSU&n_%sL65Csv_&e{y(ZH(qrx6~*VH-J~O_OF!iP@9@6HnsuG#>I5$X zBEXOLr-nCn<86Muo+93!0Vo_^o(H>5tP1&$4m)$?sQa5P@qS`>V>ez3=BF(6b%Jg)H=tBS z&wHk->))Rl-q?*-C81ckF=OHI^4;%q2D?ryP0>SV8)jPRW^$(W`;DI+-q?*-d{otm z=Lyvpbx=0m!LHZXzPIuWURR^tDWVnc&kb+v##_zv)ug7R_A*79cG1RTu-{*-I-B+i$bi=ne+0=;f=lVnhvT+Nu5ybTi%)n;>rEr z;eCzubD8CJ`@PzxHTuZ?-{Fnjcs;*o9oZ2tuiHyvH?Ib}PHd}4i{dpq%pXs@HhAv; z4sYznOABh!vlM-bwbRDTGoJ^$USoMlx1K`#p49o(e#qZG9^TlES0(Hd{okG6t*-*z z=ehqoc|Nfs?VN(u`}FLIJ$ca8FAi_)#@oJWMltnWN_)85Klgu!_cgZhHA3BBH<%@+ zJ>}&7@9@TMyp2&kI@x3nYgMUIx&J%7Css{GcMZYI*NN>!_I$gK z|9V5Fd-}lp%flPH@wSh!$QP8%^;u?^cn7;qZ09@#;i1 z*7d%U@7(_#-q?+o0!*3Ca_Ck`rB&XX9PB!=di9!C{1$qp(;_jSKIys;ave8@<5 z!_|q`rhv}<-^uf9tbEc_**wMbT4goJ{omn@-FW3hMX)<_VC?Krc^~0DJJ0F1S6~0)T#$PBWBh;2D^4F-NKmAyr(VN_8n&i{^$Ph@W$SF zn-%@m4Z>4B#RF4YU*`Vr#QPdc!TeUKY6`zhRb#pTJG`+QuO2iVs87t@FZgJz=jXw$ z*I53wp3Y?=ZTEG0rWaoR>+r^Iyp0t%{dWU(x?XzAUof6{Pi!Y-U)@O~)0jwlBH`Wm?{H z|99ejjinXSJB&RK zKWp?D?AozZC_9~P)s?t=4i>X{^_k&~z45}z)s=14a)vj<)JHtI|2ug;vHB0IDbVbg zkou9L{UrB)hc|ZPZ5POx9QR#|xlydinft%P`x;AEF!izi*K_r9zWN`-8@utU&o$f2 zt^4&ot}->gBZ&ROs4Fcze!!)ju-c`P%bC_hQc*gIy=qWRzi5;;nzl zx*aToc>m|{#%{cx+>Y-C?^D{l?TFm}ojjjd^FnO8+*GAAb+v_k$NB2Fhc|ZPZ5@iF zjrK-0N!iXhgIy<91^FyfI$yoynYudNbN_dEV>ezIuD80DzwJeJH$j{?2D?t|#d$qL zWt(Xcm?OFWJG`+QuPtKUPzV02tDsCQ=c~c46MJnVI1#t+s*-E}{@(D$-gv79nNbzh zq7jwRM>1$m4tBl9cG{S;z7k_2tslX@{QmI9ZoECym=BE=pG>pObngEayIy1IR-7`f zLJ$;f+VMK~e}^}ALV=<_1e@|!9${AI*YWe%a!yCKtcK?XC zHSR9rhmL;s!eg-OHI@>2?wr%=VpSdIB>U)p4{z+ot0t|DX(eh3D^lk5(O}nWEViD> zVCk%zvC*0ve>l9c8*lr*c`+wE2On=+=iL7-cD=@8>3^oQT*;7mg4rJYqv4I+c&WCt z22RJ;=k5sq%KhKreT}X9I&Z4!sKmUQgI%w&>L5G* zlOq{YBOjEL`@h2*yYUvs%Le8!s)~UwwW}SA$)# z|JdIG`v>#4z(k3)TfbY)45_L_`)9)%yCM18-^8jEby2tM>JINw2Dx^m=|+KN?B44Z zlp~udH-CpS_Qu)y-LsTl#iIK=uY4!>ekZ>>QtqjTk4{&er>(N@I^F!maK_#^{gl7B z#Z?{a9I@-e-1!~O9qBba_sXgWy_$MECn)$YhcouZ**zgo5bZSDg6o{iec$2Skr=zZ zdWO_@ooKpVRdd^SIAd>|V$_!+)TNmC;W<3ftAkuSl2=$&)K@*F(^U7pP5W2F8GGY2 ztE)8U#&(yD(QNx^{%Y{Vxg*uG(;5%I%dRHfd%5L1oUu1fvr`T1a$fUWb?}PRnPQM@ zN1E4slM#{8RR7(nCbyp*&e$8LO+}@hXgsy4_}cF{mk)C7NSUZ=AzBS}^3iiuZubsn z?2S`gUMa>aHrbXh3UP)RDwB&XQNpsqK%ab_&Za8CaoT}i-`nmOM=g@?0W2X&r zok+?ln_OY-4mFYZo4@?~`E!%^^Y5IU0acLs*^Z-MXEYVcJ>DW$?9E%T(5Tn)9Fy;u zBR${c7VmJzZpbUTo|#Sgc6ak@CJb`zNY!Zni>tuDQQEaqdX*RWE8o^YxzMO+&lv3x_lI#wjMx_t80`V|%jn)F2;&TszXF#A@fN zo`0K1*VZrJF{<)>qO#GOP^)5)7p0^+Km6=;f%d;`YB!v z)xOQi*KSjDXprkfQXCC+XEy47?gY(^-QkSAahh{{^s4SKePgCMC+XST*DZ3LNS^i_ z)4gC%$ZmDuJoN72jNLd@Ue!H;5;{p*%jc=)G03$e@yUitG-7!3k_Ymho4Ugpd*h^^ zYgUVvk1A@)S5>*EJ8|BTo#rw@gOuP&eVPb7C%1HmGxiN9q#RajDyq}z$NX+xb4PbL zPh`F0A1_5_a+zrToEy5s8GGZTvbWRHQ)IdQC4T4XL9P>tr#;GRora6IddC^;ONTS| z#wk)$wfgY{)46KsIWBi|C(aYuDTk$9ibuB9xV`c+oUt3HU4%zob+qb;uxAauGRU^y>ZfLUl{EFd>y>WVlcyyI{FU#tARmu5wkn2Qt zdQ~+v5B>I};5_t|!x_7AnnDmFyXJw3W*XWrxrbZi+L2J|&-$Ps8tA)e8OvYc9nRPr zXP;hPebQ+ydg!MT9)nybvfDtvsDlbMKQti+xq&;Ju{Ta?6=l1m)5LfB-RI_g404^w zO9z-b>CK0p$K)xuZ-+DX#@W8mFY3tS_O_1Eb@t~V*NOB>8KnjK6I-`pwV#`}!x_7A zdh%6`?iab~na`BUz1t$!j%+1#Belv4{ZfFu(Nb>R4rlC*Q|5aTvC}At(s|+gs+v2u z!+9dbCepIDV?+pPlI1V%4rlBePL-fMGeBgWC(UWq<(x3cbs{OPN}xSCp$E_4hcos2 zhBJ2KtY*yunxJuhcN^O>xobOd?noR}t4_HlpQp*LC*`K?aK_#^O_5G2Jzcd@RHrs{ z{?6`jo=B<_m3gbjIxA_t3d}9r;f%d;wx6q8Gn0PXF|scAxnnz=CsJnmA3Vk4_6&Nm z%icenu^VT%XQyWKQat^5M*hC;aPG)Xf^+!+9cQRt@?Ny{E6YUz@kzIGnLJPI=H(lwRfWTBoZDHRoRKaGprn?1a`?{?$F) zEYr|84QK4eDGOBUl_I7<^UFk1r`)L>&K=3io<^N6siwUGEnE8Y1H&16I0v~-B#&g|swQ4%DW2<@+@>AQ*c+!=Q}tC16je6)qTt-6oj6aVJXA@YT&hnA z@-5f7Njsde8)y580y-sI4V6+)y)wwPBh{dDlG^37r$4b{rlD^c&e$7gyQ$ifCs8)b zx<{wy4(-HwB0X6aWmjKPBTaUO$?dleXY7r$yQ~vdH`1_asWxh&R|dIGWOYY7)wox~ zcOuxI-!`1F8z&C0;%ODAD!%p%Gk%ckM0O*172Vn=oeX@T=-iwg&e$6#Rm%)5w5!c$ zAL^s3xi>qxJ(1m;*VM8}u<01*8uk2+;f&olbwul^`jn_1Dx)8}rJ z<_$9qeQ-EqZ=86j_SzAYfUUdmiF^!lok&_Yb-IJ-O>R3Kp6Yw~&~V0XoSj3E>Pa`% zfSk#3?#E7UcO-@?j!s3|Qw>ek+l|il(*<9dLN&3^z z*R03+{lgi1SPmZ_3G z(b;5>>qPeK(!Gfpw_X15G%fF z(o7iSI+2trR{nNsLsn1a{Gs8D-8lPhS4H~{$6oO-d#Y#ZL9ROzpO3!FZckE%YKmLG z=BDd##=hZf7n@U*rcb)TJ)>K~Ibo3NL>8^`>fUOqj<{{7+;Sbx*p2hjY5S6PO+q6}+lXU##b6M0qf%BgwZ^PGH{ z2|qfVu^VUm$t>YzQB|YQ=ItQYiKG{PUNZrwY<2sp=f{RK_Qt6@X#rAxdN!bgcCLC3 za-GQLleg7A#pzhprT^S&9nRQ|Q!F~8GhU=7wa+~PqK^QV&-pWkDc1Sk=q|1 z&e$8L9Y`x`LaSzN_aY6oR|dIGWV@;P=IBbrc=?IpjNLf` zKRKMS8>h+FSg%g8t@+*B<_>F->qN>ttx%qGpBnMO_r;$Ztiu_*aq12#GOe)qfRtGu zxxYG`I}#tyXvj1Ab@#5y*ejnH&e$6##Ze30l*Kum_IYB~zw;R6I*~fMm9JW%^bO5> zVs5SuXY9tQ^XZ#nO&-&aVmqzXbC7FCmW@{QIHu0A=FLxYYjrqdZ=5jYkWpXzkYms4 zIbo3NM9Qv>DUT)t1W&IH&yCgLjNLffBNR>n{cswW>E?Ej>qP1aJzCwWMrQ*Rm=n3J zI-IdLPQ4|wIB19tRal-IYwoHRxlUwHYVyN7JZ4Jg3r*yv>Tt$xoOZjM;>KAGb{kS* z?x_yviS*O@2I-85Po_PQZvVq@#@;yLc*rkVqS~rheN2|zQ60_`S?!3j6SVt~|J^O` zynJ#vV>eC=UL{`M`sn8DY{>o8;XIMN(%F2a1s;omu6j24`QeP+IPp+idrQ=&p=X$j z;vD4Kk^J(iR>fAS{<|AIAvaTpGxo;W{&#kwJ9Dhcpd^vo*@IjsvK6d%Jh)~_Pq=jZ z3&R<^ams4npnvLG z(cY8WL9P?&$zE0EtG=EQ0|lEyzcie&8>b9W5kJ+C=g=x*Kjbdz#Cal3)k}9WRXk7V z1LvoPGj`*|BT{}|b41L(|5U%9LQk+fz)%B%eVty4N( z?6OY}XY9t=E!|yk^|NZ)7yQZH(<0Z7>_*WeUQG>b&*Rlb{_^Z_#@;w(@XCx?CPvX+ zI@X_qTqlwWIw$4kn%ABpTk-bgSB5iou>jZp6U6dTfg0& zTc*Pqd*kGp=gW-hcb-rZUcTgx>BM;=%^f(E)HOXV_)2xngkKxZ*p0JnJzuCGBrUL_ z&fk|E&J!szukTs4CtNX8gZkul>2StwoKO^pM^3s2bxikD?v@Vcj%*&Fv2+tv7qkJJ zo2A1Ud*d`YeE$-f47iU-L-3Rb>8- z>~NmQo@Jd9m88GGYY$4h_eZsN-it$V8dImmS)O#&TqAt*qUI?T^jCOu?X12eu>d!&06IrFGW9I^X6>gR6 z>^~UJ*f*SfqZtvktJPMd{?&ZvZ^KTUClaRqQems&-(s~-b2D@}V>eC__Elz2d-K{z z&+YIS#2=Z~iI1eGTP#)mCnU4rlC*)67#1(^*G0W>d_Q z=rDIdhx0^s4(SqjpMB?=YvTOl;f&olJ>P${%X7UW=4#4J800#U@@kf_CPGgP>O@C4 z|7190H_pD^XY&Ep*ZNzQa1L^vNNhU8E4|*F^#rQu+2l`$Gxo;m>AVtaPkJysy&}#1 z&&lnHl*Q_%Cr!R~m-VaM{~XTPjkCL2lzN#Dt*^;~J@-F{^F*4mUacqlo~3(}7M_#( z<z9$p0 z=lZ$7qhIxW zp8KD}8M|@zmEB)B8l!*fI&)}{>qP2*ESC~m8y@(cz4BMX8M|@HiL6r2HH|vcRK@Qw z2DwgTH<7L|uhmF=RpYZNFMmCpu^VT#8 zXNNQP#wq`@OM^a4Bc}tZ(%&>R$aNy^YFSi|##m*@nhwbQ&*6;SI8A4~CT1r@cdma! z=l*Ar>qIt>>R|fGs~O4<2#k6CcsRy}Eq-eUGuWI!4r33o= zq5n6Wu{X}1o9V~StdHGHjnW(%r{v5`Zf1IhckBL^z&x6lUJr_$xNio z-2a^1o=9F*bF!qSdX$3N1G)b>oUt2c`%8rVZ9;vniu^41KZo-~s;7C2yR(|FveZ43 z`=4Jh_dma2=ftLp-9dV?Ug#EH{(pjX!_EbvR>hobuCi6Mu2E1I&4m>y<&S6RCPwds?Ja zzKWF>;{3wljNLd@-E3`?#dovFw_P^Kbs|0c+Vq{hc&~Y#4845OaK>(&VykX+Bo@)} zzGsiz|15HyNS@LR4?EX8N5m@9-2WWT*p0L5kqgs<>Zw8A_#n@r(S0`{ zR(oZT>qP1)XVcpDO|{%^$^FmajNLftwV8Cbs1D^@*ZNoPe-^n;q#ShuiA%n!U7N`h zbN_QVV>iy84a_igX}8dD_bSdot`n*1Jgx?M!jNHEqRQO=9M0GqC*`zTYlU*`cEstc z{AJeRjNLdzQ@v7z?y!|S$2@cH8{|5Xe8eWhJ)1T+?Hcb_zHB&SH%`yCWBDvwJn%HU z{LTH(iStBuDnmkb?wOpX_H$~!eED$3Zk(zohh9f_CV}`m8*mPC?MOJCr4};Vm}$y< zd2Zg9uNcnQ8>f7hr?a|VtBjm`LhgS~oF~#Gp)zwsq^w?TUFr5KhckBL?8ys9XIW3X zjauZn|2do|l4|ru72kI(txmf;_dka-cH=bp_(!vPnSwj{#3{FfTqm-%)BVmP@=V25 zl=|lW=WxbuoSg=gL`Cf^xvJ)!`v$pAr02JmI`rCOI-Y{e+xHA-?8aHuRxuRO&0A&3 zbMAjmZtuu$q3T^^UfJnD?NnqYe9dsizTxy!3aZw`*4f2t*;3Wq{~XQ}sRlh2SBJD; zc3IY+Upt(!8z&8^BrkjN>m=&)?9V~26G=nO3oWRn>`*X&o#Wp-oUt1x4Z*gC^}7+v zlKnZzbs~A#3D&cl8BMXWMT@!rIh?T@Cl7I8v;Aa+&-%^u%>B>F?TO@(S5kSE&`ePj z?%e+z&e)ApKB`@+=c6oF!6M21&*9vW{Bx>Q1DjTT8fh~vw_iV;u{Tc0p0&h8Z+(Y< zW!hdD#?8YgJJZq2gw_Vc8ntg*@ zCsIVB6rHS6uR5_hCig#wGj`+bgj5@`H9OTsf7hA&pA+Yagy6AmR2Qh8$mPg6;RC}N zd*h@y8I@rlJb(~+{m zNO9S^KD_c$y*T77_dka-cH^uD>=plsnXgn^|8xIyI8UT%s$<^=Li*_Bdrp&=ZyCVs5?re|&y8YJSjNLdXomZV-?dRr8v}XJu*NId` zQ&X?myRsy5J*)R}|8qEFH_pykn$cTyqZU5%Rj&+kok&lY8_{_s4?V3_R?lxA&e$8L z*LQ=N%6yg6o^q><-2a^1p2+r++*S$vriH54{``*NjNLeU`k}vejT-fA?8YfJRZ)GF6*cv#j9TUX=frs;^|WcFiXxQZtJD1~_dka- zcH`_EX@2FI9w<^LsBZ3m4(EyVd==4|oer%DG%e=-=WxbuoU*S!x`8`;JJq^na{qHU zPh_W$SMg15Iw3mY<@STa8M|@nE81&sQEw~6XLZfrNFB}-=@q)lwp0}}%xC{SkuM(_ z&e$8L%*dj1SkFH=uWpgM-2WWT6RC#g36JH60(?-Dxsv;z!x_7As=ds>vF+?;>A3|T zgIuqX_MVT{RfO`?34`h_|&Z(&HXtQk zlZ1}iJG3m$L9P?oC(8>2#q(Xne39E98qU~_6Bn&`f_)^vGAn*Pn!j~g^v(wS5x?SW(q@B8E!XVd)l)q~? zbPt)Et*3nF{^xMUZk+t`N|Q%+OzG-TrK9-AAlHfHWw*$+3HyGax^TYz*l@;foYw^L zN*TdSfvQ=~L9P?&RoCk&pjwinJ}LJvlLZit2&*6-{aq7bMmfF|Pc8WNC zmHVGXt`pfa7+!rQI{EcAPxR-NF7FTrd@YXx0pVo z{@ni@&e)B!=Ozr^<;o@%RJqW(|2dqmkyl1l$4uz?#sm~Y?tczv?8ezw%5cvzA~oBo z&v$bFb2v|APYSJo&EOfb*175Z$|r_1cH`9hGyu`lj5^_!0sC{1>qPRYv)XyDHL+c) zNHgK5hckBLlvA1L`9yrwV~X}S3c3F|ah^z(gzChSQ9i?Zf;fL>IAb?XujuyEp=DE@ zOGo*erNj9eY09?OR8U1IfUi#_y!`BN#%`S5TokHTbc?J~BA=b92f1D&VZH9^=uUdI zQrF!79M0Gqr=Bu#dsZ-`%hY^B=l=ZO@HY<2?mT+#gt zX|H^8IAb?X5vdyu(o<(1RjIGs4syLl%A%T5k0+R3ltIzXw?99eu^XqKHjBEOc2%+J zFvD{HbK-oBl*eMK+wLRP;z90z4rlDf>2+pS-)D=iT_?+)m;0Z?`5LJvIvH9`dR~=l z_09dy;f&olc?!{!us*3K`rbva404@Fub?8Cl~q*|pWOP$UnCvQ*p0Juz-v51oV=%F ziZc5KxlUwxWYz2Rwm3~D>}LEg4QK4e>2<0nmsC_{TF@yt2f216&-$ALT9a2X_npXW z-j`1eXY7p=QiRkZ$M|{f8CN|AxlUxyq7>8lMSm(&1bJ?8fO8J0 zaejI@V>ixDxxNG7sXp%v7Ps@zAlGZ8j=)C^BBc$r>^U;`KZi4R;}n@^w=+BKRZ3lD zJ@-E+&ezCpKJj6d7k#6mDwF%4!x_7AQg;>G?lAp$t3D#m{m(e+uK_qqQ$oUt2cPZFxi>uYy6W+$TD z|C~5qBgLiHniZYKQ<3(Zu!b{s_*cIx&1j&p17-a5M@?d)0Vfn`#F5EH@-gE>$~r+X#$Hq zH$R8(#K~bRF8fs5s_c?sAH$J~tp^@&t&SW?~%2jTC4&RBZGJW>?p7A<`d?$B4 zhcEWV$18bk_0?04QY=Q@F}QW&dJ?E_o?;^OM8yBx_Z+_18=r_&j>ejy@^_+B>EPCh zGhe!My5*_FjB9V@uIKQ@-uU>`)3ZwILOwd*!I`XsTPKdHaZ(jE_kD%fc%OTo!xy{p zbrx1twB`x&s-oU~4Q}nYb{sCR?mJW)p_?zde))~zi@ovnJWq>W*_^hQyhlI}S>h%cObT*kqGNiOeUw{?kdh*ExK#H$K%D~B^S6dC_6;AL8v86xS?oywvpVKR=kT34buztV(xmRZzIr+LIfpOy z#%C(4MEjy=6P?_NA-=(_6DMz-5A{)2#0YKw{`T<2-uS8&Ig!co`uh64QEqZhd?!u? z-kunpHB^FTJtu$lbNFI!d?pc%>TvbYt3KP;o{(Fd!*}9ztV)STb|Csa)yy5v;fuZT zshtYKxg9VdTY zMcL|i#pemWpSzpG7klHYE@9dO^|^T!X>M)~-;QgI%OpR#+`p=a^zF+Z3}5Vx?>d?F zonznO@KG+GbN4a0b>cd=^tacFQwNz6GL$=;!xwww^HaOPvzyJ%o1PNXZ*c3x^~_=p zwr*-7>h^N(YYt!RjZc+LG8O2QfDs!%oL>gFPF$6*%4)A3<*j0KS9ADcZ+sUI)HQw8 zK(y+So0`R~6DMn?3#H)exwjLCKL2R=VmCh7H&?LONls_o5++Y>X%62VC;wir-|)7B zIvai0{QTqLi+#h_Q%cXC`VF_aq>`#3zQL^>r%trd`l~?S4Ya%HUA2;-{c&=*c%_M^gq6} z{#dW~KDm)Od^-+@ob%Ou;p3Ih&a=N5zStWdMe@-5WiiR_l__e-ZOq|2aovCICn(C+ zA9h-F{qmQ?7klHocC&sp18t^Oyl1=I#2mg8r`j02o=Q7Ceb$k=hdF$)8=qXjb^oY| z=QN|{+2GcWqZ2#A)AfAbh^bNh1mPTY0&GqFvxD^hXWN1q+O*c)HZteuwpluJ+O z%)vLfb>dWB-g#(8@UG``-_5&>ai$khSu}};V1y^%YXe{b$s{=GXNzsz-;uRFIVy>3wF z-NCKco1cCQ(Y(+MMXL-Z9hkbm{IlVUz2QWm&a%TMKmFJ3q6*LV z#gD&}%#ArpbcAP4xcq{0$UTI9bpQCZ`(mSYA6V^0zXF zFZRaQZQd=-ub$21NFDJFZk;%K(GxQ2wKjt&)k6P$#qh;$e0Hr_4^LgTg1E)3{|2{q zoT%hLRz-T9(5Xh{b4POcVsCt%@7Hv<8E9LSomaUbIr%(sRmP=d)rZ0SeBb!;Rl^s% z@llh0=p>~%zN)%B<#y!o?YKsv=Q<}kKUH7-=;f=2FZRag>CL^*>Q?nodgt}v)`^pK z9`zhjg{lny_1}AjFZRY)Wvjba@>*S5dH>3-$cgX7QJ0?Y*5kK6ZrAI-uNl7BjgLNj zh^*{-xA}2i8r(W@)jpPMlXY76bdmdz!xwwwvyrPYQOP{DQIU-L{mbCiiQ}7Bi%*n% z6rt~m@4dqpyYZPzok7|v7G!bj#5I$R>pJ!5BoT`5>xM6O<5M}^V^7r5Y3HGRG`O|n_~*&GP9;qJ?gv?- zÈ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 z%0A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 H>+Amm#}q%u literal 0 HcmV?d00001 diff --git a/subgraph-build/GrantFund/abis/GrantFund.json b/subgraph-build/GrantFund/abis/GrantFund.json new file mode 100644 index 0000000..097ca75 --- /dev/null +++ b/subgraph-build/GrantFund/abis/GrantFund.json @@ -0,0 +1,1031 @@ +[ + { + "type": "constructor", + "inputs": [ + { + "name": "ajnaToken_", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "_voterInfo", + "inputs": [ + { + "name": "distributionId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "voter", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "fundingVotingPower", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "fundingRemainingVotingPower", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "screeningVotesCast", + "type": "uint248", + "internalType": "uint248" + }, + { + "name": "hasClaimedReward", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ajnaTokenAddress", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "claimDelegateReward", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [ + { + "name": "rewardClaimed_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "execute", + "inputs": [ + { + "name": "targets_", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "values_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "calldatas_", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "descriptionHash_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fundTreasury", + "inputs": [ + { + "name": "fundingAmount_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "fundingVote", + "inputs": [ + { + "name": "voteParams_", + "type": "tuple[]", + "internalType": "struct IGrantFundState.FundingVoteParams[]", + "components": [ + { + "name": "proposalId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "votesUsed", + "type": "int256", + "internalType": "int256" + } + ] + } + ], + "outputs": [ + { + "name": "votesCast_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getChallengeStageStartBlock", + "inputs": [ + { + "name": "endBlock_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getDelegateReward", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "voter_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "rewards_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDescriptionHash", + "inputs": [ + { + "name": "description_", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getDistributionId", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint24", + "internalType": "uint24" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getDistributionPeriodInfo", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [ + { + "name": "", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "", + "type": "uint48", + "internalType": "uint48" + }, + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFundedProposalSlate", + "inputs": [ + { + "name": "slateHash_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getFundingStageEndBlock", + "inputs": [ + { + "name": "startBlock_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getFundingVotesCast", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct IGrantFundState.FundingVoteParams[]", + "components": [ + { + "name": "proposalId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "votesUsed", + "type": "int256", + "internalType": "int256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getHasClaimedRewards", + "inputs": [ + { + "name": "distributionId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getProposalInfo", + "inputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "int128", + "internalType": "int128" + }, + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getScreeningStageEndBlock", + "inputs": [ + { + "name": "startBlock_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getScreeningVotesCast", + "inputs": [ + { + "name": "distributionId_", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getSlateHash", + "inputs": [ + { + "name": "proposalIds_", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "getStage", + "inputs": [], + "outputs": [ + { + "name": "stage_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getTopTenProposals", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256[]", + "internalType": "uint256[]" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVoterInfo", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "uint128", + "internalType": "uint128" + }, + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVotesFunding", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "votes_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVotesScreening", + "inputs": [ + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "account_", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "votes_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "hashProposal", + "inputs": [ + { + "name": "targets_", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "values_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "calldatas_", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "descriptionHash_", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "outputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "propose", + "inputs": [ + { + "name": "targets_", + "type": "address[]", + "internalType": "address[]" + }, + { + "name": "values_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "calldatas_", + "type": "bytes[]", + "internalType": "bytes[]" + }, + { + "name": "description_", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "screeningVote", + "inputs": [ + { + "name": "voteParams_", + "type": "tuple[]", + "internalType": "struct IGrantFundState.ScreeningVoteParams[]", + "components": [ + { + "name": "proposalId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "votes", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "outputs": [ + { + "name": "votesCast_", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "startNewDistributionPeriod", + "inputs": [], + "outputs": [ + { + "name": "newDistributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "state", + "inputs": [ + { + "name": "proposalId_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "enum IGrantFundState.ProposalState" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "treasury", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "updateSlate", + "inputs": [ + { + "name": "proposalIds_", + "type": "uint256[]", + "internalType": "uint256[]" + }, + { + "name": "distributionId_", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [ + { + "name": "newTopSlate_", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "DelegateRewardClaimed", + "inputs": [ + { + "name": "delegateeAddress", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "distributionId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "rewardClaimed", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DistributionPeriodStarted", + "inputs": [ + { + "name": "distributionId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "startBlock", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "endBlock", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundTreasury", + "inputs": [ + { + "name": "amount", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "treasuryBalance", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundedSlateUpdated", + "inputs": [ + { + "name": "distributionId", + "type": "uint256", + "indexed": true, + "internalType": "uint256" + }, + { + "name": "fundedSlateHash", + "type": "bytes32", + "indexed": true, + "internalType": "bytes32" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ProposalCreated", + "inputs": [ + { + "name": "proposalId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "proposer", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "targets", + "type": "address[]", + "indexed": false, + "internalType": "address[]" + }, + { + "name": "values", + "type": "uint256[]", + "indexed": false, + "internalType": "uint256[]" + }, + { + "name": "signatures", + "type": "string[]", + "indexed": false, + "internalType": "string[]" + }, + { + "name": "calldatas", + "type": "bytes[]", + "indexed": false, + "internalType": "bytes[]" + }, + { + "name": "startBlock", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "endBlock", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "description", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "ProposalExecuted", + "inputs": [ + { + "name": "proposalId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "VoteCast", + "inputs": [ + { + "name": "voter", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "proposalId", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "support", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "weight", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "reason", + "type": "string", + "indexed": false, + "internalType": "string" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "DelegateRewardInvalid", + "inputs": [] + }, + { + "type": "error", + "name": "DistributionPeriodStillActive", + "inputs": [] + }, + { + "type": "error", + "name": "ExecuteProposalInvalid", + "inputs": [] + }, + { + "type": "error", + "name": "FundingVoteWrongDirection", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientRemainingVotingPower", + "inputs": [] + }, + { + "type": "error", + "name": "InsufficientVotingPower", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidProposal", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidProposalSlate", + "inputs": [] + }, + { + "type": "error", + "name": "InvalidVote", + "inputs": [] + }, + { + "type": "error", + "name": "ProposalAlreadyExists", + "inputs": [] + }, + { + "type": "error", + "name": "ProposalNotSuccessful", + "inputs": [] + }, + { + "type": "error", + "name": "RewardAlreadyClaimed", + "inputs": [] + }, + { + "type": "error", + "name": "ScreeningPeriodEnded", + "inputs": [] + } +] \ No newline at end of file diff --git a/subgraph-build/PositionManager/PositionManager.wasm b/subgraph-build/PositionManager/PositionManager.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c2f0273c49cc93a9388576c0eb4b0c1247ee089d GIT binary patch literal 739516 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 RhSi(c)`PnsYO=GbTH%6g8yO^bRwD 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
  • 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�aS`3^Y`oZ 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

    pH)127nhrL*6053=6z~k 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%0A^eMVuRnI)hkj~fCGshwWM#SH$ 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 literal 0 HcmV?d00001 diff --git a/subgraph-build/templates/ERC721Pool/ERC721Pool.wasm b/subgraph-build/templates/ERC721Pool/ERC721Pool.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7d971bc252563538d4ccfe58cec3b74c58469929 GIT binary patch literal 935480 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

    =DGNzNPgIVzNP$QZ~RoQ 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 literal 0 HcmV?d00001 diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..f4b8852 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,74 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */ + "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + "lib": ["es2019"], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "dist", /* Redirect output structure to the directory. */ + // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true, /* Skip type checking of declaration files. */ + "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ + "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ + }, + "include": ["src/**/*"] +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..af35670 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,7379 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@achingbrain/ip-address@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@achingbrain/ip-address/-/ip-address-8.1.0.tgz#24f2e9cd7289e33f433d771b23bea56cfd0242c9" + integrity sha512-Zus4vMKVRDm+R1o0QJNhD0PD/8qRGO3Zx8YPsFG5lANt5utVtGg3iHVGBSAF80TfQmhi8rP+Kg/OigdxY0BXHw== + dependencies: + jsbn "1.1.0" + sprintf-js "1.1.2" + +"@achingbrain/nat-port-mapper@^1.0.3": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@achingbrain/nat-port-mapper/-/nat-port-mapper-1.0.13.tgz#22519833c2d70d48addd551b5cccbf84010ccda5" + integrity sha512-B5GL6ILDek72OjoEyFGEuuNYaEOYxO06Ulhcaf/5iQ4EO8uaZWS+OkolYST7L+ecJrkjfaSNmSAsWRRuh+1Z5A== + dependencies: + "@achingbrain/ssdp" "^4.0.1" + "@libp2p/logger" "^4.0.1" + default-gateway "^7.2.2" + err-code "^3.0.1" + it-first "^3.0.1" + p-defer "^4.0.0" + p-timeout "^6.1.1" + xml2js "^0.6.0" + +"@achingbrain/ssdp@^4.0.1": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@achingbrain/ssdp/-/ssdp-4.0.6.tgz#eca66ac260dcfcfcb237d7a58e63c3c8e87591b4" + integrity sha512-Y4JE2L9150i50V6lg/Y8+ilhxRpUZKKv+PKo68Aj7MjPfaUAar6ZHilF9h4/Zb3q0fqGMXNc9o11cQLNI8J8bA== + dependencies: + event-iterator "^2.0.0" + freeport-promise "^2.0.0" + merge-options "^3.0.4" + xml2js "^0.6.2" + +"@apollo/client@^3.3.19", "@apollo/client@^3.7.1": + version "3.9.7" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.9.7.tgz#e2b6f2d0240a6420753fb658a021dfd0637f2a56" + integrity sha512-OEEwt55bkFhqihCT5d75KUxZt50JZ9MuIYwG7VZlyPPIAb9K+qzVWlXWlf3tB5DaV43yXkUSLQfNpdIBFOB55Q== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + "@wry/caches" "^1.0.0" + "@wry/equality" "^0.5.6" + "@wry/trie" "^0.5.0" + graphql-tag "^2.12.6" + hoist-non-react-statics "^3.3.2" + optimism "^0.18.0" + prop-types "^15.7.2" + rehackt "0.0.6" + response-iterator "^0.2.6" + symbol-observable "^4.0.0" + ts-invariant "^0.10.3" + tslib "^2.3.0" + zen-observable-ts "^1.2.5" + +"@apollo/protobufjs@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.6.tgz#d601e65211e06ae1432bf5993a1a0105f2862f27" + integrity sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.0" + "@types/node" "^10.1.0" + long "^4.0.0" + +"@apollo/protobufjs@1.2.7": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.7.tgz#3a8675512817e4a046a897e5f4f16415f16a7d8a" + integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.0" + long "^4.0.0" + +"@apollo/usage-reporting-protobuf@^4.0.0": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz#407c3d18c7fbed7a264f3b9a3812620b93499de1" + integrity sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA== + dependencies: + "@apollo/protobufjs" "1.2.7" + +"@apollo/utils.dropunuseddefinitions@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz#02b04006442eaf037f4c4624146b12775d70d929" + integrity sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg== + +"@apollo/utils.keyvaluecache@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz#2bfe358c4d82f3a0950518451996758c52613f57" + integrity sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg== + dependencies: + "@apollo/utils.logger" "^1.0.0" + lru-cache "7.10.1 - 7.13.1" + +"@apollo/utils.logger@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.logger/-/utils.logger-1.0.1.tgz#aea0d1bb7ceb237f506c6bbf38f10a555b99a695" + integrity sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA== + +"@apollo/utils.printwithreducedwhitespace@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz#c466299a4766eef8577a2a64c8f27712e8bd7e30" + integrity sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q== + +"@apollo/utils.removealiases@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz#75f6d83098af1fcae2d3beb4f515ad4a8452a8c1" + integrity sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A== + +"@apollo/utils.sortast@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz#93218c7008daf3e2a0725196085a33f5aab5ad07" + integrity sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA== + dependencies: + lodash.sortby "^4.7.0" + +"@apollo/utils.stripsensitiveliterals@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz#4920651f36beee8e260e12031a0c5863ad0c7b28" + integrity sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w== + +"@apollo/utils.usagereporting@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz#3c70b49e554771659576fe35381c7a4b321d27fd" + integrity sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ== + dependencies: + "@apollo/usage-reporting-protobuf" "^4.0.0" + "@apollo/utils.dropunuseddefinitions" "^1.1.0" + "@apollo/utils.printwithreducedwhitespace" "^1.1.0" + "@apollo/utils.removealiases" "1.0.0" + "@apollo/utils.sortast" "^1.1.0" + "@apollo/utils.stripsensitiveliterals" "^1.2.0" + +"@apollographql/apollo-tools@^0.5.3": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz#cb3998c6cf12e494b90c733f44dd9935e2d8196c" + integrity sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw== + +"@apollographql/graphql-playground-html@1.6.29": + version "1.6.29" + resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz#a7a646614a255f62e10dcf64a7f68ead41dec453" + integrity sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA== + dependencies: + xss "^1.0.8" + +"@cerc-io/assemblyscript@0.19.10-watcher-ts-0.1.2": + version "0.19.10-watcher-ts-0.1.2" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fassemblyscript/-/0.19.10-watcher-ts-0.1.2/assemblyscript-0.19.10-watcher-ts-0.1.2.tgz#c6a20eeddca44ddb08994831845c0b172433566b" + integrity sha512-iovY7xoH5ZMGQZgsK/Wy8175AN2z6I0WUnzEWaxykkAFQUvnErgiw/Y4crkcOb/fDp8gslRfTeEFtR90m1AyPA== + dependencies: + asyncify-wasm "^1.2.1" + binaryen "101.0.0-nightly.20210723" + long "^4.0.0" + +"@cerc-io/cache@^0.2.82": + version "0.2.82" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcache/-/0.2.82/cache-0.2.82.tgz#b3ccc72047e9fd59f8cfe1e6d55a7139e0b61b7b" + integrity sha512-auQhFYShmn6KaV27WcLqhPhsMjr8s/adThLpg2MYqlR880YNPx9WSXK0gku3xBej4XIXBurZy/QkMq4A3IF2vw== + dependencies: + canonical-json "^0.0.4" + debug "^4.3.1" + ethers "^5.4.4" + fs-extra "^10.0.0" + level "^7.0.0" + +"@cerc-io/cli@^0.2.82": + version "0.2.82" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fcli/-/0.2.82/cli-0.2.82.tgz#783782cfb60fe302d6ca2fa151d49f9fec53302e" + integrity sha512-d86uMh2mXo+ZPT9Jr9qMdQZ2q7ZeGv1xyGpJD/42XK+jf5t59ZjAzK2MxNgzEe/vYghiRdsg3+sJPA8wKmR6Bg== + dependencies: + "@apollo/client" "^3.7.1" + "@cerc-io/cache" "^0.2.82" + "@cerc-io/ipld-eth-client" "^0.2.82" + "@cerc-io/libp2p" "^0.42.2-laconic-0.1.4" + "@cerc-io/nitro-node" "^0.1.15" + "@cerc-io/peer" "^0.2.82" + "@cerc-io/rpc-eth-client" "^0.2.82" + "@cerc-io/util" "^0.2.82" + "@ethersproject/providers" "^5.4.4" + "@graphql-tools/utils" "^9.1.1" + "@ipld/dag-cbor" "^8.0.0" + "@libp2p/interface-peer-id" "^2.0.0" + apollo-server-express "^3.11.1" + debug "^4.3.1" + ethers "^5.4.4" + express "^4.18.2" + graphql "^15.5.0" + graphql-request "^6.1.0" + graphql-subscriptions "^2.0.0" + http-proxy-middleware "^2.0.6" + js-yaml "^4.0.0" + json-diff "^0.5.4" + lodash "^4.17.21" + pluralize "^8.0.0" + reflect-metadata "^0.1.13" + typeorm "0.2.37" + yargs "^17.0.1" + +"@cerc-io/graph-node@^0.2.82": + version "0.2.82" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fgraph-node/-/0.2.82/graph-node-0.2.82.tgz#9e62dd7bf5497f014fc253d97cb6fee7c862a9ba" + integrity sha512-2b1/0CR0BBDWB/KIIxtM9vg2iHxPCNFN/XnEyumzmLXDgSwlNZkYLcPHWANK/X8nH3x8eqEA4BBfl0hDT9tnww== + dependencies: + "@apollo/client" "^3.3.19" + "@cerc-io/assemblyscript" "0.19.10-watcher-ts-0.1.2" + "@cerc-io/cache" "^0.2.82" + "@cerc-io/ipld-eth-client" "^0.2.82" + "@cerc-io/util" "^0.2.82" + "@types/json-diff" "^0.5.2" + "@types/yargs" "^17.0.0" + bn.js "^4.11.9" + debug "^4.3.1" + fs-extra "^10.0.0" + graphql "^15.5.0" + json-diff "^0.5.4" + lodash "^4.17.21" + omit-deep "^0.3.0" + pluralize "^8.0.0" + reflect-metadata "^0.1.13" + toml "^3.0.0" + typeorm "0.2.37" + typeorm-naming-strategies "^2.0.0" + yargs "^17.0.1" + +"@cerc-io/ipld-eth-client@^0.2.82": + version "0.2.82" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fipld-eth-client/-/0.2.82/ipld-eth-client-0.2.82.tgz#2d682ab8cdfc99d6b37cc2af6ee168f002b4639e" + integrity sha512-dbZ7n1TxVdwQ56T+KcE/Ac2bFWZXFkTCcs5fH5hlpUc4HyZI86MZ5IuaaNco4BBHYXUABntESWtvlx4cepeZCg== + dependencies: + "@apollo/client" "^3.7.1" + "@cerc-io/cache" "^0.2.82" + "@cerc-io/util" "^0.2.82" + cross-fetch "^3.1.4" + debug "^4.3.1" + ethers "^5.4.4" + graphql "^15.5.0" + graphql-ws "^5.11.2" + left-pad "^1.3.0" + ws "^8.11.0" + zen-observable-ts "^1.1.0" + +"@cerc-io/libp2p@0.42.2-laconic-0.1.4", "@cerc-io/libp2p@^0.42.2-laconic-0.1.4": + version "0.42.2-laconic-0.1.4" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Flibp2p/-/0.42.2-laconic-0.1.4/libp2p-0.42.2-laconic-0.1.4.tgz#ac9347e70d6d3cee040ad02074cae3070b91a8fb" + integrity sha512-gTC62YvkK3P7cWlaH8gQ6lDbqusNiaYI1q7y/+vQ/1s35uStwRn7fvXHC0aY9s36L4S3p1S0sxDzGXM8rtg6+w== + dependencies: + "@achingbrain/nat-port-mapper" "^1.0.3" + "@libp2p/crypto" "^1.0.4" + "@libp2p/interface-address-manager" "^2.0.0" + "@libp2p/interface-connection" "^3.0.2" + "@libp2p/interface-connection-encrypter" "^3.0.1" + "@libp2p/interface-connection-manager" "^1.1.1" + "@libp2p/interface-content-routing" "^2.0.0" + "@libp2p/interface-dht" "^2.0.0" + "@libp2p/interface-keychain" "^2.0.4" + "@libp2p/interface-libp2p" "^1.0.0" + "@libp2p/interface-metrics" "^4.0.0" + "@libp2p/interface-peer-discovery" "^1.0.1" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-peer-info" "^1.0.3" + "@libp2p/interface-peer-routing" "^1.0.1" + "@libp2p/interface-peer-store" "^1.2.2" + "@libp2p/interface-pubsub" "^3.0.0" + "@libp2p/interface-registrar" "^2.0.3" + "@libp2p/interface-stream-muxer" "^3.0.0" + "@libp2p/interface-transport" "^2.1.0" + "@libp2p/interfaces" "^3.0.3" + "@libp2p/keychain" "^1.0.0" + "@libp2p/logger" "^2.0.1" + "@libp2p/multistream-select" "^3.0.0" + "@libp2p/peer-collections" "^3.0.0" + "@libp2p/peer-id" "^2.0.0" + "@libp2p/peer-id-factory" "^2.0.0" + "@libp2p/peer-record" "^5.0.0" + "@libp2p/peer-store" "^6.0.0" + "@libp2p/tracked-map" "^3.0.0" + "@libp2p/utils" "^3.0.2" + "@libp2p/webrtc-peer" "^2.0.2" + "@multiformats/mafmt" "^11.0.2" + "@multiformats/multiaddr" "^11.0.0" + abortable-iterator "^4.0.2" + any-signal "^3.0.0" + datastore-core "^8.0.1" + err-code "^3.0.1" + interface-datastore "^7.0.0" + it-all "^2.0.0" + it-drain "^2.0.0" + it-filter "^2.0.0" + it-first "^2.0.0" + it-handshake "^4.1.2" + it-length-prefixed "^8.0.2" + it-map "^2.0.0" + it-merge "^2.0.0" + it-pair "^2.0.2" + it-pipe "^2.0.3" + it-pushable "^3.1.2" + it-sort "^2.0.1" + it-stream-types "^1.0.4" + merge-options "^3.0.4" + multiformats "^11.0.0" + p-fifo "^1.0.0" + p-settle "^5.0.0" + private-ip "^3.0.0" + protons-runtime "^4.0.1" + rate-limiter-flexible "^2.3.11" + retimer "^3.0.0" + set-delayed-interval "^1.0.0" + timeout-abort-controller "^3.0.0" + uint8arraylist "^2.3.2" + uint8arrays "^4.0.2" + wherearewe "^2.0.0" + xsalsa20 "^1.1.0" + +"@cerc-io/nitro-node@^0.1.15": + version "0.1.15" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fnitro-node/-/0.1.15/nitro-node-0.1.15.tgz#c36c48591fd5615768cf31eb17510b86f232bd49" + integrity sha512-wE8tWD7m8lZ3TEMnaI19YOiJLA8Sm9UOHsPKzzjCE2xIJ0X5HmSW4qi6BJEGd8VnlFGbBDXzG+O2DBYUWRpi2g== + dependencies: + "@cerc-io/libp2p" "0.42.2-laconic-0.1.4" + "@cerc-io/nitro-util" "^0.1.15" + "@cerc-io/peer" "^0.2.65" + "@cerc-io/ts-channel" "1.0.3-ts-nitro-0.1.1" + "@jpwilliams/waitgroup" "^2.1.0" + "@libp2p/crypto" "^1.0.4" + "@libp2p/tcp" "^6.0.0" + "@multiformats/multiaddr" "^11.1.4" + "@statechannels/nitro-protocol" "^2.0.1-alpha.5" + assert "^2.0.0" + async-mutex "^0.4.0" + debug "^4.3.4" + ethers "^5.7.2" + heap "^0.2.7" + it-pipe "^2.0.5" + level "^8.0.0" + lodash "^4.17.21" + path-browserify "^1.0.1" + promjs "^0.4.2" + uint8arrays "^4.0.3" + +"@cerc-io/nitro-util@^0.1.15": + version "0.1.15" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fnitro-util/-/0.1.15/nitro-util-0.1.15.tgz#693dcb9642ebab490f9c2088fbe490fb6ecfb438" + integrity sha512-ByFq+Ne8dUp2omvm2Wui19r22CvXmdIJeAnN+8BhCU/B0e01zHgPhoaoQ3FX5F/NFG7+eiuFHpVdmBRq+cbnUA== + dependencies: + "@cerc-io/ts-channel" "1.0.3-ts-nitro-0.1.1" + "@statechannels/nitro-protocol" "^2.0.1-alpha.5" + assert "^2.0.0" + debug "^4.3.4" + ethers "^5.7.2" + it-pipe "^3.0.1" + json-bigint "^1.0.0" + lodash "^4.17.21" + uint8arrays "^4.0.3" + +"@cerc-io/peer@^0.2.65", "@cerc-io/peer@^0.2.82": + version "0.2.82" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fpeer/-/0.2.82/peer-0.2.82.tgz#e27a1cafd06c25f9c4e02d49d4615f45a76ce22b" + integrity sha512-wKkBXO7hxuN13Av60otDj+2O7nyoogYp+n8uTKNU9cv6J87OLRUZZAuGb5FggUONgDqxS3cyaXD6vqLpkhbbIA== + dependencies: + "@cerc-io/libp2p" "^0.42.2-laconic-0.1.4" + "@cerc-io/prometheus-metrics" "1.1.4" + "@chainsafe/libp2p-gossipsub" "^6.0.0" + "@chainsafe/libp2p-noise" "^11.0.0" + "@chainsafe/libp2p-yamux" "3.0.7" + "@libp2p/floodsub" "^6.0.0" + "@libp2p/mplex" "^7.1.1" + "@libp2p/peer-id-factory" "^2.0.0" + "@libp2p/pubsub-peer-discovery" "^8.0.0" + "@libp2p/websockets" "^5.0.5" + "@multiformats/multiaddr" "^11.1.4" + assert "^2.0.0" + buffer "^6.0.3" + chai "^4.3.4" + debug "^4.3.1" + it-length-prefixed "^8.0.4" + it-map "^2.0.0" + it-pipe "^2.0.5" + it-pushable "^3.1.2" + mocha "^8.4.0" + p-event "^5.0.1" + uint8arrays "^4.0.3" + unique-names-generator "^4.7.1" + yargs "^17.0.1" + +"@cerc-io/prometheus-metrics@1.1.4": + version "1.1.4" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fprometheus-metrics/-/1.1.4/prometheus-metrics-1.1.4.tgz#51006b0b5bf6168394390c78072a1c0bb2b02f28" + integrity sha512-Mqg7o1Wer8zKv3/0NWB1sCMmW8hyYI0Fw58d/MR62+5EDZ2yPhwMUrLZUhyqdo3qXJzxMylAPSVx8URDcthmKA== + dependencies: + "@libp2p/interface-connection" "^3.0.2" + "@libp2p/interface-metrics" "^4.0.2" + "@libp2p/logger" "^2.0.2" + it-foreach "^1.0.0" + it-stream-types "^1.0.4" + promjs "^0.4.2" + +"@cerc-io/rpc-eth-client@^0.2.82": + version "0.2.82" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Frpc-eth-client/-/0.2.82/rpc-eth-client-0.2.82.tgz#44d58f22f8375adf4bf167a314691368cfa74b06" + integrity sha512-ndMkbOORQ6qs8zi+yIOU3btTXC1aVjzg+pCtNR62ieVZDJYTCXCD6kmZB4vx340PHnH2f5+51N9n/icY6CU0pQ== + dependencies: + "@cerc-io/cache" "^0.2.82" + "@cerc-io/ipld-eth-client" "^0.2.82" + "@cerc-io/util" "^0.2.82" + chai "^4.3.4" + ethers "^5.4.4" + left-pad "^1.3.0" + mocha "^8.4.0" + +"@cerc-io/solidity-mapper@^0.2.82": + version "0.2.82" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fsolidity-mapper/-/0.2.82/solidity-mapper-0.2.82.tgz#1ba9d41ac28c1963748d198bf400bae98e156342" + integrity sha512-braGSAB+iuIwwnpBWuSUtw0bhSEFMKKE6cYMr0O6Aj3NVLowmjrENKqCYDG6XwRpUKZheAgUUd8GJ5Dush412Q== + dependencies: + dotenv "^10.0.0" + +"@cerc-io/ts-channel@1.0.3-ts-nitro-0.1.1": + version "1.0.3-ts-nitro-0.1.1" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fts-channel/-/1.0.3-ts-nitro-0.1.1/ts-channel-1.0.3-ts-nitro-0.1.1.tgz#0768781313a167295c0bf21307f47e02dc17e936" + integrity sha512-2jFICUSyffuZ+8+qRhXuLSJq4GJ6Y02wxiXoubH0Kzv2lIKkJtWICY1ZQQhtXAvP0ncAQB85WJHqtqwH8l7J3Q== + +"@cerc-io/util@^0.2.82": + version "0.2.82" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Futil/-/0.2.82/util-0.2.82.tgz#aa0646bd4276ac5afa6789459eb78b88a4f170a5" + integrity sha512-rqcc5k7KEb261vxuNRD/+agYvp1CJjhWFohNGroxpQcP6be21PRh/Evm2wdqYq75GgN9suQooCdmsXsdXlMgXA== + dependencies: + "@apollo/utils.keyvaluecache" "^1.0.1" + "@cerc-io/nitro-node" "^0.1.15" + "@cerc-io/peer" "^0.2.82" + "@cerc-io/solidity-mapper" "^0.2.82" + "@cerc-io/ts-channel" "1.0.3-ts-nitro-0.1.1" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/providers" "^5.4.4" + "@ethersproject/web" "^5.7.1" + "@graphql-tools/schema" "^9.0.10" + "@graphql-tools/utils" "^9.1.1" + "@ipld/dag-cbor" "^6.0.12" + "@libp2p/interface-connection" "^3.0.2" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/peer-id" "^2.0.0" + apollo-server-core "^3.11.1" + apollo-server-express "^3.11.1" + apollo-server-plugin-response-cache "^3.8.1" + apollo-type-bigint "^0.1.3" + bunyan "^1.8.15" + debug "^4.3.1" + decimal.js "^10.3.1" + ethers "^5.4.4" + express "^4.18.2" + express-queue "^0.0.13" + fs-extra "^10.0.0" + graphql "^15.5.0" + graphql-subscriptions "^2.0.0" + graphql-ws "^5.11.2" + ipfs-http-client "^56.0.3" + it-length-prefixed "^8.0.4" + it-pipe "^2.0.5" + it-pushable "^3.1.2" + js-yaml "^4.1.0" + json-bigint "^1.0.0" + lodash "^4.17.21" + lru-cache "^10.0.0" + mokka "^1.4.2" + multiformats "^9.4.8" + pg "^8.5.1" + pg-boss "^6.1.0" + prom-client "^14.0.1" + toml "^3.0.0" + typeorm "0.2.37" + typeorm-naming-strategies "^2.0.0" + ws "^8.11.0" + yargs "^17.0.1" + +"@chainsafe/is-ip@^2.0.1": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@chainsafe/is-ip/-/is-ip-2.0.2.tgz#7311e7403f11d8c5cfa48111f56fcecaac37c9f6" + integrity sha512-ndGqEMG1W5WkGagaqOZHpPU172AGdxr+LD15sv3WIUvT5oCFUrG1Y0CW/v2Egwj4JXEvSibaIIIqImsm98y1nA== + +"@chainsafe/libp2p-gossipsub@^6.0.0": + version "6.3.0" + resolved "https://registry.yarnpkg.com/@chainsafe/libp2p-gossipsub/-/libp2p-gossipsub-6.3.0.tgz#0ef8b8548a4c8307233b01dfb23bfa605df6b0e2" + integrity sha512-yRgMB5JpyPROjmhOeOmzJUAKci19qBEnpH80201f8JkkviUJo7+X8i3MUkammlbFg0VhaTKBT98Osbko9+rT1w== + dependencies: + "@libp2p/crypto" "^1.0.3" + "@libp2p/interface-connection" "^4.0.0" + "@libp2p/interface-connection-manager" "^1.3.0" + "@libp2p/interface-keys" "^1.0.3" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-peer-store" "^1.2.2" + "@libp2p/interface-pubsub" "^3.0.0" + "@libp2p/interface-registrar" "^2.0.3" + "@libp2p/interfaces" "^3.2.0" + "@libp2p/logger" "^2.0.0" + "@libp2p/peer-id" "^2.0.0" + "@libp2p/peer-record" "^5.0.0" + "@libp2p/pubsub" "^6.0.0" + "@libp2p/topology" "^4.0.0" + "@multiformats/multiaddr" "^12.0.0" + abortable-iterator "^4.0.2" + denque "^1.5.0" + it-length-prefixed "^8.0.2" + it-pipe "^2.0.4" + it-pushable "^3.1.0" + multiformats "^11.0.0" + protobufjs "^6.11.2" + uint8arraylist "^2.3.2" + uint8arrays "^4.0.2" + +"@chainsafe/libp2p-noise@^11.0.0": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@chainsafe/libp2p-noise/-/libp2p-noise-11.0.4.tgz#b4806e7605e44fa279130c60a95faad13ed01d93" + integrity sha512-X7kA6a3/QPFxNFwgUJ8vubDu5qBDcDT0nhD+jL7g60IFKZu//HFH7oqsNCZa12yx0oR1fEYOR62iHDt2GHyWBQ== + dependencies: + "@libp2p/crypto" "^1.0.11" + "@libp2p/interface-connection-encrypter" "^3.0.5" + "@libp2p/interface-keys" "^1.0.6" + "@libp2p/interface-metrics" "^4.0.4" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/logger" "^2.0.5" + "@libp2p/peer-id" "^2.0.0" + "@stablelib/chacha20poly1305" "^1.0.1" + "@stablelib/hkdf" "^1.0.1" + "@stablelib/sha256" "^1.0.1" + "@stablelib/x25519" "^1.0.3" + it-length-prefixed "^8.0.2" + it-pair "^2.0.2" + it-pb-stream "^3.2.0" + it-pipe "^2.0.3" + it-stream-types "^1.0.4" + protons-runtime "^5.0.0" + uint8arraylist "^2.3.2" + uint8arrays "^4.0.2" + +"@chainsafe/libp2p-yamux@3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@chainsafe/libp2p-yamux/-/libp2p-yamux-3.0.7.tgz#345d620097c6ac07fcbeb5910da18b3ed974337c" + integrity sha512-fp59/7Xzws+4Nz4TUS+5Z/lkwk+9IW6GsU6wPJVaGInxf5tl4qQ5S8TLql23CEGbuvbToqMEdNLVAtE+M2Lvng== + dependencies: + "@libp2p/interface-connection" "^3.0.1" + "@libp2p/interface-stream-muxer" "^3.0.0" + "@libp2p/interfaces" "^3.2.0" + "@libp2p/logger" "^2.0.1" + abortable-iterator "^4.0.2" + any-signal "^3.0.1" + it-pipe "^2.0.4" + it-pushable "^3.1.0" + uint8arraylist "^2.3.2" + +"@chainsafe/netmask@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@chainsafe/netmask/-/netmask-2.0.0.tgz#0d4a75f47919f65011da4327a3845c9661f1038a" + integrity sha512-I3Z+6SWUoaljh3TBzCnCxjlUyN8tA+NAk5L6m9IxvCf1BENQTePzPMis97CoN/iMW1St3WN+AWCCRp+TTBRiDg== + dependencies: + "@chainsafe/is-ip" "^2.0.1" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== + +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.3.0", "@ethersproject/abi@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + +"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" + integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + +"@ethersproject/contracts@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" + integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== + dependencies: + "@ethersproject/abi" "^5.7.0" + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" + integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" + integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" + integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.4.4": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" + integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + bech32 "1.1.4" + ws "7.4.6" + +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" + integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" + integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/solidity@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" + integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + +"@ethersproject/units@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" + integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/wallet@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" + integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/json-wallets" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0", "@ethersproject/web@^5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" + integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + +"@graphql-tools/merge@8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.1.tgz#06121942ad28982a14635dbc87b5d488a041d722" + integrity sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg== + dependencies: + "@graphql-tools/utils" "8.9.0" + tslib "^2.4.0" + +"@graphql-tools/merge@^8.4.1": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.2.tgz#95778bbe26b635e8d2f60ce9856b388f11fe8288" + integrity sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw== + dependencies: + "@graphql-tools/utils" "^9.2.1" + tslib "^2.4.0" + +"@graphql-tools/mock@^8.1.2": + version "8.7.20" + resolved "https://registry.yarnpkg.com/@graphql-tools/mock/-/mock-8.7.20.tgz#c83ae0f1940d194a3982120c9c85f3ac6b4f7f20" + integrity sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ== + dependencies: + "@graphql-tools/schema" "^9.0.18" + "@graphql-tools/utils" "^9.2.1" + fast-json-stable-stringify "^2.1.0" + tslib "^2.4.0" + +"@graphql-tools/schema@^8.0.0": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.5.1.tgz#c2f2ff1448380919a330312399c9471db2580b58" + integrity sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg== + dependencies: + "@graphql-tools/merge" "8.3.1" + "@graphql-tools/utils" "8.9.0" + tslib "^2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/schema@^9.0.10", "@graphql-tools/schema@^9.0.18": + version "9.0.19" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.19.tgz#c4ad373b5e1b8a0cf365163435b7d236ebdd06e7" + integrity sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w== + dependencies: + "@graphql-tools/merge" "^8.4.1" + "@graphql-tools/utils" "^9.2.1" + tslib "^2.4.0" + value-or-promise "^1.0.12" + +"@graphql-tools/utils@8.9.0": + version "8.9.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.9.0.tgz#c6aa5f651c9c99e1aca55510af21b56ec296cdb7" + integrity sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg== + dependencies: + tslib "^2.4.0" + +"@graphql-tools/utils@^9.1.1", "@graphql-tools/utils@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" + integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + tslib "^2.4.0" + +"@graphql-typed-document-node/core@^3.1.1", "@graphql-typed-document-node/core@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== + +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" + integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + +"@ipld/dag-cbor@^6.0.12", "@ipld/dag-cbor@^6.0.3": + version "6.0.15" + resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-6.0.15.tgz#aebe7a26c391cae98c32faedb681b1519e3d2372" + integrity sha512-Vm3VTSTwlmGV92a3C5aeY+r2A18zbH2amehNhsX8PBa3muXICaWrN8Uri85A5hLH7D7ElhE8PdjxD6kNqUmTZA== + dependencies: + cborg "^1.5.4" + multiformats "^9.5.4" + +"@ipld/dag-cbor@^7.0.0": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz#aa31b28afb11a807c3d627828a344e5521ac4a1e" + integrity sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA== + dependencies: + cborg "^1.6.0" + multiformats "^9.5.4" + +"@ipld/dag-cbor@^8.0.0": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-8.0.1.tgz#3042c219dd85a71d66ca6946fb6c7b6f0d519369" + integrity sha512-mHRuzgGXNk0Y5W7nNQdN37qJiig1Kdgf92icBVFRUNtBc9Ezl5DIdWfiGWBucHBrhqPBncxoH3As9cHPIRozxA== + dependencies: + cborg "^1.6.0" + multiformats "^11.0.0" + +"@ipld/dag-json@^8.0.1": + version "8.0.11" + resolved "https://registry.yarnpkg.com/@ipld/dag-json/-/dag-json-8.0.11.tgz#8d30cc2dfacb0aef04d327465d3df91e79e8b6ce" + integrity sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA== + dependencies: + cborg "^1.5.4" + multiformats "^9.5.4" + +"@ipld/dag-pb@^2.1.3": + version "2.1.18" + resolved "https://registry.yarnpkg.com/@ipld/dag-pb/-/dag-pb-2.1.18.tgz#12d63e21580e87c75fd1a2c62e375a78e355c16f" + integrity sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg== + dependencies: + multiformats "^9.5.4" + +"@josephg/resolvable@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb" + integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== + +"@jpwilliams/waitgroup@^2.1.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@jpwilliams/waitgroup/-/waitgroup-2.1.1.tgz#06e639add32d11d5909ca904233a8f77248f76c2" + integrity sha512-0CxRhNfkvFCTLZBKGvKxY2FYtYW1yWhO2McLqBL0X5UWvYjIf9suH8anKW/DNutl369A75Ewyoh2iJMwBZ2tRg== + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@libp2p/crypto@^1.0.0", "@libp2p/crypto@^1.0.11", "@libp2p/crypto@^1.0.3", "@libp2p/crypto@^1.0.4": + version "1.0.17" + resolved "https://registry.yarnpkg.com/@libp2p/crypto/-/crypto-1.0.17.tgz#e64043328c0c866bf7f4cc8560b4f483e9c745dc" + integrity sha512-Oeg0Eb/EvAho0gVkOgemXEgrVxWaT3x/DpFgkBdZ9qGxwq75w/E/oPc7souqBz+l1swfz37GWnwV7bIb4Xv5Ag== + dependencies: + "@libp2p/interface-keys" "^1.0.2" + "@libp2p/interfaces" "^3.2.0" + "@noble/ed25519" "^1.6.0" + "@noble/secp256k1" "^1.5.4" + multiformats "^11.0.0" + node-forge "^1.1.0" + protons-runtime "^5.0.0" + uint8arraylist "^2.4.3" + uint8arrays "^4.0.2" + +"@libp2p/floodsub@^6.0.0": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@libp2p/floodsub/-/floodsub-6.0.3.tgz#38a5440449ea87bb9be90933a4bca0dbdddfb69c" + integrity sha512-ajbgcX5lgtILRWgXLvjbO6TRB3Dxo/JTGvzSpqmFOfcZ4PGubNkbDkOwz1TXVqFqtD/CI0rYrKiwBxlXmH/6tg== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-pubsub" "^3.0.0" + "@libp2p/logger" "^2.0.0" + "@libp2p/pubsub" "^6.0.0" + protons-runtime "^5.0.0" + uint8arraylist "^2.1.1" + uint8arrays "^4.0.3" + +"@libp2p/interface-address-manager@^2.0.0": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@libp2p/interface-address-manager/-/interface-address-manager-2.0.5.tgz#913fceed38b7cfe12a1e546764e3428a1fbaffda" + integrity sha512-e2vLstKkYlAG2PZe6SEBpnnP2Y/ej6URue+zAiyjJPuXoOGNzHyLaqcv7MKye171OEf9dg5wv1gFphWcUJJbSA== + dependencies: + "@libp2p/interfaces" "^3.0.0" + "@multiformats/multiaddr" "^12.0.0" + +"@libp2p/interface-connection-encrypter@^3.0.1", "@libp2p/interface-connection-encrypter@^3.0.5": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-3.0.6.tgz#1f7c7428d5905b390cfc5390e72bd02829213d31" + integrity sha512-LwyYBN/aSa3IPCe7gBxffx/vaC0rFxAXlCbx4QGaWGtg6qK80Ouj89LEDWb3HkMbecNVWaV4TEqJIM5WnAAx1Q== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + it-stream-types "^1.0.4" + uint8arraylist "^2.1.2" + +"@libp2p/interface-connection-manager@^1.1.1", "@libp2p/interface-connection-manager@^1.3.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@libp2p/interface-connection-manager/-/interface-connection-manager-1.5.0.tgz#959dedb26c3859677f0c889406d1814978e60386" + integrity sha512-luqYVMH3yip12JlSwVmBdo5/qG4YnXQXp2AV4lvxWK0sUhCnI2r3YL4e9ne8o3LAA5CkH3lPqTQ2HSRpmOruFg== + dependencies: + "@libp2p/interface-connection" "^4.0.0" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interfaces" "^3.0.0" + "@multiformats/multiaddr" "^12.0.0" + +"@libp2p/interface-connection@^3.0.1", "@libp2p/interface-connection@^3.0.2": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@libp2p/interface-connection/-/interface-connection-3.1.1.tgz#f43180e64de118c29f311ee7111f8bbe50e252bf" + integrity sha512-+hxfYLv4jf+MruQEJiJeIyo/wI33/53wRL0XJTkxwQQPAkLHfZWCUY4kY9sXALd3+ASjXAENvJj9VvzZTlkRDQ== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interfaces" "^3.0.0" + "@multiformats/multiaddr" "^12.0.0" + it-stream-types "^1.0.4" + uint8arraylist "^2.1.2" + +"@libp2p/interface-connection@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@libp2p/interface-connection/-/interface-connection-4.0.0.tgz#fcc830ca891820fac89a4c6bd4fcc2df4874f49b" + integrity sha512-6xx/NmEc84HX7QmsjSC3hHredQYjHv4Dkf4G27adAPf+qN+vnPxmQ7gaTnk243a0++DOFTbZ2gKX/15G2B6SRg== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interfaces" "^3.0.0" + "@multiformats/multiaddr" "^12.0.0" + it-stream-types "^1.0.4" + uint8arraylist "^2.1.2" + +"@libp2p/interface-connection@^5.0.0", "@libp2p/interface-connection@^5.0.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@libp2p/interface-connection/-/interface-connection-5.1.1.tgz#da0572c76da43629d52b8bec6cd092143fae421d" + integrity sha512-ytknMbuuNW72LYMmTP7wFGP5ZTaUSGBCmV9f+uQ55XPcFHtKXLtKWVU/HE8IqPmwtyU8AO7veGoJ/qStMHNRVA== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interfaces" "^3.0.0" + "@multiformats/multiaddr" "^12.0.0" + it-stream-types "^2.0.1" + uint8arraylist "^2.4.3" + +"@libp2p/interface-content-routing@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@libp2p/interface-content-routing/-/interface-content-routing-2.1.1.tgz#7c56acad48f59feb9f0c6dd637e73d0e4eebd510" + integrity sha512-nRPOUWgq1K1fDr3FKW93Tip7aH8AFefCw3nJygL4crepxWTSGw95s1GyDpC7t0RJkWTRNHsqZvsFsJ9FkHExKw== + dependencies: + "@libp2p/interface-peer-info" "^1.0.0" + "@libp2p/interfaces" "^3.0.0" + multiformats "^11.0.0" + +"@libp2p/interface-dht@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@libp2p/interface-dht/-/interface-dht-2.0.3.tgz#da2c11998da9141c85eeaf8402c412174a0b4cbd" + integrity sha512-JAKbHvw3egaSeB7CHOf6PF/dLNim4kzAiXX+0IEz2lln8L32/Xf1T7KNOF/RSbSYqO9b7Xxc/b2fuSfyaMwwMQ== + dependencies: + "@libp2p/interface-peer-discovery" "^2.0.0" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-peer-info" "^1.0.0" + "@libp2p/interfaces" "^3.0.0" + multiformats "^11.0.0" + +"@libp2p/interface-keychain@^2.0.0", "@libp2p/interface-keychain@^2.0.3", "@libp2p/interface-keychain@^2.0.4": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@libp2p/interface-keychain/-/interface-keychain-2.0.5.tgz#6ce104f38cf07ad72c9dfbe471a689f4ea4b4687" + integrity sha512-mb7QNgn9fIvC7CaJCi06GJ+a6DN6RVT9TmEi0NmedZGATeCArPeWWG7r7IfxNVXb9cVOOE1RzV1swK0ZxEJF9Q== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + multiformats "^11.0.0" + +"@libp2p/interface-keys@^1.0.2", "@libp2p/interface-keys@^1.0.3", "@libp2p/interface-keys@^1.0.6": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@libp2p/interface-keys/-/interface-keys-1.0.8.tgz#2c6b55136113ae7cf78133d3c459cdf0455b29ae" + integrity sha512-CJ1SlrwuoHMquhEEWS77E+4vv7hwB7XORkqzGQrPQmA9MRdIEZRS64bA4JqCLUDa4ltH0l+U1vp0oZHLT67NEA== + +"@libp2p/interface-libp2p@^1.0.0": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@libp2p/interface-libp2p/-/interface-libp2p-1.3.3.tgz#d3f8e2900f4605a8d60267fc436b95a882688cf1" + integrity sha512-7kEoIlAGTIiUNJ/4vIFWx+j+iN4aco7O2PqH6ES3dTvX6sgvYxYFi83p1G/RDj8tHKO7jLfG3UmiwJc/Ab0VyA== + dependencies: + "@libp2p/interface-connection" "^5.0.0" + "@libp2p/interface-content-routing" "^2.0.0" + "@libp2p/interface-dht" "^2.0.0" + "@libp2p/interface-keychain" "^2.0.0" + "@libp2p/interface-metrics" "^4.0.0" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-peer-info" "^1.0.0" + "@libp2p/interface-peer-routing" "^1.0.0" + "@libp2p/interface-peer-store" "^1.0.0" + "@libp2p/interface-pubsub" "^4.0.0" + "@libp2p/interface-registrar" "^2.0.0" + "@libp2p/interfaces" "^3.0.0" + "@multiformats/multiaddr" "^12.0.0" + +"@libp2p/interface-metrics@^4.0.0", "@libp2p/interface-metrics@^4.0.2", "@libp2p/interface-metrics@^4.0.4": + version "4.0.8" + resolved "https://registry.yarnpkg.com/@libp2p/interface-metrics/-/interface-metrics-4.0.8.tgz#06eb45588737d72f074c70df8d1ef067a2d7cf71" + integrity sha512-1b9HjYyJH0m35kvPHipuoz2EtYCxyq34NUhuV8VK1VNtrouMpA3uCKp5FI7yHCA6V6+ux1R3UriKgNFOSGbIXQ== + dependencies: + "@libp2p/interface-connection" "^5.0.0" + +"@libp2p/interface-peer-discovery@^1.0.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@libp2p/interface-peer-discovery/-/interface-peer-discovery-1.1.1.tgz#5de48cbf30d1899de7138afbf4bb7491f91759e8" + integrity sha512-tjbt5DquTyP/JDskasPbIB3lk+zPVL8J9UPfrELZqlslJo9ufsMKyEXcTMMABclTvUsh6uSDgC0JUpUHTeCn8A== + dependencies: + "@libp2p/interface-peer-info" "^1.0.0" + "@libp2p/interfaces" "^3.0.0" + +"@libp2p/interface-peer-discovery@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@libp2p/interface-peer-discovery/-/interface-peer-discovery-2.0.0.tgz#90f176cfd202f5a362912386199e64f8b1e0fc53" + integrity sha512-Mien5t3Tc+ntP5p50acKUYJN90ouMnq1lOTQDKQNvGcXoajG8A1AEYLocnzVia/MXiexuj6S/Q28WBBacoOlBg== + dependencies: + "@libp2p/interface-peer-info" "^1.0.0" + "@libp2p/interfaces" "^3.0.0" + +"@libp2p/interface-peer-id@^2.0.0", "@libp2p/interface-peer-id@^2.0.1", "@libp2p/interface-peer-id@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@libp2p/interface-peer-id/-/interface-peer-id-2.0.2.tgz#6302e70b6fc17c451bc3daa11447d059357bcc32" + integrity sha512-9pZp9zhTDoVwzRmp0Wtxw0Yfa//Yc0GqBCJi3EznBDE6HGIAVvppR91wSh2knt/0eYg0AQj7Y35VSesUTzMCUg== + dependencies: + multiformats "^11.0.0" + +"@libp2p/interface-peer-info@^1.0.0", "@libp2p/interface-peer-info@^1.0.2", "@libp2p/interface-peer-info@^1.0.3": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@libp2p/interface-peer-info/-/interface-peer-info-1.0.10.tgz#566026de95a0817b9e853c982b313541b7960c0b" + integrity sha512-HQlo8NwQjMyamCHJrnILEZz+YwEOXCB2sIIw3slIrhVUYeYlTaia1R6d9umaAeLHa255Zmdm4qGH8rJLRqhCcg== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@multiformats/multiaddr" "^12.0.0" + +"@libp2p/interface-peer-routing@^1.0.0", "@libp2p/interface-peer-routing@^1.0.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@libp2p/interface-peer-routing/-/interface-peer-routing-1.1.1.tgz#b4d3f51d996ce0ea19773db45aff4684e247e6fb" + integrity sha512-/XEhwob9qXjdmI8PBcc+qFin32xmtyoC58nRpq8RliqHY5uOVWiHfZoNtdOXIsNvzVvq5FqlHOWt71ofxXTtlg== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-peer-info" "^1.0.0" + "@libp2p/interfaces" "^3.0.0" + +"@libp2p/interface-peer-store@^1.0.0", "@libp2p/interface-peer-store@^1.2.2": + version "1.2.9" + resolved "https://registry.yarnpkg.com/@libp2p/interface-peer-store/-/interface-peer-store-1.2.9.tgz#85173892e52ac230abfd45798bfab03dce20ae84" + integrity sha512-jAAlbP1NXpEJOG6Dbr0QdP71TBYjHBc/65Ulwdn4J4f04PW1bI4JIMQeq6+/sLfaGVryvvUT/a52io8UUtB21Q== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-peer-info" "^1.0.0" + "@libp2p/interface-record" "^2.0.0" + "@libp2p/interfaces" "^3.0.0" + "@multiformats/multiaddr" "^12.0.0" + +"@libp2p/interface-peer-store@^2.0.0": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@libp2p/interface-peer-store/-/interface-peer-store-2.0.4.tgz#5e9961b37094341216301285edf6fd73f3e796aa" + integrity sha512-jNvBK3O1JPJqSiDN2vkb+PV8bTPnYdP54nxsLtut1BWukNm610lwzwleV7CetFI4bJCn6g+BgBvvq8fdADy0tA== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@multiformats/multiaddr" "^12.0.0" + +"@libp2p/interface-pubsub@^3.0.0": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@libp2p/interface-pubsub/-/interface-pubsub-3.0.7.tgz#cc1c7c47c883daddd2b84d83d719b3826943be3b" + integrity sha512-+c74EVUBTfw2sx1GE/z/IjsYO6dhur+ukF0knAppeZsRQ1Kgg6K5R3eECtT28fC6dBWLjFpAvW/7QGfiDAL4RA== + dependencies: + "@libp2p/interface-connection" "^4.0.0" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interfaces" "^3.0.0" + it-pushable "^3.0.0" + uint8arraylist "^2.1.2" + +"@libp2p/interface-pubsub@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@libp2p/interface-pubsub/-/interface-pubsub-4.0.1.tgz#27f85b43ced13cf3382629a38f309f7fc7b45bec" + integrity sha512-PIc5V/J98Yr1ZTHh8lQshP7GdVUh+pKNIqj6wGaDmXs8oQLB40qKCjcpHQNlAnv2e1Bh9mEH2GXv5sGZOA651A== + dependencies: + "@libp2p/interface-connection" "^5.0.0" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interfaces" "^3.0.0" + it-pushable "^3.1.3" + uint8arraylist "^2.4.3" + +"@libp2p/interface-record@^2.0.0", "@libp2p/interface-record@^2.0.1": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@libp2p/interface-record/-/interface-record-2.0.7.tgz#d083776e465cfa66d10e1d3c8e015677a9fc7635" + integrity sha512-AFPytZWI+p8FJWP0xuK5zbSjalLAOIMzEed2lBKdRWvdGBQUHt9ENLTkfkI9G7p/Pp3hlhVzzBXdIErKd+0GxQ== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + uint8arraylist "^2.4.3" + +"@libp2p/interface-registrar@^2.0.0", "@libp2p/interface-registrar@^2.0.3": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@libp2p/interface-registrar/-/interface-registrar-2.0.12.tgz#a74b59df7b6c345d8bb45d310469b2d5f923e9bf" + integrity sha512-EyCi2bycC2rn3oPB4Swr7EqBsvcaWd6RcqR6zsImNIG9BKc4/R1gl6iaF861JaELYgYmzBMS31x1rQpVz5UekQ== + dependencies: + "@libp2p/interface-connection" "^5.0.0" + "@libp2p/interface-peer-id" "^2.0.0" + +"@libp2p/interface-stream-muxer@^3.0.0": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@libp2p/interface-stream-muxer/-/interface-stream-muxer-3.0.6.tgz#f84fae484290b667a1b4ffa51af7d6138765a698" + integrity sha512-wbLrH/bdF8qe0CpPd3BFMSmUs085vc3/8zx5uhXJySD672enAc8Jw9gmAYd1pIqELdqJqBDg9EI0y1XMRxvVkw== + dependencies: + "@libp2p/interface-connection" "^4.0.0" + "@libp2p/interfaces" "^3.0.0" + it-stream-types "^1.0.4" + +"@libp2p/interface-transport@^2.0.0", "@libp2p/interface-transport@^2.1.0": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@libp2p/interface-transport/-/interface-transport-2.1.3.tgz#3fbc8457013a1552d281a3d94ee7ae0725cc16e0" + integrity sha512-ez+0X+w2Wyw3nJY6mP0DHFgrRnln/miAH4TJLcRfUSJHjGXH5ZfpuK1TnRxXpEUiqOezSbwke06/znI27KpRiQ== + dependencies: + "@libp2p/interface-connection" "^4.0.0" + "@libp2p/interface-stream-muxer" "^3.0.0" + "@libp2p/interfaces" "^3.0.0" + "@multiformats/multiaddr" "^12.0.0" + it-stream-types "^1.0.4" + +"@libp2p/interface@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@libp2p/interface/-/interface-0.1.6.tgz#1328cf6086f02c499183489ccb143fe9c159e871" + integrity sha512-Lzc5cS/hXuoXhuAbVIxJIHLCYmfPcbU0vVgrpMoiP1Qb2Q3ETU4A46GB8s8mWXgSU6tr9RcqerUqzFYD6+OAag== + dependencies: + "@multiformats/multiaddr" "^12.1.5" + abortable-iterator "^5.0.1" + it-pushable "^3.2.0" + it-stream-types "^2.0.1" + multiformats "^12.0.1" + p-defer "^4.0.0" + race-signal "^1.0.0" + uint8arraylist "^2.4.3" + +"@libp2p/interface@^1.0.0", "@libp2p/interface@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@libp2p/interface/-/interface-1.1.4.tgz#21c7bbbe7628419d1e4902f0c953db1423b0f40f" + integrity sha512-gJXQycTF50tI02X/IlReAav4XoGPs3Yr917vNXsTUsZQRzQaPjbvKfXqA5hkLFpZ1lnxQ8wto/EVw4ca4XaL1A== + dependencies: + "@multiformats/multiaddr" "^12.1.14" + it-pushable "^3.2.3" + it-stream-types "^2.0.1" + multiformats "^13.1.0" + progress-events "^1.0.0" + uint8arraylist "^2.4.8" + +"@libp2p/interfaces@^3.0.0", "@libp2p/interfaces@^3.0.2", "@libp2p/interfaces@^3.0.3", "@libp2p/interfaces@^3.2.0", "@libp2p/interfaces@^3.3.1": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@libp2p/interfaces/-/interfaces-3.3.2.tgz#5d8079be845b0960939b5b18880e785a4714465a" + integrity sha512-p/M7plbrxLzuQchvNwww1Was7ZeGE2NaOFulMaZBYIihU8z3fhaV+a033OqnC/0NTX/yhfdNOG7znhYq3XoR/g== + +"@libp2p/keychain@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@libp2p/keychain/-/keychain-1.0.1.tgz#f34d611ece45bd871f597bd14ce61e60459c6d5d" + integrity sha512-IvvBNcN6juPldpENiDrQFVx12573HP+jRoECGuyUBaMDy2uewFbEPWQbHFmF/kMD1IvEmAiihxrTLk7kEWllfg== + dependencies: + "@libp2p/crypto" "^1.0.11" + "@libp2p/interface-keychain" "^2.0.3" + "@libp2p/interface-peer-id" "^2.0.1" + "@libp2p/interfaces" "^3.3.1" + "@libp2p/logger" "^2.0.5" + "@libp2p/peer-id" "^2.0.1" + interface-datastore "^7.0.3" + merge-options "^3.0.4" + sanitize-filename "^1.6.3" + uint8arrays "^4.0.3" + +"@libp2p/logger@^2.0.0", "@libp2p/logger@^2.0.1", "@libp2p/logger@^2.0.2", "@libp2p/logger@^2.0.5": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@libp2p/logger/-/logger-2.1.1.tgz#e12e6c320ea64252af954bcec996895098d1cd36" + integrity sha512-2UbzDPctg3cPupF6jrv6abQnAUTrbLybNOj0rmmrdGm1cN2HJ1o/hBu0sXuq4KF9P1h/eVRn1HIRbVIEKnEJrA== + dependencies: + "@libp2p/interface-peer-id" "^2.0.2" + "@multiformats/multiaddr" "^12.1.3" + debug "^4.3.4" + interface-datastore "^8.2.0" + multiformats "^11.0.2" + +"@libp2p/logger@^3.0.2": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@libp2p/logger/-/logger-3.1.0.tgz#ac9adb08f344934e191d7049ce876ac0111449ce" + integrity sha512-qJbJBAhxHVsRBtQSOIkSLi0lskUSFjzE+zm0QvoyxzZKSz+mX41mZLbnofPIVOVauoDQ40dXpe7WDUOq8AbiQQ== + dependencies: + "@libp2p/interface" "^0.1.6" + "@multiformats/multiaddr" "^12.1.5" + debug "^4.3.4" + interface-datastore "^8.2.0" + multiformats "^12.0.1" + +"@libp2p/logger@^4.0.1": + version "4.0.7" + resolved "https://registry.yarnpkg.com/@libp2p/logger/-/logger-4.0.7.tgz#b5e82135f5c8a6f275c1b2e183333db956f3ed90" + integrity sha512-oyICns7G18S4eDhbFHUwZ7gLQnZTBVQtUMmMgEmrs8LnQu2GvXADxmQAPPkKtLNSCvRudg4hN3hP04Y+vNvlBQ== + dependencies: + "@libp2p/interface" "^1.1.4" + "@multiformats/multiaddr" "^12.1.14" + debug "^4.3.4" + interface-datastore "^8.2.11" + multiformats "^13.1.0" + +"@libp2p/mplex@^7.1.1": + version "7.1.7" + resolved "https://registry.yarnpkg.com/@libp2p/mplex/-/mplex-7.1.7.tgz#ee14192f5e82aa3710ae4a102875278aea0bb127" + integrity sha512-8eJ6HUL3bM8ck0rb/NJ04+phBUVBMocxH/kuc2Nypn8RX9ezihV7srGGhG5N7muaMwJrRbYkFhIV4GH+8WTZUg== + dependencies: + "@libp2p/interface-connection" "^4.0.0" + "@libp2p/interface-stream-muxer" "^3.0.0" + "@libp2p/interfaces" "^3.2.0" + "@libp2p/logger" "^2.0.0" + abortable-iterator "^4.0.2" + any-signal "^4.0.1" + benchmark "^2.1.4" + it-batched-bytes "^1.0.0" + it-pushable "^3.1.0" + it-stream-types "^1.0.4" + rate-limiter-flexible "^2.3.9" + uint8arraylist "^2.1.1" + uint8arrays "^4.0.2" + varint "^6.0.0" + +"@libp2p/multistream-select@^3.0.0": + version "3.1.9" + resolved "https://registry.yarnpkg.com/@libp2p/multistream-select/-/multistream-select-3.1.9.tgz#60b12503bab879a2ebb97d69f4670a10e67c35c8" + integrity sha512-iSNqr8jXvOrkNTyA43h/ARs4wd0Rd55/D6oFRndLcV4yQSUMmfjl7dUcbC5MAw+5/sgskfDx9TMawSwNq47Qwg== + dependencies: + "@libp2p/interfaces" "^3.2.0" + "@libp2p/logger" "^2.0.0" + abortable-iterator "^5.0.0" + it-first "^3.0.1" + it-handshake "^4.1.3" + it-length-prefixed "^9.0.0" + it-merge "^3.0.0" + it-pipe "^3.0.0" + it-pushable "^3.1.0" + it-reader "^6.0.1" + it-stream-types "^2.0.1" + uint8arraylist "^2.3.1" + uint8arrays "^4.0.2" + +"@libp2p/peer-collections@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@libp2p/peer-collections/-/peer-collections-3.0.2.tgz#a5441108fcf137e822be378e2e3abdd3f22c68d9" + integrity sha512-3vRVMWVRCF6dVs/1/CHbw4YSv83bcqjZuAt9ZQHW85vn6OfHNFQesOHWT1TbRBuL8TSb//IwJkOfTAVLd6Mymw== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/peer-id" "^2.0.0" + +"@libp2p/peer-id-factory@^2.0.0": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@libp2p/peer-id-factory/-/peer-id-factory-2.0.4.tgz#ccf74ece34d16a069602e7cae28b1cb739803e0c" + integrity sha512-+0D+oklFzHpjRI3v7uw3PMMx00P36DV7YvAgL0+gpos0VzR/BI9tRiM6dpObZTrQ1hxp78F03p+qR1Zy9Qnmuw== + dependencies: + "@libp2p/crypto" "^1.0.0" + "@libp2p/interface-keys" "^1.0.2" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/peer-id" "^2.0.0" + multiformats "^11.0.0" + protons-runtime "^5.0.0" + uint8arraylist "^2.0.0" + uint8arrays "^4.0.2" + +"@libp2p/peer-id@^2.0.0", "@libp2p/peer-id@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@libp2p/peer-id/-/peer-id-2.0.4.tgz#d50d2ae4663ef79f6e31ce4eaf25e1f44e1667ab" + integrity sha512-gcOsN8Fbhj6izIK+ejiWsqiqKeJ2yWPapi/m55VjOvDa52/ptQzZszxQP8jUk93u36de92ATFXDfZR/Bi6eeUQ== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interfaces" "^3.2.0" + multiformats "^11.0.0" + uint8arrays "^4.0.2" + +"@libp2p/peer-id@^3.0.2": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@libp2p/peer-id/-/peer-id-3.0.6.tgz#93b3f240488c0af3d76f64716e2ee032cd2fd2da" + integrity sha512-iN1Ia5gH2U1V/GOVRmLHmVY6fblxzrOPUoZrMYjHl/K4s+AiI7ym/527WDeQvhQpD7j3TfDwcAYforD2dLGpLw== + dependencies: + "@libp2p/interface" "^0.1.6" + multiformats "^12.0.1" + uint8arrays "^4.0.6" + +"@libp2p/peer-record@^5.0.0": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@libp2p/peer-record/-/peer-record-5.0.4.tgz#b8f337a2864ffe2ffbb34596cb03d7c339ed18ae" + integrity sha512-e+AArf7pwMLqF24mehTe1OYjr1v0SOKshVrI1E9YH/Cb1F3ZZuK3smyGmnLaS4JlqsarRCMSe3V50tRkqMFY7g== + dependencies: + "@libp2p/crypto" "^1.0.11" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-record" "^2.0.1" + "@libp2p/interfaces" "^3.2.0" + "@libp2p/peer-id" "^2.0.0" + "@libp2p/utils" "^3.0.0" + "@multiformats/multiaddr" "^12.0.0" + protons-runtime "^5.0.0" + uint8-varint "^1.0.2" + uint8arraylist "^2.1.0" + uint8arrays "^4.0.2" + +"@libp2p/peer-store@^6.0.0": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@libp2p/peer-store/-/peer-store-6.0.4.tgz#3ec42dc8f1863a06bd487ba0701719356a0da51f" + integrity sha512-yw7XbeJ5k880PpkDV/HcSZtj0vQ0ShPbnCzVHc1hW0JS/g1vhpSooAZOf3w65obUoFhUwccnSZ4HSLBSpQqOaA== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-peer-info" "^1.0.3" + "@libp2p/interface-peer-store" "^1.2.2" + "@libp2p/interface-record" "^2.0.1" + "@libp2p/interfaces" "^3.2.0" + "@libp2p/logger" "^2.0.0" + "@libp2p/peer-id" "^2.0.0" + "@libp2p/peer-record" "^5.0.0" + "@multiformats/multiaddr" "^11.0.0" + interface-datastore "^7.0.0" + it-all "^2.0.0" + it-filter "^2.0.0" + it-foreach "^1.0.0" + it-map "^2.0.0" + mortice "^3.0.0" + multiformats "^11.0.0" + protons-runtime "^5.0.0" + uint8arraylist "^2.1.1" + uint8arrays "^4.0.2" + +"@libp2p/pubsub-peer-discovery@^8.0.0": + version "8.0.6" + resolved "https://registry.yarnpkg.com/@libp2p/pubsub-peer-discovery/-/pubsub-peer-discovery-8.0.6.tgz#fb48a4c6e7c1d79f819997ee6076f15a6fe87f62" + integrity sha512-M1HoB+AohAaup0fP0Hm8reLctFgKvyRw+R/SlHnHj/jHinHKCtQhNZ9MSiV4vNnSomJZ+viFMw+3Yl2bgvbfgw== + dependencies: + "@libp2p/interface-peer-discovery" "^2.0.0" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-peer-info" "^1.0.2" + "@libp2p/interface-pubsub" "^4.0.0" + "@libp2p/interfaces" "^3.0.3" + "@libp2p/logger" "^3.0.2" + "@libp2p/peer-id" "^3.0.2" + "@multiformats/multiaddr" "^12.0.0" + protons-runtime "^5.0.0" + uint8arraylist "^2.4.3" + +"@libp2p/pubsub@^6.0.0": + version "6.0.6" + resolved "https://registry.yarnpkg.com/@libp2p/pubsub/-/pubsub-6.0.6.tgz#7acf5a1de8fa5d982afc109ddd31e240111e7fe8" + integrity sha512-/JU4xvtZIYDxOyiHIk4MlpnAJuqfZsabDP+4f59QlXNsppOmiIujaDhN3eFBFIKG29XDSgHZBzKMLK+XsB8O5g== + dependencies: + "@libp2p/crypto" "^1.0.0" + "@libp2p/interface-connection" "^4.0.0" + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-pubsub" "^3.0.0" + "@libp2p/interface-registrar" "^2.0.0" + "@libp2p/interfaces" "^3.2.0" + "@libp2p/logger" "^2.0.0" + "@libp2p/peer-collections" "^3.0.0" + "@libp2p/peer-id" "^2.0.0" + "@libp2p/topology" "^4.0.0" + abortable-iterator "^4.0.2" + it-length-prefixed "^9.0.0" + it-pipe "^3.0.0" + it-pushable "^3.0.0" + multiformats "^11.0.0" + p-queue "^7.2.0" + uint8arraylist "^2.0.0" + uint8arrays "^4.0.2" + +"@libp2p/tcp@^6.0.0": + version "6.2.2" + resolved "https://registry.yarnpkg.com/@libp2p/tcp/-/tcp-6.2.2.tgz#9262e284037f0951aca22f0fb3d488e3515ff6fd" + integrity sha512-5pLQDSUI+6qtAvh7pYgjqXFuFqzZ/AGL3BSX4C2oa+vWGIbooTZK3Mizp+iO0yHomVJ1y3V8AXXH8ddWdFqDpQ== + dependencies: + "@libp2p/interface-connection" "^4.0.0" + "@libp2p/interface-metrics" "^4.0.0" + "@libp2p/interface-transport" "^2.0.0" + "@libp2p/interfaces" "^3.2.0" + "@libp2p/logger" "^2.0.0" + "@libp2p/utils" "^3.0.2" + "@multiformats/mafmt" "^12.0.0" + "@multiformats/multiaddr" "^12.0.0" + stream-to-it "^0.2.2" + +"@libp2p/topology@^4.0.0": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@libp2p/topology/-/topology-4.0.3.tgz#d86e013bd065b2a61ce82d416e1962c8556a46eb" + integrity sha512-uXd9ZYpmgb+onMTypsAPUlvKKeY20HMtxwsjAMEfDa29yqshK8DiEunHZNjLmtXaMIIO9CBl2w5ykjt5TtFsBQ== + dependencies: + "@libp2p/interface-peer-id" "^2.0.0" + "@libp2p/interface-registrar" "^2.0.3" + +"@libp2p/tracked-map@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@libp2p/tracked-map/-/tracked-map-3.0.4.tgz#77bf9ca8fb85cb4593d02086671648cbb1f671d9" + integrity sha512-G5ElrjFoubP10TwQo3dnRVaxhshU9wtu86qq0cIXNv12XCFpvTvx12Vbf8sV1SU5imrWgd6XQgfRKsQtjmu3Ew== + dependencies: + "@libp2p/interface-metrics" "^4.0.0" + +"@libp2p/utils@^3.0.0", "@libp2p/utils@^3.0.2": + version "3.0.13" + resolved "https://registry.yarnpkg.com/@libp2p/utils/-/utils-3.0.13.tgz#a0bf648df4cc0bbb7542a9d88651cc92039a50c9" + integrity sha512-SNwIcQq/FvLpqVsjHHzbxSq7VgbbUK9EB7/865Re4NoLfqgE/6oTUpyPEDlrcJb4aTPFWbVPQzE85cA3raHIIw== + dependencies: + "@achingbrain/ip-address" "^8.1.0" + "@libp2p/interface-connection" "^5.0.1" + "@libp2p/interface-peer-store" "^2.0.0" + "@libp2p/interfaces" "^3.2.0" + "@libp2p/logger" "^2.0.0" + "@multiformats/multiaddr" "^12.0.0" + abortable-iterator "^5.0.0" + is-loopback-addr "^2.0.1" + it-stream-types "^2.0.1" + private-ip "^3.0.0" + uint8arraylist "^2.3.2" + +"@libp2p/webrtc-peer@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@libp2p/webrtc-peer/-/webrtc-peer-2.0.2.tgz#71c240e34905c6c97e20fdf703cec025c745c155" + integrity sha512-FozliUqHO1CIzrL8hPc5uT+5AGUWf5Dw3HncL9tte/CoDNVpj6O59ITIRWefssp3oIGEAIjpcebNu1d+mYfVug== + dependencies: + "@libp2p/interfaces" "^3.0.2" + "@libp2p/logger" "^2.0.0" + delay "^5.0.0" + err-code "^3.0.1" + iso-random-stream "^2.0.2" + it-pushable "^3.0.0" + it-stream-types "^1.0.4" + p-defer "^4.0.0" + p-event "^5.0.1" + uint8arrays "^4.0.2" + +"@libp2p/websockets@^5.0.5": + version "5.0.10" + resolved "https://registry.yarnpkg.com/@libp2p/websockets/-/websockets-5.0.10.tgz#87689c083a7b7e0fa98ab30f0791094c2545f83c" + integrity sha512-q8aKm0rhDxZjc4TzDpB0quog4pViFnz+Ok+UbGEk3xXxHwT3QCxaDVPKMemMqN/1N3OahVvcodpcvFSuWmus+A== + dependencies: + "@libp2p/interface-connection" "^4.0.0" + "@libp2p/interface-transport" "^2.0.0" + "@libp2p/interfaces" "^3.0.3" + "@libp2p/logger" "^2.0.0" + "@libp2p/utils" "^3.0.2" + "@multiformats/mafmt" "^12.0.0" + "@multiformats/multiaddr" "^12.0.0" + "@multiformats/multiaddr-to-uri" "^9.0.2" + abortable-iterator "^4.0.2" + it-ws "^5.0.6" + p-defer "^4.0.0" + p-timeout "^6.0.0" + wherearewe "^2.0.1" + ws "^8.12.1" + +"@multiformats/dns@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@multiformats/dns/-/dns-1.0.3.tgz#6dff5101b36d2834a55da0dc57c11a4521d6a796" + integrity sha512-fGpJ0CBWfSaEze9D8rL86b+Ykek9OLpC0AJe8eGvARAT9FgTuZBdGRgvFvmkRsM3vZt7kPdd+8wacHvwEBJaLw== + dependencies: + "@types/dns-packet" "^5.6.5" + buffer "^6.0.3" + dns-packet "^5.6.1" + hashlru "^2.3.0" + p-queue "^8.0.1" + progress-events "^1.0.0" + uint8arrays "^5.0.2" + +"@multiformats/mafmt@^11.0.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@multiformats/mafmt/-/mafmt-11.1.2.tgz#c03ef4022c795b7f230b136f2f974fc263eac4f1" + integrity sha512-3n1o5eLU7WzTAPLuz3AodV7Iql6NWf7Ws8fqVaGT7o5nDDabUPYGBm2cZuh3OrqmwyCY61LrNUIsjzivU6UdpQ== + dependencies: + "@multiformats/multiaddr" "^12.0.0" + +"@multiformats/mafmt@^12.0.0": + version "12.1.6" + resolved "https://registry.yarnpkg.com/@multiformats/mafmt/-/mafmt-12.1.6.tgz#e7c1831c1e94c94932621826049afc89f3ad43b7" + integrity sha512-tlJRfL21X+AKn9b5i5VnaTD6bNttpSpcqwKVmDmSHLwxoz97fAHaepqFOk/l1fIu94nImIXneNbhsJx/RQNIww== + dependencies: + "@multiformats/multiaddr" "^12.0.0" + +"@multiformats/multiaddr-to-uri@^9.0.2": + version "9.0.8" + resolved "https://registry.yarnpkg.com/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-9.0.8.tgz#c0b1491b26a4d52273ddc16024c59ba47ef8583f" + integrity sha512-4eiN5iEiQfy2A98BxekUfW410L/ivg0sgjYSgSqmklnrBhK+QyMz4yqgfkub8xDTXOc7O5jp4+LVyM3ZqMeWNw== + dependencies: + "@multiformats/multiaddr" "^12.0.0" + +"@multiformats/multiaddr@^11.0.0", "@multiformats/multiaddr@^11.1.4": + version "11.6.1" + resolved "https://registry.yarnpkg.com/@multiformats/multiaddr/-/multiaddr-11.6.1.tgz#ec46984a298e715e27a398434c087856db5f3185" + integrity sha512-doST0+aB7/3dGK9+U5y3mtF3jq85KGbke1QiH0KE1F5mGQ9y56mFebTeu2D9FNOm+OT6UHb8Ss8vbSnpGjeLNw== + dependencies: + "@chainsafe/is-ip" "^2.0.1" + dns-over-http-resolver "^2.1.0" + err-code "^3.0.1" + multiformats "^11.0.0" + uint8arrays "^4.0.2" + varint "^6.0.0" + +"@multiformats/multiaddr@^12.0.0", "@multiformats/multiaddr@^12.1.14", "@multiformats/multiaddr@^12.1.3", "@multiformats/multiaddr@^12.1.5": + version "12.2.1" + resolved "https://registry.yarnpkg.com/@multiformats/multiaddr/-/multiaddr-12.2.1.tgz#d95d1590b17dbe39dcefbb4d832d14434d3fe075" + integrity sha512-UwjoArBbv64FlaetV4DDwh+PUMfzXUBltxQwdh+uTYnGFzVa8ZfJsn1vt1RJlJ6+Xtrm3RMekF/B+K338i2L5Q== + dependencies: + "@chainsafe/is-ip" "^2.0.1" + "@chainsafe/netmask" "^2.0.0" + "@libp2p/interface" "^1.0.0" + "@multiformats/dns" "^1.0.3" + multiformats "^13.0.0" + uint8-varint "^2.0.1" + uint8arrays "^5.0.0" + +"@noble/ed25519@^1.6.0": + version "1.7.3" + resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" + integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ== + +"@noble/secp256k1@^1.5.4": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@openzeppelin/contracts@4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.6.0.tgz#c91cf64bc27f573836dba4122758b4743418c1b3" + integrity sha512-8vi4d50NNya/bQqCmaVzvHNmwHvS0OBKb7HNtuNwEE3scXWrP31fKQoGxNMT+KbzmrNZzatE3QK5p2gFONI/hg== + +"@openzeppelin/contracts@^4.7.3": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.6.tgz#2a880a24eb19b4f8b25adc2a5095f2aa27f39677" + integrity sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA== + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + +"@sqltools/formatter@^1.2.2": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@sqltools/formatter/-/formatter-1.2.5.tgz#3abc203c79b8c3e90fd6c156a0c62d5403520e12" + integrity sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw== + +"@stablelib/aead@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" + integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== + +"@stablelib/binary@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" + integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== + dependencies: + "@stablelib/int" "^1.0.1" + +"@stablelib/bytes@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" + integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== + +"@stablelib/chacha20poly1305@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" + integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== + dependencies: + "@stablelib/aead" "^1.0.1" + "@stablelib/binary" "^1.0.1" + "@stablelib/chacha" "^1.0.1" + "@stablelib/constant-time" "^1.0.1" + "@stablelib/poly1305" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/constant-time@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" + integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== + +"@stablelib/hash@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" + integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== + +"@stablelib/hkdf@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" + integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== + dependencies: + "@stablelib/hash" "^1.0.1" + "@stablelib/hmac" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hmac@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" + integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/int@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" + integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== + +"@stablelib/keyagreement@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" + integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== + dependencies: + "@stablelib/bytes" "^1.0.1" + +"@stablelib/poly1305@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" + integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/random@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" + integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha256@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" + integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/wipe@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" + integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== + +"@stablelib/x25519@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" + integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== + dependencies: + "@stablelib/keyagreement" "^1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/wipe" "^1.0.1" + +"@statechannels/exit-format@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@statechannels/exit-format/-/exit-format-0.2.0.tgz#b9362816c2a23d59e429b86b310021de1031a387" + integrity sha512-i+HIPy2P6ddwT/uP0O6AiTmBRTQ9+vLmLnfJtvXmtpTsB8OT1R9Jjj5iVKowGcWk+cg8koEtQuQDMxfrHq7LaQ== + dependencies: + "@openzeppelin/contracts" "4.6.0" + ethers "^5.1.4" + lodash "^4.17.21" + +"@statechannels/nitro-protocol@^2.0.1-alpha.5": + version "2.0.1-alpha.6" + resolved "https://registry.yarnpkg.com/@statechannels/nitro-protocol/-/nitro-protocol-2.0.1-alpha.6.tgz#1bb59365eb78489eef2dfa73733bc1cad9890685" + integrity sha512-VehCgq3AOVTGCvGGIoF23YyQX+x1IbLzByFWbqPovucsm9vW0udR7r8Okw9hC0ZHanHOjQH5KxJL6aKUnrXinw== + dependencies: + "@openzeppelin/contracts" "^4.7.3" + "@statechannels/exit-format" "^0.2.0" + "@typechain/ethers-v5" "^9.0.0" + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@typechain/ethers-v5@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-9.0.0.tgz#6aa93bea7425c0463bd8a61eea3643540ef851bd" + integrity sha512-bAanuPl1L2itaUdMvor/QvwnIH+TM/CmG00q17Ilv3ZZMeJ2j8HcarhgJUZ9pBY1teBb85P8cC03dz3mSSx+tQ== + dependencies: + lodash "^4.17.15" + ts-essentials "^7.0.1" + +"@types/accepts@^1.3.5": + version "1.3.7" + resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.7.tgz#3b98b1889d2b2386604c2bbbe62e4fb51e95b265" + integrity sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ== + dependencies: + "@types/node" "*" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/body-parser@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/cors@2.8.12": + version "2.8.12" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" + integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== + +"@types/debug@^4.1.5": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + +"@types/dns-packet@^5.6.5": + version "5.6.5" + resolved "https://registry.yarnpkg.com/@types/dns-packet/-/dns-packet-5.6.5.tgz#49fc29a40f5d30227ed028fa1ee82601d3745e15" + integrity sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q== + dependencies: + "@types/node" "*" + +"@types/express-serve-static-core@4.17.31": + version "4.17.31" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" + integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express-serve-static-core@^4.17.18": + version "4.17.43" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz#10d8444be560cb789c4735aea5eac6e5af45df54" + integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@4.17.14": + version "4.17.14" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" + integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.8": + version "1.17.14" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + dependencies: + "@types/node" "*" + +"@types/json-bigint@^1.0.0": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@types/json-bigint/-/json-bigint-1.0.4.tgz#250d29e593375499d8ba6efaab22d094c3199ef3" + integrity sha512-ydHooXLbOmxBbubnA7Eh+RpBzuaIiQjh8WGJYQB50JFGFrdxW7JzVlyEV7fAXw0T2sqJ1ysTneJbiyNLqZRAag== + +"@types/json-diff@^0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@types/json-diff/-/json-diff-0.5.2.tgz#83689a504b3c7759f046d125d5521d6760ab9d0d" + integrity sha512-2oqXStJYYLDHCciNAClY277Ti3kXT+JLvPD7lLm/490i+B7g0GR6M4qiW+bd2V5vpB+yMKY8IelbsHMAYX1D0A== + +"@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/long@^4.0.0", "@types/long@^4.0.1": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + +"@types/mime@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" + integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/minimatch@^3.0.4": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + +"@types/ms@*": + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + +"@types/node@*", "@types/node@>=13.7.0": + version "20.11.27" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.27.tgz#debe5cfc8a507dd60fe2a3b4875b1604f215c2ac" + integrity sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg== + dependencies: + undici-types "~5.26.4" + +"@types/node@^10.1.0": + version "10.17.60" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" + integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== + +"@types/qs@*": + version "6.9.12" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.12.tgz#afa96b383a3a6fdc859453a1892d41b607fc7756" + integrity sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/semver@^7.3.12": + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-static@*": + version "1.15.5" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" + integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.0": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@types/zen-observable@0.8.3": + version "0.8.3" + resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.3.tgz#781d360c282436494b32fe7d9f7f8e64b3118aa3" + integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== + +"@typescript-eslint/eslint-plugin@^5.47.1": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.47.1": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== + dependencies: + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@wry/caches@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@wry/caches/-/caches-1.0.1.tgz#8641fd3b6e09230b86ce8b93558d44cf1ece7e52" + integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== + dependencies: + tslib "^2.3.0" + +"@wry/context@^0.7.0": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.4.tgz#e32d750fa075955c4ab2cfb8c48095e1d42d5990" + integrity sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ== + dependencies: + tslib "^2.3.0" + +"@wry/equality@^0.5.6": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.7.tgz#72ec1a73760943d439d56b7b1e9985aec5d497bb" + integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.4.3.tgz#077d52c22365871bf3ffcbab8e95cb8bc5689af4" + integrity sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.5.0.tgz#11e783f3a53f6e4cd1d42d2d1323f5bc3fa99c94" + integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== + dependencies: + tslib "^2.3.0" + +abortable-iterator@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/abortable-iterator/-/abortable-iterator-4.0.3.tgz#432570d8256dbad2cef4f129312b651c5ffcdd0f" + integrity sha512-GJ5fyS9O0hK/TMf+weR+WMEwSEBWVuStHqHmUYWbfHPULyVf7QdUnAvh41+1cUWtHVf0Z/qtQynidxz4ZFDPOg== + dependencies: + get-iterator "^2.0.0" + it-stream-types "^1.0.3" + +abortable-iterator@^5.0.0, abortable-iterator@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/abortable-iterator/-/abortable-iterator-5.0.1.tgz#5d93eba6fa8287a973a9ea090c64ca08b3777780" + integrity sha512-hlZ5Z8UwqrKsJcelVPEqDduZowJPBQJ9ZhBC2FXpja3lXy8X6MoI5uMzIgmrA8+3jcVnp8TF/tx+IBBqYJNUrg== + dependencies: + get-iterator "^2.0.0" + it-stream-types "^2.0.1" + +abstract-level@^1.0.2, abstract-level@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/abstract-level/-/abstract-level-1.0.4.tgz#3ad8d684c51cc9cbc9cf9612a7100b716c414b57" + integrity sha512-eUP/6pbXBkMbXFdx4IH2fVgvB7M0JvR7/lIL33zcs0IBcwjdzSSl31TOJsaCzmKSSDF9h8QYSOJux4Nd4YJqFg== + dependencies: + buffer "^6.0.3" + catering "^2.1.0" + is-buffer "^2.0.5" + level-supports "^4.0.0" + level-transcoder "^1.0.1" + module-error "^1.0.1" + queue-microtask "^1.2.3" + +abstract-leveldown@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz#08d19d4e26fb5be426f7a57004851b39e1795a2e" + integrity sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ== + dependencies: + buffer "^6.0.3" + catering "^2.0.0" + is-buffer "^2.0.5" + level-concat-iterator "^3.0.0" + level-supports "^2.0.1" + queue-microtask "^1.2.3" + +accepts@^1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^8.4.1, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +any-signal@^3.0.0, any-signal@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-3.0.1.tgz#49cae34368187a3472e31de28fb5cb1430caa9a6" + integrity sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg== + +any-signal@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-4.1.1.tgz#928416c355c66899e6b2a91cad4488f0324bae03" + integrity sha512-iADenERppdC+A2YKbOXXB2WUeABLaM6qnpZ70kZbPZ1cZMMJ7eF+3CaYm+/PhBizgkzlvssC7QuHS30oOiQYWA== + +anymatch@~3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apollo-datasource@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-3.3.2.tgz#5711f8b38d4b7b53fb788cb4dbd4a6a526ea74c8" + integrity sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg== + dependencies: + "@apollo/utils.keyvaluecache" "^1.0.1" + apollo-server-env "^4.2.1" + +apollo-reporting-protobuf@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.4.0.tgz#6edd31f09d4a3704d9e808d1db30eca2229ded26" + integrity sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog== + dependencies: + "@apollo/protobufjs" "1.2.6" + +apollo-server-core@^3.11.1, apollo-server-core@^3.13.0: + version "3.13.0" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-3.13.0.tgz#ad6601fbb34cc97eedca27a9fb0b5738d11cd27d" + integrity sha512-v/g6DR6KuHn9DYSdtQijz8dLOkP78I5JSVJzPkARhDbhpH74QNwrQ2PP2URAPPEDJ2EeZNQDX8PvbYkAKqg+kg== + dependencies: + "@apollo/utils.keyvaluecache" "^1.0.1" + "@apollo/utils.logger" "^1.0.0" + "@apollo/utils.usagereporting" "^1.0.0" + "@apollographql/apollo-tools" "^0.5.3" + "@apollographql/graphql-playground-html" "1.6.29" + "@graphql-tools/mock" "^8.1.2" + "@graphql-tools/schema" "^8.0.0" + "@josephg/resolvable" "^1.0.0" + apollo-datasource "^3.3.2" + apollo-reporting-protobuf "^3.4.0" + apollo-server-env "^4.2.1" + apollo-server-errors "^3.3.1" + apollo-server-plugin-base "^3.7.2" + apollo-server-types "^3.8.0" + async-retry "^1.2.1" + fast-json-stable-stringify "^2.1.0" + graphql-tag "^2.11.0" + loglevel "^1.6.8" + lru-cache "^6.0.0" + node-abort-controller "^3.0.1" + sha.js "^2.4.11" + uuid "^9.0.0" + whatwg-mimetype "^3.0.0" + +apollo-server-env@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-4.2.1.tgz#ea5b1944accdbdba311f179e4dfaeca482c20185" + integrity sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g== + dependencies: + node-fetch "^2.6.7" + +apollo-server-errors@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz#ba5c00cdaa33d4cbd09779f8cb6f47475d1cd655" + integrity sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA== + +apollo-server-express@^3.11.1: + version "3.13.0" + resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-3.13.0.tgz#0d8d9bbba3b8b8264912d215f63fd44e74d5f42a" + integrity sha512-iSxICNbDUyebOuM8EKb3xOrpIwOQgKxGbR2diSr4HP3IW8T3njKFOoMce50vr+moOCe1ev8BnLcw9SNbuUtf7g== + dependencies: + "@types/accepts" "^1.3.5" + "@types/body-parser" "1.19.2" + "@types/cors" "2.8.12" + "@types/express" "4.17.14" + "@types/express-serve-static-core" "4.17.31" + accepts "^1.3.5" + apollo-server-core "^3.13.0" + apollo-server-types "^3.8.0" + body-parser "^1.19.0" + cors "^2.8.5" + parseurl "^1.3.3" + +apollo-server-plugin-base@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-3.7.2.tgz#c19cd137bc4c993ba2490ba2b571b0f3ce60a0cd" + integrity sha512-wE8dwGDvBOGehSsPTRZ8P/33Jan6/PmL0y0aN/1Z5a5GcbFhDaaJCjK5cav6npbbGL2DPKK0r6MPXi3k3N45aw== + dependencies: + apollo-server-types "^3.8.0" + +apollo-server-plugin-response-cache@^3.8.1: + version "3.8.2" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-response-cache/-/apollo-server-plugin-response-cache-3.8.2.tgz#131ce372c3e83d5eaf8c826283c8432fa74b90dd" + integrity sha512-1k9iGgE7QIUvjC9B0A1elGrV5YcZZQFl5wEVOS7URUfEuTr3GsIHBZSFCLAEFNKTQewzS5Spqhv13AmFsOaFmg== + dependencies: + "@apollo/utils.keyvaluecache" "^1.0.1" + apollo-server-plugin-base "^3.7.2" + apollo-server-types "^3.8.0" + +apollo-server-types@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-3.8.0.tgz#d976b6967878681f715fe2b9e4dad9ba86b1346f" + integrity sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A== + dependencies: + "@apollo/utils.keyvaluecache" "^1.0.1" + "@apollo/utils.logger" "^1.0.0" + apollo-reporting-protobuf "^3.4.0" + apollo-server-env "^4.2.1" + +apollo-type-bigint@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/apollo-type-bigint/-/apollo-type-bigint-0.1.3.tgz#9242115ca909b9467ba5c4bc6493a56a06984c0b" + integrity sha512-nyfwEWRZ+kon3Nnot20DufGm2EHZrkJoryYzw3soD+USdxhkcW434w1c/n+mjMLQDl86Z6EvlkvMX5Lordf2Wg== + +app-root-path@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.1.0.tgz#5971a2fc12ba170369a7a1ef018c71e6e47c2e86" + integrity sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA== + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-includes@^3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-string "^1.0.7" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.filter@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz#423771edeb417ff5914111fff4277ea0624c0d0e" + integrity sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + +array.prototype.findlastindex@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz#d1c50f0b3a9da191981ff8942a0aedd82794404f" + integrity sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +assert@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" + integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== + dependencies: + call-bind "^1.0.2" + is-nan "^1.3.2" + object-is "^1.1.5" + object.assign "^4.1.4" + util "^0.12.5" + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +async-mutex@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.1.tgz#bccf55b96f2baf8df90ed798cb5544a1f6ee4c2c" + integrity sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA== + dependencies: + tslib "^2.4.0" + +async-retry@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + +asyncify-wasm@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/asyncify-wasm/-/asyncify-wasm-1.2.1.tgz#a15c0480e858619a4f971e44e6fc05c49015d9e8" + integrity sha512-ZS7tZ8H8EVbUxAZnkKHvMt9UkYoALue2jwrVl7cnLByjq+1MRrbq7rL5TS+EHQduwkfXD/cNZNa+I0ZyLEBBRQ== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bech32@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + +benchmark@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-2.1.4.tgz#09f3de31c916425d498cc2ee565a0ebf3c2a5629" + integrity sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ== + dependencies: + lodash "^4.17.4" + platform "^1.3.3" + +bignumber.js@^9.0.0: + version "9.1.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +binaryen@101.0.0-nightly.20210723: + version "101.0.0-nightly.20210723" + resolved "https://registry.yarnpkg.com/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz#b6bb7f3501341727681a03866c0856500eec3740" + integrity sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA== + +bintrees@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.2.tgz#49f896d6e858a4a499df85c38fb399b9aff840f8" + integrity sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw== + +blob-to-it@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/blob-to-it/-/blob-to-it-1.0.4.tgz#f6caf7a4e90b7bb9215fa6a318ed6bd8ad9898cb" + integrity sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA== + dependencies: + browser-readablestream-to-it "^1.0.3" + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.2.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +body-parser@1.20.2, body-parser@^1.19.0: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-level@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browser-level/-/browser-level-1.0.1.tgz#36e8c3183d0fe1c405239792faaab5f315871011" + integrity sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ== + dependencies: + abstract-level "^1.0.2" + catering "^2.1.1" + module-error "^1.0.2" + run-parallel-limit "^1.1.0" + +browser-readablestream-to-it@^1.0.0, browser-readablestream-to-it@^1.0.1, browser-readablestream-to-it@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz#ac3e406c7ee6cdf0a502dd55db33bab97f7fba76" + integrity sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw== + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +buffer-writer@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" + integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== + +buffer@^6.0.1, buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bunyan@^1.8.15: + version "1.8.15" + resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz#8ce34ca908a17d0776576ca1b2f6cbd916e93b46" + integrity sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig== + optionalDependencies: + dtrace-provider "~0.8" + moment "^2.19.3" + mv "~2" + safe-json-stringify "~1" + +byte-access@^1.0.0, byte-access@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/byte-access/-/byte-access-1.0.1.tgz#84badd99be3671c03f0dd6a039a9c963983724af" + integrity sha512-GKYa+lvxnzhgHWj9X+LCsQ4s2/C5uvib573eAOiQKywXMkzFFErY2+yQdzmdE5iWVpmqecsRx3bOtOY4/1eINw== + dependencies: + uint8arraylist "^2.0.0" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +canonical-json@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/canonical-json/-/canonical-json-0.0.4.tgz#6579c072c3db5c477ec41dc978fbf2b8f41074a3" + integrity sha512-2sW7x0m/P7dqEnO0O87U7RTVQAaa7MELcd+Jd9FA6CYgYtwJ1TlDWIYMD8nuMkH1KoThsJogqgLyklrt9d/Azw== + +catering@^2.0.0, catering@^2.1.0, catering@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510" + integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== + +cborg@^1.5.4, cborg@^1.6.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/cborg/-/cborg-1.10.2.tgz#83cd581b55b3574c816f82696307c7512db759a1" + integrity sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug== + +chai@^4.3.4: + version "4.4.1" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" + integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.0.8" + +chalk@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== + dependencies: + get-func-name "^2.0.2" + +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + +classic-level@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/classic-level/-/classic-level-1.4.1.tgz#169ecf9f9c6200ad42a98c8576af449c1badbaee" + integrity sha512-qGx/KJl3bvtOHrGau2WklEZuXhS3zme+jf+fsu6Ej7W7IP/C49v7KNlWIsT1jZu0YnfzSIYDGcEWpCa1wKGWXQ== + dependencies: + abstract-level "^1.0.2" + catering "^2.1.0" + module-error "^1.0.1" + napi-macros "^2.2.2" + node-gyp-build "^4.3.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-color@~0.1.6: + version "0.1.7" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-0.1.7.tgz#adc3200fa471cc211b0da7f566b71e98b9d67347" + integrity sha512-xNaQxWYgI6DD4xIJLn8GY2zDZVbrN0vsU1fEbDNAHZRyceWhpj7A08mYcG1AY92q1Aw0geYkVfiAcEYIZtuTSg== + dependencies: + es5-ext "0.8.x" + +cli-highlight@^2.1.11: + version "2.1.11" + resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.11.tgz#49736fa452f0aaf4fae580e30acb26828d2dc1bf" + integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== + dependencies: + chalk "^4.0.0" + highlight.js "^10.7.1" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^6.0.0" + yargs "^16.0.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copyfiles@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.4.1.tgz#d2dcff60aaad1015f09d0b66e7f0f1c5cd3c5da5" + integrity sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== + dependencies: + glob "^7.0.5" + minimatch "^3.0.3" + mkdirp "^1.0.4" + noms "0.0.0" + through2 "^2.0.1" + untildify "^4.0.0" + yargs "^16.1.0" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cron-parser@^4.0.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-4.9.0.tgz#0340694af3e46a0894978c6f52a6dbb5c0f11ad5" + integrity sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== + dependencies: + luxon "^3.2.1" + +cross-fetch@^3.1.4, cross-fetch@^3.1.5: + version "3.1.8" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + dependencies: + node-fetch "^2.6.12" + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssfilter@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" + integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== + +dag-jose@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dag-jose/-/dag-jose-1.0.0.tgz#52e42d70cb5bee31ae4e8e3ab860615568d7ad73" + integrity sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g== + dependencies: + "@ipld/dag-cbor" "^6.0.3" + multiformats "^9.0.2" + +datastore-core@^8.0.1: + version "8.0.4" + resolved "https://registry.yarnpkg.com/datastore-core/-/datastore-core-8.0.4.tgz#a5951c8e530f0ba11ca44f6bb3ce5d7070a3d44e" + integrity sha512-oBA6a024NFXJOTu+w9nLAimfy4wCYUhdE/5XQGtdKt1BmCVtPYW10GORvVT3pdZBcse6k/mVcBl+hjkXIlm65A== + dependencies: + "@libp2p/logger" "^2.0.0" + err-code "^3.0.1" + interface-datastore "^7.0.0" + it-all "^2.0.0" + it-drain "^2.0.0" + it-filter "^2.0.0" + it-map "^2.0.0" + it-merge "^2.0.0" + it-pipe "^2.0.3" + it-pushable "^3.0.0" + it-take "^2.0.0" + uint8arrays "^4.0.2" + +debug@2.6.9, debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@^3.1.0, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decimal.js@^10.3.1: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +deep-eql@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + dependencies: + type-detect "^4.0.0" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +default-gateway@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-7.2.2.tgz#85e6d88fde0f58703bab7744ed9d5330fa6b3f6c" + integrity sha512-AD7TrdNNPXRZIGw63dw+lnGmT4v7ggZC5NHNJgAYWm5njrwoze1q5JSAW9YuLy2tjnoLUG/r8FEB93MCh9QJPg== + dependencies: + execa "^7.1.1" + +deferred-leveldown@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-7.0.0.tgz#39802715fda6ec06d0159a8b28bd1c7e2b1cf0bf" + integrity sha512-QKN8NtuS3BC6m0B8vAnBls44tX1WXAFATUsJlruyAYbZpysWV3siH6o/i3g9DCHauzodksO60bdj5NazNbjCmg== + dependencies: + abstract-leveldown "^7.2.0" + inherits "^2.0.3" + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + +denque@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf" + integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +difflib@~0.2.1: + version "0.2.4" + resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" + integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== + dependencies: + heap ">= 0.2.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-over-http-resolver@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" + integrity sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA== + dependencies: + debug "^4.3.1" + native-fetch "^3.0.0" + receptacle "^1.3.2" + +dns-over-http-resolver@^2.1.0: + version "2.1.3" + resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-2.1.3.tgz#bb7f2e10cc18d960339a6e30e21b8c1d99be7b38" + integrity sha512-zjRYFhq+CsxPAouQWzOsxNMvEN+SHisjzhX8EMxd2Y0EG3thvn6wXQgMJLnTDImkhe4jhLbOQpXtL10nALBOSA== + dependencies: + debug "^4.3.1" + native-fetch "^4.0.2" + receptacle "^1.3.2" + undici "^5.12.0" + +dns-packet@^5.6.1: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +dreamopt@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/dreamopt/-/dreamopt-0.6.0.tgz#d813ccdac8d39d8ad526775514a13dda664d6b4b" + integrity sha512-KRJa47iBEK0y6ZtgCgy2ykuvMT8c9gj3ua9Dv7vCkclFJJeH2FjhGY2xO5qBoWGahsjCGMlk4Cq9wJYeWxuYhQ== + dependencies: + wordwrap ">=0.0.2" + +dtrace-provider@~0.8: + version "0.8.8" + resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz#2996d5490c37e1347be263b423ed7b297fb0d97e" + integrity sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg== + dependencies: + nan "^2.14.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-fetch@^1.7.2: + version "1.9.1" + resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.9.1.tgz#e28bfe78d467de3f2dec884b1d72b8b05322f30f" + integrity sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA== + dependencies: + encoding "^0.1.13" + +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +elliptic@^6.5.4: + version "6.5.5" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded" + integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +encoding-down@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-7.1.0.tgz#8d55b5a20d50eb6f0edaf7233f6aee0ff562386a" + integrity sha512-ky47X5jP84ryk5EQmvedQzELwVJPjCgXDQZGeb9F6r4PdChByCGHTBrVcF3h8ynKVJ1wVbkxTsDC8zBROPypgQ== + dependencies: + abstract-leveldown "^7.2.0" + inherits "^2.0.3" + level-codec "^10.0.0" + level-errors "^3.0.0" + +encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +err-code@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" + integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== + +es-abstract@^1.22.1, es-abstract@^1.22.3: + version "1.22.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.5.tgz#1417df4e97cc55f09bf7e58d1e614bc61cb8df46" + integrity sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.1" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.0" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.5" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.14" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.0.0, es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@0.8.x: + version "0.8.2" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.8.2.tgz#aba8d9e1943a895ac96837a62a39b3f55ecd94ab" + integrity sha512-H19ompyhnKiBdjHR1DPHvf5RHgHPmJaY9JNzFGbMbPgdsUkvnUCN1Ke8J4Y0IMyTwFM2M9l4h2GoHwzwpSmXbA== + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +eslint-config-semistandard@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/eslint-config-semistandard/-/eslint-config-semistandard-15.0.1.tgz#a868397af8fb26d1bb6b907aa9d575d385581099" + integrity sha512-sfV+qNBWKOmF0kZJll1VH5XqOAdTmLlhbOl9WKI11d2eMEe+Kicxnpm24PQWHOqAfk5pAWU2An0LjNCXKa4Usg== + +eslint-config-standard@^16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" + integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" + integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== + dependencies: + debug "^3.2.7" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.27.5: + version "2.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.8.0" + hasown "^2.0.0" + is-core-module "^2.13.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" + semver "^6.3.1" + tsconfig-paths "^3.15.0" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz#a596acc32981627eb36d9d75f9666ac1a4564971" + integrity sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw== + +eslint-plugin-standard@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-5.0.0.tgz#c43f6925d669f177db46f095ea30be95476b1ee4" + integrity sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg== + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.35.0: + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +ethers@^5.1.4, ethers@^5.4.4, ethers@^5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + dependencies: + "@ethersproject/abi" "5.7.0" + "@ethersproject/abstract-provider" "5.7.0" + "@ethersproject/abstract-signer" "5.7.0" + "@ethersproject/address" "5.7.0" + "@ethersproject/base64" "5.7.0" + "@ethersproject/basex" "5.7.0" + "@ethersproject/bignumber" "5.7.0" + "@ethersproject/bytes" "5.7.0" + "@ethersproject/constants" "5.7.0" + "@ethersproject/contracts" "5.7.0" + "@ethersproject/hash" "5.7.0" + "@ethersproject/hdnode" "5.7.0" + "@ethersproject/json-wallets" "5.7.0" + "@ethersproject/keccak256" "5.7.0" + "@ethersproject/logger" "5.7.0" + "@ethersproject/networks" "5.7.1" + "@ethersproject/pbkdf2" "5.7.0" + "@ethersproject/properties" "5.7.0" + "@ethersproject/providers" "5.7.2" + "@ethersproject/random" "5.7.0" + "@ethersproject/rlp" "5.7.0" + "@ethersproject/sha2" "5.7.0" + "@ethersproject/signing-key" "5.7.0" + "@ethersproject/solidity" "5.7.0" + "@ethersproject/strings" "5.7.0" + "@ethersproject/transactions" "5.7.0" + "@ethersproject/units" "5.7.0" + "@ethersproject/wallet" "5.7.0" + "@ethersproject/web" "5.7.1" + "@ethersproject/wordlists" "5.7.0" + +event-iterator@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/event-iterator/-/event-iterator-2.0.0.tgz#10f06740cc1e9fd6bc575f334c2bc1ae9d2dbf62" + integrity sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" + integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + +express-end@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/express-end/-/express-end-0.0.8.tgz#0c8fd95428932158f2b4cf91f4045346bf2c5323" + integrity sha512-PPntzICAq006LBpXKBVJtmRUiCRqTMZ+OB8L2RFXgx+OmkMWU66IL4DTEPF/DOcxmsuC7Y0NdbT2R71lb+pBpg== + dependencies: + debug "^2.2.0" + +express-queue@^0.0.13: + version "0.0.13" + resolved "https://registry.yarnpkg.com/express-queue/-/express-queue-0.0.13.tgz#e9800d67749d4dfab7c34223f00595af933ce5df" + integrity sha512-C4OEDasGDqpXLrZICSUxbY47p5c0bKqf/3/3hwauSCmI+jVVxKBWU2w39BuKLP6nF65z87uDFBbJMPAn2ZrG3g== + dependencies: + debug "^4.3.4" + express-end "0.0.8" + mini-queue "0.0.14" + +express@^4.18.2: + version "4.18.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.3.tgz#6870746f3ff904dee1819b82e4b51509afffb0d4" + integrity sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.2" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-fifo@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== + +fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +figlet@^1.1.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.7.0.tgz#46903a04603fd19c3e380358418bb2703587a72e" + integrity sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg== + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +follow-redirects@^1.0.0: + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +freeport-promise@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/freeport-promise/-/freeport-promise-2.0.0.tgz#11e4f81e24d680b88a20c15b2103551f4b6663d8" + integrity sha512-dwWpT1DdQcwrhmRwnDnPM/ZFny+FtzU+k50qF2eid3KxaQDsMiBrwo1i0G3qSugkN5db6Cb0zgfc68QeTOpEFg== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.1: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-iterator@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82" + integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== + +get-iterator@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-2.0.1.tgz#a904829f61bace789e0d64bd1a504c511a015c3f" + integrity sha512-7HuY/hebu4gryTDT7O/XY/fvY9wRByEGdK6QOa4of8npTcv0+NS6frFKABcf6S9EBAsveTuKTsZQQBFMMNILIg== + +get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +get-value@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +glob-parent@^5.1.2, glob-parent@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^6.0.1: + version "6.0.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.5, glob@^7.1.3, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +graphql-request@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-6.1.0.tgz#f4eb2107967af3c7a5907eb3131c671eac89be4f" + integrity sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw== + dependencies: + "@graphql-typed-document-node/core" "^3.2.0" + cross-fetch "^3.1.5" + +graphql-subscriptions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz#11ec181d475852d8aec879183e8e1eb94f2eb79a" + integrity sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA== + dependencies: + iterall "^1.3.0" + +graphql-tag@^2.11.0, graphql-tag@^2.12.6: + version "2.12.6" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== + dependencies: + tslib "^2.1.0" + +graphql-ws@^5.11.2: + version "5.15.0" + resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.15.0.tgz#2db79e1b42468a8363bf5ca6168d076e2f8fdebc" + integrity sha512-xWGAtm3fig9TIhSaNsg0FaDZ8Pyn/3re3RFlP4rhQcmjRDIPpk1EhRuNB+YSJtLzttyuToaDiNhwT1OMoGnJnw== + +graphql@^15.5.0: + version "15.8.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" + integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hashlru@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/hashlru/-/hashlru-2.3.0.tgz#5dc15928b3f6961a2056416bb3a4910216fdfb51" + integrity sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A== + +hasown@^2.0.0, hasown@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +"heap@>= 0.2.0", heap@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" + integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== + +highlight.js@^10.7.1: + version "10.7.3" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" + integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-proxy-middleware@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +human-signals@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" + integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== + +husky@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.1.1, ignore@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +interface-datastore@^6.0.2: + version "6.1.1" + resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-6.1.1.tgz#5150a00de2e7513eaadba58bcafd059cb50004c1" + integrity sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg== + dependencies: + interface-store "^2.0.2" + nanoid "^3.0.2" + uint8arrays "^3.0.0" + +interface-datastore@^7.0.0, interface-datastore@^7.0.3: + version "7.0.4" + resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-7.0.4.tgz#f09ae4e2896f57f876d5d742a59e982fb3f42891" + integrity sha512-Q8LZS/jfFFHz6XyZazLTAc078SSCoa27ZPBOfobWdpDiFO7FqPA2yskitUJIhaCgxNK8C+/lMBUTBNfVIDvLiw== + dependencies: + interface-store "^3.0.0" + nanoid "^4.0.0" + uint8arrays "^4.0.2" + +interface-datastore@^8.2.0, interface-datastore@^8.2.11: + version "8.2.11" + resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-8.2.11.tgz#1d555ce6218ab6cba6291fc361debe9713590207" + integrity sha512-9E0iXehfp/j0UbZ2mvlYB4K9pP7uQBCppfuy8WHs1EHF6wLQrM9+zwyX+8Qt6HnH4GKZRyXX/CNXm6oD4+QYgA== + dependencies: + interface-store "^5.0.0" + uint8arrays "^5.0.2" + +interface-store@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-2.0.2.tgz#83175fd2b0c501585ed96db54bb8ba9d55fce34c" + integrity sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg== + +interface-store@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-3.0.4.tgz#670d95ef45f3b7061d154c3cbfaf39a538167ad7" + integrity sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ== + +interface-store@^5.0.0: + version "5.1.8" + resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-5.1.8.tgz#94bf867d165b5c904cccf09adeba215a5b0f459e" + integrity sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w== + +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +ip-regex@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + +ip-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-5.0.0.tgz#cd313b2ae9c80c07bd3851e12bf4fa4dc5480632" + integrity sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +ipfs-core-types@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ipfs-core-types/-/ipfs-core-types-0.10.3.tgz#89ebe98199d4d829f2b20104bfa3299f808c80fe" + integrity sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw== + dependencies: + "@ipld/dag-pb" "^2.1.3" + interface-datastore "^6.0.2" + ipfs-unixfs "^6.0.3" + multiaddr "^10.0.0" + multiformats "^9.5.1" + +ipfs-core-utils@^0.14.3: + version "0.14.3" + resolved "https://registry.yarnpkg.com/ipfs-core-utils/-/ipfs-core-utils-0.14.3.tgz#d04c631c472507bdefc58d4e8d1d9109efbb411c" + integrity sha512-aBkewVhgAj3NWXPwu6imj0wADGiGVZmJzqKzODOJsibDjkx6FGdMv8kvvqtLnK8LS/dvSk9yk32IDtuDyYoV7Q== + dependencies: + any-signal "^3.0.0" + blob-to-it "^1.0.1" + browser-readablestream-to-it "^1.0.1" + debug "^4.1.1" + err-code "^3.0.1" + ipfs-core-types "^0.10.3" + ipfs-unixfs "^6.0.3" + ipfs-utils "^9.0.6" + it-all "^1.0.4" + it-map "^1.0.4" + it-peekable "^1.0.2" + it-to-stream "^1.0.0" + merge-options "^3.0.4" + multiaddr "^10.0.0" + multiaddr-to-uri "^8.0.0" + multiformats "^9.5.1" + nanoid "^3.1.23" + parse-duration "^1.0.0" + timeout-abort-controller "^3.0.0" + uint8arrays "^3.0.0" + +ipfs-http-client@^56.0.3: + version "56.0.3" + resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-56.0.3.tgz#45bbea55347ef13524769d5919cbed84d9d022d6" + integrity sha512-E3L5ylVl6BjyRUsNehvfuRBYp1hj8vQ8in4zskVPMNzXs6JiCFUbif5a6BtcAlSK4xPQyJCeLNNAWLUeFQTLNA== + dependencies: + "@ipld/dag-cbor" "^7.0.0" + "@ipld/dag-json" "^8.0.1" + "@ipld/dag-pb" "^2.1.3" + any-signal "^3.0.0" + dag-jose "^1.0.0" + debug "^4.1.1" + err-code "^3.0.1" + ipfs-core-types "^0.10.3" + ipfs-core-utils "^0.14.3" + ipfs-utils "^9.0.6" + it-first "^1.0.6" + it-last "^1.0.4" + merge-options "^3.0.4" + multiaddr "^10.0.0" + multiformats "^9.5.1" + parse-duration "^1.0.0" + stream-to-it "^0.2.2" + uint8arrays "^3.0.0" + +ipfs-unixfs@^6.0.3: + version "6.0.9" + resolved "https://registry.yarnpkg.com/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz#f6613b8e081d83faa43ed96e016a694c615a9374" + integrity sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ== + dependencies: + err-code "^3.0.1" + protobufjs "^6.10.2" + +ipfs-utils@^9.0.6: + version "9.0.14" + resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-9.0.14.tgz#24f5fda1f4567685eb32bca2543d518f95fd8704" + integrity sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg== + dependencies: + any-signal "^3.0.0" + browser-readablestream-to-it "^1.0.0" + buffer "^6.0.1" + electron-fetch "^1.7.2" + err-code "^3.0.1" + is-electron "^2.2.0" + iso-url "^1.1.5" + it-all "^1.0.4" + it-glob "^1.0.1" + it-to-stream "^1.0.0" + merge-options "^3.0.4" + nanoid "^3.1.20" + native-fetch "^3.0.0" + node-fetch "^2.6.8" + react-native-fetch-api "^3.0.0" + stream-to-it "^0.2.2" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0, is-core-module@^2.13.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-electron@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.2.tgz#3778902a2044d76de98036f5dc58089ac4d80bb9" + integrity sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-ip@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" + integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== + dependencies: + ip-regex "^4.0.0" + +is-loopback-addr@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-loopback-addr/-/is-loopback-addr-2.0.2.tgz#70a6668fa3555d47caebdcee045745ab80adf5e4" + integrity sha512-26POf2KRCno/KTNL5Q0b/9TYnL00xEsSaLfiFRmjM7m7Lw7ZMmFybzzuX4CcsLAluZGd+niLUiMRxEooVE3aqg== + +is-nan@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.13, is-typed-array@^1.1.3: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +iso-random-stream@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-2.0.2.tgz#a24f77c34cfdad9d398707d522a6a0cc640ff27d" + integrity sha512-yJvs+Nnelic1L2vH2JzWvvPQFA4r7kSTnpST/+LkAQjSz0hos2oqLD+qIVi9Qk38Hoe7mNDt3j0S27R58MVjLQ== + dependencies: + events "^3.3.0" + readable-stream "^3.4.0" + +iso-url@^1.1.2, iso-url@^1.1.5: + version "1.2.1" + resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-1.2.1.tgz#db96a49d8d9a64a1c889fc07cc525d093afb1811" + integrity sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +it-all@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.6.tgz#852557355367606295c4c3b7eff0136f07749335" + integrity sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A== + +it-all@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/it-all/-/it-all-2.0.1.tgz#45d530ecf6e13fb81d7ba583cdfd55ffdb376b05" + integrity sha512-9UuJcCRZsboz+HBQTNOau80Dw+ryGaHYFP/cPYzFBJBFcfDathMYnhHk4t52en9+fcyDGPTdLB+lFc1wzQIroA== + +it-batched-bytes@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/it-batched-bytes/-/it-batched-bytes-1.0.1.tgz#a3b12a10db24308c76a1126032af9184afc2dc63" + integrity sha512-ptBiZ0Mh3kJYySpG0pCS7JgvWhaAW1fGfKDVFtNIuNTA+bpSlXINvD5H3b14ZlJbnJFzFzRSCSZ10E1nH4z/WQ== + dependencies: + it-stream-types "^1.0.4" + p-defer "^4.0.0" + uint8arraylist "^2.4.1" + +it-drain@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/it-drain/-/it-drain-2.0.1.tgz#f50f6ce5cb8592a9d6337c9b5e780348877b152d" + integrity sha512-ESuHV6MLUNxuSy0vGZpKhSRjW0ixczN1FhbVy7eGJHjX6U2qiiXTyMvDc0z/w+nifOOwPyI5DT9Rc3o9IaGqEQ== + +it-filter@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/it-filter/-/it-filter-2.0.2.tgz#c849b3de4a12a2de3cc45be734ee55f69a0ed284" + integrity sha512-gocw1F3siqupegsOzZ78rAc9C+sYlQbI2af/TmzgdrR613MyEJHbvfwBf12XRekGG907kqXSOGKPlxzJa6XV1Q== + +it-first@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/it-first/-/it-first-1.0.7.tgz#a4bef40da8be21667f7d23e44dae652f5ccd7ab1" + integrity sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g== + +it-first@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/it-first/-/it-first-2.0.1.tgz#75d66b254c385ae3a1906def060a69006a437cef" + integrity sha512-noC1oEQcWZZMUwq7VWxHNLML43dM+5bviZpfmkxkXlvBe60z7AFRqpZSga9uQBo792jKv9otnn1IjA4zwgNARw== + +it-first@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/it-first/-/it-first-3.0.4.tgz#d68c8ae646ea402cd5e650c352da69988a310342" + integrity sha512-FtQl84iTNxN5EItP/JgL28V2rzNMkCzTUlNoj41eVdfix2z1DBuLnBqZ0hzYhGGa1rMpbQf0M7CQSA2adlrLJg== + +it-foreach@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/it-foreach/-/it-foreach-1.0.1.tgz#a4dab99c111457d1480bef6c4f9382076d9a6b81" + integrity sha512-eaVFhKxU+uwPs7+DKYxjuL6pj6c50/MBlAH+XPMgPWRRVIChVoyEIsdUQkkC0Ad6oTUmJbKRTnJxEY6o2aIs7A== + +it-glob@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-1.0.2.tgz#bab9b04d6aaac42884502f3a0bfee84c7a29e15e" + integrity sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q== + dependencies: + "@types/minimatch" "^3.0.4" + minimatch "^3.0.4" + +it-handshake@^4.1.2, it-handshake@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/it-handshake/-/it-handshake-4.1.3.tgz#4e6650f8eff5cb3686c6861958645289fb3dc32a" + integrity sha512-V6Lt9A9usox9iduOX+edU1Vo94E6v9Lt9dOvg3ubFaw1qf5NCxXLi93Ao4fyCHWDYd8Y+DUhadwNtWVyn7qqLg== + dependencies: + it-pushable "^3.1.0" + it-reader "^6.0.1" + it-stream-types "^2.0.1" + p-defer "^4.0.0" + uint8arraylist "^2.0.0" + +it-last@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/it-last/-/it-last-1.0.6.tgz#4106232e5905ec11e16de15a0e9f7037eaecfc45" + integrity sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q== + +it-length-prefixed@^8.0.2, it-length-prefixed@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/it-length-prefixed/-/it-length-prefixed-8.0.4.tgz#80bd356d93d77a8989a71200f8ca0860db040404" + integrity sha512-5OJ1lxH+IaqJB7lxe8IAIwt9UfSfsmjKJoAI/RO9djYoBDt1Jfy9PeVHUmOfqhqyu/4kJvWBFAJUaG1HhLQ12A== + dependencies: + err-code "^3.0.1" + it-stream-types "^1.0.4" + uint8-varint "^1.0.1" + uint8arraylist "^2.0.0" + uint8arrays "^4.0.2" + +it-length-prefixed@^9.0.0: + version "9.0.4" + resolved "https://registry.yarnpkg.com/it-length-prefixed/-/it-length-prefixed-9.0.4.tgz#8096c3270420fe8abaa920c7b4d5e5895144008e" + integrity sha512-lz28fykbG0jq7s5XtvlzGxO5BeSOw6ikymkRllxjL21V5VKLcvB4pHr9wPvEnsAJ2et1xpOk3BRTMq9XrhgKsg== + dependencies: + err-code "^3.0.1" + it-reader "^6.0.1" + it-stream-types "^2.0.1" + uint8-varint "^2.0.1" + uint8arraylist "^2.0.0" + uint8arrays "^5.0.1" + +it-map@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/it-map/-/it-map-1.0.6.tgz#6aa547e363eedcf8d4f69d8484b450bc13c9882c" + integrity sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ== + +it-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/it-map/-/it-map-2.0.1.tgz#d5251fd6b222d6ee39293d406a3f8fce54fb9220" + integrity sha512-a2GcYDHiAh/eSU628xlvB56LA98luXZnniH2GlD0IdBzf15shEq9rBeb0Rg3o1SWtNILUAwqmQxEXcewGCdvmQ== + +it-merge@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/it-merge/-/it-merge-2.0.1.tgz#6137c63f0dbdcb3b8b74ec67549f2b3351c84da8" + integrity sha512-ItoBy3dPlNKnhjHR8e7nfabfZzH4Jy2OMPvayYH3XHy4YNqSVKmWTIxhz7KX4UMBsLChlIJZ+5j6csJgrYGQtw== + dependencies: + it-pushable "^3.1.0" + +it-merge@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/it-merge/-/it-merge-3.0.3.tgz#c7d407c8e0473accf7f9958ce2e0f60276002e84" + integrity sha512-FYVU15KC5pb/GQX1Ims+lee8d4pdqGVCpWr0lkNj8o4xuNo7jY71k6GuEiWdP+T7W1bJqewSxX5yoTy5yZpRVA== + dependencies: + it-pushable "^3.2.0" + +it-pair@^2.0.2: + version "2.0.6" + resolved "https://registry.yarnpkg.com/it-pair/-/it-pair-2.0.6.tgz#072defa6b96f611af34e0b0c84573107ddb9f28f" + integrity sha512-5M0t5RAcYEQYNG5BV7d7cqbdwbCAp5yLdzvkxsZmkuZsLbTdZzah6MQySYfaAQjNDCq6PUnDt0hqBZ4NwMfW6g== + dependencies: + it-stream-types "^2.0.1" + p-defer "^4.0.0" + +it-pb-stream@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/it-pb-stream/-/it-pb-stream-3.2.1.tgz#58ad0b1268894d6eb05c17110e22326a33884a46" + integrity sha512-vKE04Zv5MUcwxPNE9bIEfYK3rd/Klj5ORGD1D8Bn5f0mbCLGfouSrqZP1Jntg2osqQg4BN5dKKS2BbfwyGUI3Q== + dependencies: + err-code "^3.0.1" + it-length-prefixed "^9.0.0" + it-pushable "^3.1.2" + it-stream-types "^1.0.4" + protons-runtime "^5.0.0" + uint8-varint "^1.0.6" + uint8arraylist "^2.0.0" + +it-peekable@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-1.0.3.tgz#8ebe933767d9c5aa0ae4ef8e9cb3a47389bced8c" + integrity sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ== + +it-pipe@^2.0.3, it-pipe@^2.0.4, it-pipe@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/it-pipe/-/it-pipe-2.0.5.tgz#9caf7993dcbbc3824bc6ef64ee8b94574f65afa7" + integrity sha512-y85nW1N6zoiTnkidr2EAyC+ZVzc7Mwt2p+xt2a2ooG1ThFakSpNw1Kxm+7F13Aivru96brJhjQVRQNU+w0yozw== + dependencies: + it-merge "^2.0.0" + it-pushable "^3.1.0" + it-stream-types "^1.0.3" + +it-pipe@^3.0.0, it-pipe@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/it-pipe/-/it-pipe-3.0.1.tgz#b25720df82f4c558a8532602b5fbc37bbe4e7ba5" + integrity sha512-sIoNrQl1qSRg2seYSBH/3QxWhJFn9PKYvOf/bHdtCBF0bnghey44VyASsWzn5dAx0DCDDABq1hZIuzKmtBZmKA== + dependencies: + it-merge "^3.0.0" + it-pushable "^3.1.2" + it-stream-types "^2.0.1" + +it-pushable@^3.0.0, it-pushable@^3.1.0, it-pushable@^3.1.2, it-pushable@^3.1.3, it-pushable@^3.2.0, it-pushable@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/it-pushable/-/it-pushable-3.2.3.tgz#e2b80aed90cfbcd54b620c0a0785e546d4e5f334" + integrity sha512-gzYnXYK8Y5t5b/BnJUr7glfQLO4U5vyb05gPx/TyTw+4Bv1zM9gFk4YsOrnulWefMewlphCjKkakFvj1y99Tcg== + dependencies: + p-defer "^4.0.0" + +it-reader@^6.0.1: + version "6.0.4" + resolved "https://registry.yarnpkg.com/it-reader/-/it-reader-6.0.4.tgz#439cb88225dcd15116be0ffde9e846a928c3871a" + integrity sha512-XCWifEcNFFjjBHtor4Sfaj8rcpt+FkY0L6WdhD578SCDhV4VUm7fCkF3dv5a+fTcfQqvN9BsxBTvWbYO6iCjTg== + dependencies: + it-stream-types "^2.0.1" + uint8arraylist "^2.0.0" + +it-sort@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/it-sort/-/it-sort-2.0.1.tgz#37af025862f7adb30d7fc1f8520b3cd7ef219ef6" + integrity sha512-9f4jKOTHfxc/FJpg/wwuQ+j+88i+sfNGKsu2HukAKymm71/XDnBFtOAOzaimko3YIhmn/ERwnfEKrsYLykxw9A== + dependencies: + it-all "^2.0.0" + +it-stream-types@^1.0.2, it-stream-types@^1.0.3, it-stream-types@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/it-stream-types/-/it-stream-types-1.0.5.tgz#9c72e6adefdea9dac69d0a28fbea783deebd508d" + integrity sha512-I88Ka1nHgfX62e5mi5LLL+oueqz7Ltg0bUdtsUKDe9SoUqbQPf2Mp5kxDTe9pNhHQGs4pvYPAINwuZ1HAt42TA== + +it-stream-types@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/it-stream-types/-/it-stream-types-2.0.1.tgz#69cb4d7e79e707b8257a8997e02751ccb6c3af32" + integrity sha512-6DmOs5r7ERDbvS4q8yLKENcj6Yecr7QQTqWApbZdfAUTEC947d+PEha7PCqhm//9oxaLYL7TWRekwhoXl2s6fg== + +it-take@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/it-take/-/it-take-2.0.1.tgz#f9e5ddf0b73a18ba00e62fb532d9d3cde3fe4ce6" + integrity sha512-DL7kpZNjuoeSTnB9dMAJ0Z3m2T29LRRAU+HIgkiQM+1jH3m8l9e/1xpWs8JHTlbKivbqSFrQMTc8KVcaQNmsaA== + +it-to-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/it-to-stream/-/it-to-stream-1.0.0.tgz#6c47f91d5b5df28bda9334c52782ef8e97fe3a4a" + integrity sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA== + dependencies: + buffer "^6.0.3" + fast-fifo "^1.0.0" + get-iterator "^1.0.2" + p-defer "^3.0.0" + p-fifo "^1.0.0" + readable-stream "^3.6.0" + +it-ws@^5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/it-ws/-/it-ws-5.0.6.tgz#9b69ff2ef9d08fda18ef2db604acf972d0fedded" + integrity sha512-TEEJQaGtkxgP/nGVq8dq48nPT85Afu8kwwvtDFLj4rQLWRhZcb26RWdXLdn9qhXkWPiWbK5H7JWBW1Bebj/SuQ== + dependencies: + event-iterator "^2.0.0" + iso-url "^1.1.2" + it-stream-types "^1.0.2" + uint8arrays "^4.0.2" + ws "^8.4.0" + +iterall@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + +js-sha3@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + dependencies: + argparse "^2.0.1" + +js-yaml@^4.0.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== + dependencies: + bignumber.js "^9.0.0" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-diff@^0.5.4: + version "0.5.5" + resolved "https://registry.yarnpkg.com/json-diff/-/json-diff-0.5.5.tgz#24658ad200dbdd64ae8a56baf4d87b2b33d7196e" + integrity sha512-B2RSfPv8Y5iqm6/9aKC3cOhXPzjYupKDpGuqT5py9NRulL8J0UoB/zKXUo70xBsuxPcIFgtsGgEdXLrNp0GL7w== + dependencies: + cli-color "~0.1.6" + difflib "~0.2.1" + dreamopt "~0.6.0" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + +level-codec@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-10.0.0.tgz#f9e892770532c6cdcc83529546730791b0c62c12" + integrity sha512-QW3VteVNAp6c/LuV6nDjg7XDXx9XHK4abmQarxZmlRSDyXYk20UdaJTSX6yzVvQ4i0JyWSB7jert0DsyD/kk6g== + dependencies: + buffer "^6.0.3" + +level-concat-iterator@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz#5235b1f744bc34847ed65a50548aa88d22e881cf" + integrity sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ== + dependencies: + catering "^2.1.0" + +level-errors@^3.0.0, level-errors@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-3.0.1.tgz#4bed48a33108cd83b0e39fdf9bbd84e96fbbef9f" + integrity sha512-tqTL2DxzPDzpwl0iV5+rBCv65HWbHp6eutluHNcVIftKZlQN//b6GEnZDM2CvGZvzGYMwyPtYppYnydBQd2SMQ== + +level-iterator-stream@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-5.0.0.tgz#85b3438e1b4c54ce5aa8c0eb973cfb628117df9e" + integrity sha512-wnb1+o+CVFUDdiSMR/ZymE2prPs3cjVLlXuDeSq9Zb8o032XrabGEXcTCsBxprAtseO3qvFeGzh6406z9sOTRA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.4.0" + +level-js@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/level-js/-/level-js-6.1.0.tgz#982ee9e583fca801aa75689c041995d0e7aab4ef" + integrity sha512-i7mPtkZm68aewfv0FnIUWvFUFfoyzIvVKnUmuQGrelEkP72vSPTaA1SGneWWoCV5KZJG4wlzbJLp1WxVNGuc6A== + dependencies: + abstract-leveldown "^7.2.0" + buffer "^6.0.3" + inherits "^2.0.3" + ltgt "^2.1.2" + run-parallel-limit "^1.1.0" + +level-packager@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-6.0.1.tgz#46b521e63df7f9728543f6792c0a8fe967e679a0" + integrity sha512-8Ezr0XM6hmAwqX9uu8IGzGNkWz/9doyPA8Oo9/D7qcMI6meJC+XhIbNYHukJhIn8OGdlzQs/JPcL9B8lA2F6EQ== + dependencies: + encoding-down "^7.1.0" + levelup "^5.1.1" + +level-supports@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-2.1.0.tgz#9af908d853597ecd592293b2fad124375be79c5f" + integrity sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA== + +level-supports@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-4.0.1.tgz#431546f9d81f10ff0fea0e74533a0e875c08c66a" + integrity sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA== + +level-transcoder@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/level-transcoder/-/level-transcoder-1.0.1.tgz#f8cef5990c4f1283d4c86d949e73631b0bc8ba9c" + integrity sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w== + dependencies: + buffer "^6.0.3" + module-error "^1.0.1" + +level@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/level/-/level-7.0.1.tgz#05121748d95a4ff7355860d56eb5d0aa36faef2a" + integrity sha512-w3E64+ALx2eZf8RV5JL4kIcE0BFAvQscRYd1yU4YVqZN9RGTQxXSvH202xvK15yZwFFxRXe60f13LJjcJ//I4Q== + dependencies: + level-js "^6.1.0" + level-packager "^6.0.1" + leveldown "^6.1.0" + +level@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/level/-/level-8.0.1.tgz#737161db1bc317193aca4e7b6f436e7e1df64379" + integrity sha512-oPBGkheysuw7DmzFQYyFe8NAia5jFLAgEnkgWnK3OXAuJr8qFT+xBQIwokAZPME2bhPFzS8hlYcL16m8UZrtwQ== + dependencies: + abstract-level "^1.0.4" + browser-level "^1.0.1" + classic-level "^1.2.0" + +leveldown@^6.1.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-6.1.1.tgz#0f0e480fa88fd807abf94c33cb7e40966ea4b5ce" + integrity sha512-88c+E+Eizn4CkQOBHwqlCJaTNEjGpaEIikn1S+cINc5E9HEvJ77bqY4JY/HxT5u0caWqsc3P3DcFIKBI1vHt+A== + dependencies: + abstract-leveldown "^7.2.0" + napi-macros "~2.0.0" + node-gyp-build "^4.3.0" + +levelup@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-5.1.1.tgz#9f99699f414ac084a3f8a28fc262a1f49cd7a52c" + integrity sha512-0mFCcHcEebOwsQuk00WJwjLI6oCjbBuEYdh/RaRqhjnyVlzqf41T1NnDtCedumZ56qyIh8euLFDqV1KfzTAVhg== + dependencies: + catering "^2.0.0" + deferred-leveldown "^7.0.0" + level-errors "^3.0.1" + level-iterator-stream "^5.0.0" + level-supports "^2.0.1" + queue-microtask "^1.2.3" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + +loglevel@^1.6.8: + version "1.9.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.1.tgz#d63976ac9bcd03c7c873116d41c2a85bafff1be7" + integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +long@^5.0.0: + version "5.2.3" + resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" + integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== + +longbits@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/longbits/-/longbits-1.1.0.tgz#d6a7b2411dead1cf4b79ee4586816e65c7356ab9" + integrity sha512-22U2exkkYy7sr7nuQJYx2NEZ2kEMsC69+BxM5h8auLvkVIJa+LwAB5mFIExnuW2dFuYXFOWsFMKXjaWiq/htYQ== + dependencies: + byte-access "^1.0.1" + uint8arraylist "^2.0.0" + +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + +"lru-cache@7.10.1 - 7.13.1": + version "7.13.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4" + integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ== + +lru-cache@^10.0.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +ltgt@^2.1.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" + integrity sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== + +luxon@^3.2.1: + version "3.4.4" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.4.4.tgz#cf20dc27dc532ba41a169c43fdcc0063601577af" + integrity sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-options@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" + integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== + dependencies: + is-plain-obj "^2.1.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +mini-queue@0.0.14: + version "0.0.14" + resolved "https://registry.yarnpkg.com/mini-queue/-/mini-queue-0.0.14.tgz#83d2f3f908e3cac5390bd986d1e6fbbfa0d95b93" + integrity sha512-DNh9Wn8U1jrmn1yVfpviwClyER/Y4ltgGbG+LF/KIdKJ8BEo2Q9jDDPG7tEhz6F/DTZ/ohv5D7AAXFVSFyP05Q== + dependencies: + debug "^3.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +"minimatch@2 || 3", minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mkdirp@~0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mocha@^8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" + integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.1" + debug "4.3.1" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "4.0.0" + log-symbols "4.0.0" + minimatch "3.0.4" + ms "2.1.3" + nanoid "3.1.20" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.1.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +module-error@^1.0.1, module-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/module-error/-/module-error-1.0.2.tgz#8d1a48897ca883f47a45816d4fb3e3c6ba404d86" + integrity sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA== + +mokka@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/mokka/-/mokka-1.4.2.tgz#b0d7117e216672ff2deda6ef2212bcfa0edb8114" + integrity sha512-Vgki/Fr9fqUMZzChGC1yH64AQg+qkMdZZe3xKrTwYBVGEuq8j2GdnDg8voYXwWl+MLfNzWBnNiejq2xZ8PmojA== + dependencies: + bn.js "^5.2.0" + elliptic "^6.5.4" + +moment@^2.19.3: + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + +mortice@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/mortice/-/mortice-3.0.4.tgz#34aadef768161e9dc49a7f73637b7858bcb7c6fa" + integrity sha512-MUHRCAztSl4v/dAmK8vbYi5u1n9NZtQu4H3FsqS7qgMFQIAFw9lTpHiErd9kJpapqmvEdD1L3dUmiikifAvLsQ== + dependencies: + observable-webworkers "^2.0.1" + p-queue "^8.0.1" + p-timeout "^6.0.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multiaddr-to-uri@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz#65efe4b1f9de5f6b681aa42ff36a7c8db7625e58" + integrity sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA== + dependencies: + multiaddr "^10.0.0" + +multiaddr@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-10.0.1.tgz#0d15848871370860a4d266bb44d93b3dac5d90ef" + integrity sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg== + dependencies: + dns-over-http-resolver "^1.2.3" + err-code "^3.0.1" + is-ip "^3.1.0" + multiformats "^9.4.5" + uint8arrays "^3.0.0" + varint "^6.0.0" + +multiformats@^11.0.0, multiformats@^11.0.2: + version "11.0.2" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-11.0.2.tgz#b14735efc42cd8581e73895e66bebb9752151b60" + integrity sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg== + +multiformats@^12.0.1: + version "12.1.3" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-12.1.3.tgz#cbf7a9861e11e74f8228b21376088cb43ba8754e" + integrity sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw== + +multiformats@^13.0.0, multiformats@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-13.1.0.tgz#5aa9d2175108a448fc3bdb54ba8a3d0b6cab3ac3" + integrity sha512-HzdtdBwxsIkzpeXzhQ5mAhhuxcHbjEHH+JQoxt7hG/2HGFjjwyolLo7hbaexcnhoEuV4e0TNJ8kkpMjiEYY4VQ== + +multiformats@^9.0.2, multiformats@^9.4.2, multiformats@^9.4.5, multiformats@^9.4.8, multiformats@^9.5.1, multiformats@^9.5.4: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + +mv@~2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" + integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== + dependencies: + mkdirp "~0.5.1" + ncp "~2.0.0" + rimraf "~2.4.0" + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.14.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" + integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== + +nanoid@3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== + +nanoid@^3.0.2, nanoid@^3.1.20, nanoid@^3.1.23: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +nanoid@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-4.0.2.tgz#140b3c5003959adbebf521c170f282c5e7f9fb9e" + integrity sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw== + +napi-macros@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.2.2.tgz#817fef20c3e0e40a963fbf7b37d1600bd0201044" + integrity sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g== + +napi-macros@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" + integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== + +native-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-3.0.0.tgz#06ccdd70e79e171c365c75117959cf4fe14a09bb" + integrity sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw== + +native-fetch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-4.0.2.tgz#75c8a44c5f3bb021713e5e24f2846750883e49af" + integrity sha512-4QcVlKFtv2EYVS5MBgsGX5+NWKtbDbIECdUXDBGDMAZXq3Jkv9zf+y8iS7Ub8fEdga3GpYeazp9gauNqXHJOCg== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +ncp@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" + integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + +node-abort-controller@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-fetch@^2.6.12, node-fetch@^2.6.7, node-fetch@^2.6.8: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1.1.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp-build@^4.3.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" + integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== + +noms@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" + integrity sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== + dependencies: + inherits "^2.0.1" + readable-stream "~1.0.31" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4, object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.fromentries@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.groupby@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.2.tgz#494800ff5bab78fd0eff2835ec859066e00192ec" + integrity sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw== + dependencies: + array.prototype.filter "^1.0.3" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.0.0" + +object.values@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +observable-webworkers@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/observable-webworkers/-/observable-webworkers-2.0.1.tgz#7d9086ebc567bd318b46ba0506b10cedf3813878" + integrity sha512-JI1vB0u3pZjoQKOK1ROWzp0ygxSi7Yb0iR+7UNsw4/Zn4cQ0P3R7XL38zac/Dy2tEA7Lg88/wIJTjF8vYXZ0uw== + +omit-deep@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/omit-deep/-/omit-deep-0.3.0.tgz#21c8af3499bcadd29651a232cbcacbc52445ebec" + integrity sha512-Lbl/Ma59sss2b15DpnWnGmECBRL8cRl/PjPbPMVW+Y8zIQzRrwMaI65Oy6HvxyhYeILVKBJb2LWeG81bj5zbMg== + dependencies: + is-plain-object "^2.0.1" + unset-value "^0.1.1" + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +optimism@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" + integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== + dependencies: + "@wry/caches" "^1.0.0" + "@wry/context" "^0.7.0" + "@wry/trie" "^0.4.3" + tslib "^2.3.0" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +p-defer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" + integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== + +p-defer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-4.0.0.tgz#8082770aeeb10eb6b408abe91866738741ddd5d2" + integrity sha512-Vb3QRvQ0Y5XnF40ZUWW7JfLogicVh/EnA5gBIvKDJoYpeI82+1E3AlB9yOcKFS0AhHrWVnAQO39fbR0G99IVEQ== + +p-event@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-5.0.1.tgz#614624ec02ae7f4f13d09a721c90586184af5b0c" + integrity sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ== + dependencies: + p-timeout "^5.0.2" + +p-fifo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-fifo/-/p-fifo-1.0.0.tgz#e29d5cf17c239ba87f51dde98c1d26a9cfe20a63" + integrity sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A== + dependencies: + fast-fifo "^1.0.0" + p-defer "^3.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-queue@^7.2.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-7.4.1.tgz#7f86f853048beca8272abdbb7cec1ed2afc0f265" + integrity sha512-vRpMXmIkYF2/1hLBKisKeVYJZ8S2tZ0zEAmIJgdVKP2nq0nh4qCdf8bgw+ZgKrkh71AOCaqzwbJJk1WtdcF3VA== + dependencies: + eventemitter3 "^5.0.1" + p-timeout "^5.0.2" + +p-queue@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-8.0.1.tgz#718b7f83836922ef213ddec263ff4223ce70bef8" + integrity sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== + dependencies: + eventemitter3 "^5.0.1" + p-timeout "^6.1.2" + +p-reflect@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-reflect/-/p-reflect-3.1.0.tgz#bba22747439b5fc50a7f626e8e909dc9b888218d" + integrity sha512-3sG3UlpisPSaX+o7u2q01hIQmrpkvdl5GSO1ZwL7pfc5kHB2bPF0eFNCfYTrW1/LTUdgmPwBAvmT0Zr8eSmaAQ== + +p-settle@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/p-settle/-/p-settle-5.1.1.tgz#9300778f896d5c01e4361b8ab45d003548574c3e" + integrity sha512-VLgSBpA71aMncPVP5Es4nhQYxcxN0lit8hGlobJke8YTAhtwdRDu/s4KePP5gCT5LFfZty3qosBFYMgD5rFpCg== + dependencies: + p-limit "^4.0.0" + p-reflect "^3.1.0" + +p-timeout@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-5.1.0.tgz#b3c691cf4415138ce2d9cfe071dba11f0fee085b" + integrity sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew== + +p-timeout@^6.0.0, p-timeout@^6.1.1, p-timeout@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-6.1.2.tgz#22b8d8a78abf5e103030211c5fc6dee1166a6aa5" + integrity sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== + +packet-reader@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74" + integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parent-require@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parent-require/-/parent-require-1.0.0.tgz#746a167638083a860b0eef6732cb27ed46c32977" + integrity sha512-2MXDNZC4aXdkkap+rBBMv0lUsfJqvX5/2FiYYnfCnorZt3Pk06/IOR5KeaoghgS2w07MLWgjbsnyaq6PdHn2LQ== + +parse-duration@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/parse-duration/-/parse-duration-1.1.0.tgz#5192084c5d8f2a3fd676d04a451dbd2e05a1819c" + integrity sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ== + +parse5-htmlparser2-tree-adapter@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseurl@^1.3.3, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pg-boss@^6.1.0: + version "6.2.2" + resolved "https://registry.yarnpkg.com/pg-boss/-/pg-boss-6.2.2.tgz#b33b6c99e53bcec201cc36bbaac69ebb6c09adf1" + integrity sha512-WA4cHCmN4RTOS7uCrGQ8n+Cc88tsgZXrp4U/iGUehgl2XcawSo2L5rm5bFvqX8YFcmrdsl8sh7ZDeKPWAAvOIQ== + dependencies: + cron-parser "^4.0.0" + delay "^5.0.0" + lodash.debounce "^4.0.8" + p-map "^4.0.0" + pg "^8.5.1" + uuid "^8.3.2" + +pg-cloudflare@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz#e6d5833015b170e23ae819e8c5d7eaedb472ca98" + integrity sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== + +pg-connection-string@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.6.2.tgz#713d82053de4e2bd166fab70cd4f26ad36aab475" + integrity sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== + +pg-int8@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" + integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== + +pg-pool@^3.6.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.6.1.tgz#5a902eda79a8d7e3c928b77abf776b3cb7d351f7" + integrity sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og== + +pg-protocol@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.6.0.tgz#4c91613c0315349363af2084608db843502f8833" + integrity sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q== + +pg-types@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" + integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== + dependencies: + pg-int8 "1.0.1" + postgres-array "~2.0.0" + postgres-bytea "~1.0.0" + postgres-date "~1.0.4" + postgres-interval "^1.1.0" + +pg@^8.5.1: + version "8.11.3" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.11.3.tgz#d7db6e3fe268fcedd65b8e4599cda0b8b4bf76cb" + integrity sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g== + dependencies: + buffer-writer "2.0.0" + packet-reader "1.0.0" + pg-connection-string "^2.6.2" + pg-pool "^3.6.1" + pg-protocol "^1.6.0" + pg-types "^2.1.0" + pgpass "1.x" + optionalDependencies: + pg-cloudflare "^1.1.1" + +pgpass@1.x: + version "1.0.5" + resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.5.tgz#9b873e4a564bb10fa7a7dbd55312728d422a223d" + integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== + dependencies: + split2 "^4.1.0" + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +platform@^1.3.3: + version "1.3.6" + resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" + integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== + +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +postgres-array@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" + integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== + +postgres-bytea@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" + integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== + +postgres-date@~1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz#51bc086006005e5061c591cee727f2531bf641a8" + integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== + +postgres-interval@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" + integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== + dependencies: + xtend "^4.0.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +private-ip@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/private-ip/-/private-ip-3.0.2.tgz#1daf6052ee5cee53238616a377d6be180e9490ef" + integrity sha512-2pkOVPGYD/4QyAg95c6E/4bLYXPthT5Xw4ocXYzIIsMBhskOMn6IwkWXmg6ZiA6K58+O6VD/n02r1hDhk7vDPw== + dependencies: + "@chainsafe/is-ip" "^2.0.1" + ip-regex "^5.0.0" + ipaddr.js "^2.1.0" + netmask "^2.0.2" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress-events@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/progress-events/-/progress-events-1.0.0.tgz#34f5e8fdb5dae3561837b22672d1e02277bb2109" + integrity sha512-zIB6QDrSbPfRg+33FZalluFIowkbV5Xh1xSuetjG+rlC5he6u2dc6VQJ0TbMdlN3R1RHdpOqxEFMKTnQ+itUwA== + +prom-client@^14.0.1: + version "14.2.0" + resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-14.2.0.tgz#ca94504e64156f6506574c25fb1c34df7812cf11" + integrity sha512-sF308EhTenb/pDRPakm+WgiN+VdM/T1RaHj1x+MvAuT8UiQP8JmOEbxVqtkbfR4LrvOg5n7ic01kRBDGXjYikA== + dependencies: + tdigest "^0.1.1" + +promjs@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/promjs/-/promjs-0.4.2.tgz#9c2b4a60e00c1a0ecb69a3c1c322d1cfb47a300d" + integrity sha512-qvHcTU9xwEieFOf2Qnf5JYPKkdJU2lRbJfJvJspw6XpnoH7VPmNfnJJnOLPfN8ODJMBLRt8wEPVjxyyn0Or6RQ== + +prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +protobufjs@^6.10.2, protobufjs@^6.11.2: + version "6.11.4" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" + integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" ">=13.7.0" + long "^4.0.0" + +protobufjs@^7.0.0: + version "7.2.6" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.6.tgz#4a0ccd79eb292717aacf07530a07e0ed20278215" + integrity sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + +protons-runtime@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/protons-runtime/-/protons-runtime-4.0.2.tgz#a5670e703a5389dccb3700b583532e3316efcb94" + integrity sha512-R4N6qKHgz8T2Gl45CTcZfITzXPQY9ym8lbLb4VyFMS4ag1KusCRZwkQXTBRhxQ+93ck3K3aDhK1wIk98AMtNyw== + dependencies: + protobufjs "^7.0.0" + uint8arraylist "^2.4.3" + +protons-runtime@^5.0.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/protons-runtime/-/protons-runtime-5.4.0.tgz#2751ce22cae6c35eebba89acfd9d783419ae3726" + integrity sha512-XfA++W/WlQOSyjUyuF5lgYBfXZUEMP01Oh1C2dSwZAlF2e/ZrMRPfWonXj6BGM+o8Xciv7w0tsRMKYwYEuQvaw== + dependencies: + uint8-varint "^2.0.2" + uint8arraylist "^2.4.3" + uint8arrays "^5.0.1" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +queue-microtask@^1.2.2, queue-microtask@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +race-signal@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/race-signal/-/race-signal-1.0.2.tgz#e42379fba0cec4ee8dab7c9bbbd4aa6e0d14c25f" + integrity sha512-o3xNv0iTcIDQCXFlF6fPAMEBRjFxssgGoRqLbg06m+AdzEXXLUmoNOoUHTVz2NoBI8hHwKFKoC6IqyNtWr2bww== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +rate-limiter-flexible@^2.3.11, rate-limiter-flexible@^2.3.9: + version "2.4.2" + resolved "https://registry.yarnpkg.com/rate-limiter-flexible/-/rate-limiter-flexible-2.4.2.tgz#2a219cc473f015142fd8fb599371223d730decbd" + integrity sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-native-fetch-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz#81e1bb6562c292521bc4eca52fe1097f4c1ebab5" + integrity sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA== + dependencies: + p-defer "^3.0.0" + +readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~1.0.31: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +receptacle@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/receptacle/-/receptacle-1.3.2.tgz#a7994c7efafc7a01d0e2041839dab6c4951360d2" + integrity sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A== + dependencies: + ms "^2.1.1" + +reflect-metadata@^0.1.13: + version "0.1.14" + resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.14.tgz#24cf721fe60677146bb77eeb0e1f9dece3d65859" + integrity sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A== + +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +regexpp@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +rehackt@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.0.6.tgz#7a0a2247f2295e7548915417e44fbbf03bf004f4" + integrity sha512-l3WEzkt4ntlEc/IB3/mF6SRgNHA6zfQR7BlGOgBTOmx7IJJXojDASav+NsgXHFjHn+6RmwqsGPFgZpabWpeOdw== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.1, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +response-iterator@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" + integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== + +retimer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/retimer/-/retimer-3.0.0.tgz#98b751b1feaf1af13eb0228f8ea68b8f9da530df" + integrity sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA== + +retry@0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rimraf@~2.4.0: + version "2.4.5" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" + integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ== + dependencies: + glob "^6.0.1" + +run-parallel-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz#be80e936f5768623a38a963262d6bef8ff11e7ba" + integrity sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw== + dependencies: + queue-microtask "^1.2.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-array-concat@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-json-stringify@~1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" + integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize-filename@^1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + dependencies: + truncate-utf8-bytes "^1.0.0" + +sax@>=0.6.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + +scrypt-js@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +semver@^6.1.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.7: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-delayed-interval@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-delayed-interval/-/set-delayed-interval-1.0.0.tgz#1f7c065780a365f10250f8a80e2be10175ea0388" + integrity sha512-29fhAwuZlLcuBnW/EwxvLcg2D3ELX+VBDNhnavs3YYkab72qmrcSeQNVdzl8EcPPahGQXhBM6MKdPLCQGMDakw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +split2@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +sprintf-js@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +stream-to-it@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/stream-to-it/-/stream-to-it-0.2.4.tgz#d2fd7bfbd4a899b4c0d6a7e6a533723af5749bd0" + integrity sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ== + dependencies: + get-iterator "^1.0.2" + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-json-comments@3.1.1, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +symbol-observable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== + +tdigest@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.2.tgz#96c64bac4ff10746b910b0e23b515794e12faced" + integrity sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA== + dependencies: + bintrees "1.0.2" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +through2@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +timeout-abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz#dd57ffca041652c03769904f8d95afd93fb95595" + integrity sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA== + dependencies: + retimer "^3.0.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +toml@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" + integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +truncate-utf8-bytes@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== + dependencies: + utf8-byte-length "^1.0.1" + +ts-essentials@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" + integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== + +ts-invariant@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" + integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== + dependencies: + tslib "^2.1.0" + +ts-node@^10.2.1: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@^4.0.0, type-detect@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.5.tgz#57d44da160296d8663fd63180a1802ebf25905d5" + integrity sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typeorm-naming-strategies@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/typeorm-naming-strategies/-/typeorm-naming-strategies-2.0.0.tgz#c7c10bc768ddce2592ef9ad4d2dca55fd5fa6ad6" + integrity sha512-nsJ5jDjhBBEG6olFmxojkO4yrW7hEv38sH7ZXWWx9wnDoo9uaoH/mo2mBYAh/VKgwoFHBLu+CYxGmzXz2GUMcA== + +typeorm@0.2.37: + version "0.2.37" + resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.2.37.tgz#1a5e59216077640694d27c04c99ed3f968d15dc8" + integrity sha512-7rkW0yCgFC24I5T0f3S/twmLSuccPh1SQmxET/oDWn2sSDVzbyWdnItSdKy27CdJGTlKHYtUVeOcMYw5LRsXVw== + dependencies: + "@sqltools/formatter" "^1.2.2" + app-root-path "^3.0.0" + buffer "^6.0.3" + chalk "^4.1.0" + cli-highlight "^2.1.11" + debug "^4.3.1" + dotenv "^8.2.0" + glob "^7.1.6" + js-yaml "^4.0.0" + mkdirp "^1.0.4" + reflect-metadata "^0.1.13" + sha.js "^2.4.11" + tslib "^2.1.0" + xml2js "^0.4.23" + yargonaut "^1.1.4" + yargs "^17.0.1" + zen-observable-ts "^1.0.0" + +typescript@^5.0.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" + integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== + +uint8-varint@^1.0.1, uint8-varint@^1.0.2, uint8-varint@^1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/uint8-varint/-/uint8-varint-1.0.8.tgz#3f6c268e4c1a1ece232f660ec37729faca7cc7d0" + integrity sha512-QS03THS87Wlc0fBCC3xP5sqScDwfvVZLUrTCeMAQbQxQUWJosPC7C8uTNhpVUEgpTbV1Ut2Fer9Se3kI1KbnlQ== + dependencies: + byte-access "^1.0.0" + longbits "^1.1.0" + uint8arraylist "^2.0.0" + uint8arrays "^4.0.2" + +uint8-varint@^2.0.1, uint8-varint@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/uint8-varint/-/uint8-varint-2.0.4.tgz#85be52b3849eb30f2c3640a2df8a14364180affb" + integrity sha512-FwpTa7ZGA/f/EssWAb5/YV6pHgVF1fViKdW8cWaEarjB8t7NyofSWBdOTyFPaGuUG4gx3v1O3PQ8etsiOs3lcw== + dependencies: + uint8arraylist "^2.0.0" + uint8arrays "^5.0.0" + +uint8arraylist@^2.0.0, uint8arraylist@^2.1.0, uint8arraylist@^2.1.1, uint8arraylist@^2.1.2, uint8arraylist@^2.3.1, uint8arraylist@^2.3.2, uint8arraylist@^2.4.1, uint8arraylist@^2.4.3, uint8arraylist@^2.4.8: + version "2.4.8" + resolved "https://registry.yarnpkg.com/uint8arraylist/-/uint8arraylist-2.4.8.tgz#5a4d17f4defd77799cb38e93fd5db0f0dceddc12" + integrity sha512-vc1PlGOzglLF0eae1M8mLRTBivsvrGsdmJ5RbK3e+QRvRLOZfZhQROTwH/OfyF3+ZVUg9/8hE8bmKP2CvP9quQ== + dependencies: + uint8arrays "^5.0.1" + +uint8arrays@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== + dependencies: + multiformats "^9.4.2" + +uint8arrays@^4.0.2, uint8arrays@^4.0.3, uint8arrays@^4.0.6: + version "4.0.10" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-4.0.10.tgz#3ec5cde3348903c140e87532fc53f46b8f2e921f" + integrity sha512-AnJNUGGDJAgFw/eWu/Xb9zrVKEGlwJJCaeInlf3BkecE/zcTobk5YXYIPNQJO1q5Hh1QZrQQHf0JvcHqz2hqoA== + dependencies: + multiformats "^12.0.1" + +uint8arrays@^5.0.0, uint8arrays@^5.0.1, uint8arrays@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-5.0.3.tgz#92b894d9c4269ba97c51544d6e1f279fe6f80d1f" + integrity sha512-6LBuKji28kHjgPJMkQ6GDaBb1lRwIhyOYq6pDGwYMoDPfImE9SkuYENVmR0yu9yGgs2clHUSY9fKDukR+AXfqQ== + dependencies: + multiformats "^13.0.0" + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +undici@^5.12.0: + version "5.28.3" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.3.tgz#a731e0eff2c3fcfd41c1169a869062be222d1e5b" + integrity sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA== + dependencies: + "@fastify/busboy" "^2.0.0" + +unique-names-generator@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/unique-names-generator/-/unique-names-generator-4.7.1.tgz#966407b12ba97f618928f77322cfac8c80df5597" + integrity sha512-lMx9dX+KRmG8sq6gulYYpKWZc9RlGsgBR6aoO8Qsm3qvkSJ+3rAymr+TnV8EDMrIrwuFJ4kruzMWM/OpYzPoow== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +unset-value@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-0.1.2.tgz#506810b867f27c2a5a6e9b04833631f6de58d310" + integrity sha512-yhv5I4TsldLdE3UcVQn0hD2T5sNCPv4+qm/CTUpRKIpwthYRIipsAPdsrNpOI79hPQa0rTTeW22Fq6JWRcTgNg== + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +utf8-byte-length@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" + integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.5: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +value-or-promise@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140" + integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg== + +value-or-promise@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" + integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== + +varint@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" + integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +wherearewe@^2.0.0, wherearewe@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wherearewe/-/wherearewe-2.0.1.tgz#37c97a7bf112dca8db34bfefb2f6c997af312bb8" + integrity sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw== + dependencies: + is-electron "^2.2.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-typed-array@^1.1.14, which-typed-array@^1.1.2: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + +which@2.0.2, which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +wordwrap@>=0.0.2: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +workerpool@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" + integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +ws@^8.11.0, ws@^8.12.1, ws@^8.4.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +xml2js@^0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xml2js@^0.6.0, xml2js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.6.2.tgz#dd0b630083aa09c161e25a4d0901e2b2a929b499" + integrity sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +xsalsa20@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/xsalsa20/-/xsalsa20-1.2.0.tgz#e5a05cb26f8cef723f94a559102ed50c1b44c25c" + integrity sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w== + +xss@^1.0.8: + version "1.0.15" + resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.15.tgz#96a0e13886f0661063028b410ed1b18670f4e59a" + integrity sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg== + dependencies: + commander "^2.20.3" + cssfilter "0.0.10" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargonaut@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/yargonaut/-/yargonaut-1.1.4.tgz#c64f56432c7465271221f53f5cc517890c3d6e0c" + integrity sha512-rHgFmbgXAAzl+1nngqOcwEljqHGG9uUZoPjsdZEs1w5JW9RXYzrSvH/u70C1JE5qFi0qjsdhnUX/dJRpWqitSA== + dependencies: + chalk "^1.1.1" + figlet "^1.1.1" + parent-require "^1.0.0" + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0, yargs@^16.0.0, yargs@^16.1.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.0.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zen-observable-ts@^1.0.0, zen-observable-ts@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz#2d1aa9d79b87058e9b75698b92791c1838551f83" + integrity sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA== + dependencies: + "@types/zen-observable" "0.8.3" + zen-observable "0.8.15" + +zen-observable-ts@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" + integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== + dependencies: + zen-observable "0.8.15" + +zen-observable@0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==